A wrong way to level covert RGB pixels (WS28xx/neopixel/API102/Dotstar)

Status
Not open for further replies.

GremlinWrangler

Well-known member
Have had a couple of throw together projects recently where I needed to have a 3.3V Teensy control various LED strips that really need logic at greater than about 3.5V to work reliably, as experienced by many. Right answer is a high speed level converter like the 74LV1T125 like used on the LC or the 74AHCT1G used in the prop shield. Being in a hurry I tried an alternate solution, placing a single pixel first in the chain and having it powered through two diodes, one on the supply side and one on the return as a sacrificial level converter.

This has the pixel operating on approximately 4V, offset 0.5V up from the gnd used by the rest of the circuit. This seems to give a reasonable half way level that allows it to reliably read the 0/3.3V logic out of the Teensy and outputing a signal swinging 0.5V to 4.5V, enough for a normal 5V powered pixel to read. The colour is out of balance due the weaker blue from 4V so normally hide it inside the project and use it as a red/green debug status indicator and start the actual display values from pixel1.

Exact diode types don't matter as long as they can carry enough current to power a pixel, and have a forward voltage of about 0.5V, so works reasonably well from any parts in the bits bag. Lashup will be more prone to interference, and applying -0.5V to the Din of that first pixel is not a good idea but so far neither of the two projects that are still together have failed, and works for both SPI and WS2812 spec signals.

Lots of things wrong with this if done in a product, but if you have the parts on the bench and just want to get on with what you are building on your Sunday afternoon seems to be an option.
PixelsAsLevelConverter.jpg
 
Last edited:
Status
Not open for further replies.
Back
Top