Octows2811 adapter - unused pins are floating?


Well-known member
I've been looking at the OcotWS2811 schematic and OctoWS2811::begin(void) code in OctoWS2811_imxrt.cpp, and there is something that is puzzling me. As far as I can tell from the 74HCT245 data sheet (section 11.2 on page 12), any unused inputs and outputs on the 74HCT245 should be terminated to ground. I can't however see how that is happening on the OctoWS2811 adapter, either in the hardware schematic or via code, and I haven't been able to find any discussion about this in the documentation of forums (apologies if I have missed it!). Is this something that doesn't really matter, or is best practice to ground the unused RJ45 wires and also set the unused pins low in code?
Normally this isn't an issue, because the OctoWS2811 library is used which drives all 8 74HCT245 input pins, and because the OE pin is wired so the outputs don't tri-state.

If for some reason you didn't use certain inputs (eg, with the OctoWS2811 library Teensy 4 pinlist feature) and you didn't have other libraries or code in use which controls those pins (the only likely reason you'd go to the trouble to use pinlist), then yes, best practice would be to configure those unused pins as either outputs, or inputs with pullup or pulldown resistors. But even then, if you happen to leave one of the 74HCT245 input pins floating, and if you're unluck enough that it happens to float to around 1.5 volts, the consequence is just a few milliamps of extra current consumption and random behavior on the corresponding output pin, which presumably is also unused. Not best practice, but not terrible either.
I see, thanks for the clear and detailed explanation Paul, that's really helpful.

> eg, with the OctoWS2811 library Teensy 4 pinlist feature

Funnily enough that is exactly what led me to this. I've been playing around with this code and also considering making my own circuit with two 74HCT245 chips so I can drive up to 16 channels, which is what made me start to wonder about any unused channels. Thanks for clearing it up for me.