Testing level shifters for running Adafruit NeoPixel strips from a 3.3 Volt Teensy

If you’re running NeoPixel LED strips off a Teensy 3, maybe because you want to put 180 LEDs on a hat, then you need a level shifter. But which one? The NeoPixel data protocol is high speed and pretty harsh on timing requirements and I’ve had a bugger of a time getting reliable data from the Teensy to these strips. Hence I’ve tested a bunch of shifters. I tried a TXS-0102, TXB-0108, 74HCT245, PCA9306, and a MOSFET based shifter.

The Teensy outputs data at 3.3 Volt, the strips expect 5 Volts. Or rather, the strips might see 3.3 Volts as a digital 1 or they might not. If you want some reliability, then you’re better off shifting the Voltage level up to 5.

Each LED reads the data it needs and passes on the rest, regenerating the signal to nice square pulses, so there is no decline in signal quality along the strip. Well, that’s the theory. In reality, all sorts of weird failure modes can happen.

Anyway, short conclusion from this testing is: use a TXS-0102 shifter if you’re tight on space and running one or two strips, use a 74HCT245 if you’re not or you are running three to eight strips. The 74HCT245 was the only shifter to give perfect performance, everything else had some kind of problem.

Test results and scope pics

180 LED Hat for Kiwiburn

Here’s details on my Kiwiburn project – a hat with 180 LEDs, all individually controlled… but to be honest, this was my project for Circulation, back in November. Getting it built was easy, getting it to work took quite some time, but I learnt a great deal. So here’s my design for a portable driver for the NeoPixel LED strips.

Why do this? Before making the next Mitochondrion, it was time to learn some new technologies.

The Mitochondrion Mark 4 (my glowstaff) is not too bad – 88 LEDs controlled by an Arduino Nano. However, it might be pretty but it isn’t responsive or interactive. It just splatters photons everywhere, generating randomly-chosen patterns.

I want more than just random brightly coloured lights. I want emotion, narrative depth, and engagement. That requires a far gruntier microcontroller than an 8-bit Arduino. Something like a Teensy 3.0 – ARM Cortex, 32 bit, about fifty times faster, lots more memory, and only 18 mm wide. And LED technology marches ever on, with Adafruit’s Neopixel strips being a big step up. And all of that is pushing me to use lithium batteries, even if they take more looking after than NiMH.

Thus it’s time to step up my technological game for the Mitochondrion Mark 5. The Hat seemed like a simple project that I could use for learning these new technologies – how to use them and what to use them for. Now that the Hat is working, I’m glad I took this step, because trying to get all this to work for the first time in the Mark 5 would be a bugger. Continue reading “180 LED Hat for Kiwiburn”

Making firewood easier

We can grow maybe a third of the firewood we need on the land we have. Which is nice.

Obviously, the supply for each year depends upon which trees we’ll be trimming or felling. This spring, we got Joe in to trim back the big pohutukawa as it was overhanging the house and blocking the sun. That gave us a year’s worth of wood all by itself.

That’s a lot of bucking and splitting and stacking to do, maybe three cubes? I’m in favour of making this easier and safer, hence my three recommendations for firewood processing: the old car tyre, the bucking stand, and the maul handle protector. Continue reading “Making firewood easier”