WS2812 level translator

in how-to by DP | 2 comments

ws2812_level_translator_schematic

Bogdan of Electro Bob wrote an article on using the WS2812 level translator:

Although the data sheet states that you would need at least 3.5V for them to recognize as HIGH level(70% of 5V), many seem to have no problem being driven from a 3.3V micro. With the signal regeneration that each does, it is only a problem for the first one in the chain. But, as I found out, some LEDs simply don’t work as the first device, and to be safe it is best to use a level translator. Unless you completely forget about it and find yourself in need of driving a display with WS2812 which does not like 3.3V signals.
Luckily there is a simple solution with parts that you have available: just another WS2812 LED (or two) and a diode. The trick is to power the first LED in the chain from 5V via a diode dropping its supply to 4.3V*. At this level the 3.3V signal from the microcontroller is within specifications to be recognized as a high level. As each LED does signal regeneration the output of the first LED will be at a 4.3V level which is in specification for the next LED powered at 5V…

This entry was posted in how-to and tagged , , .

Comments

  1. rocketdawg says:

    That is a pretty slick solution. I was thinking of using a real dual supply level shifter, but a diode is much cheaper and “an elegant solution for a more civilized age”

  2. Jan Rychter says:

    Nice trick! Although — a single non-inverting buffer like the M74VHC1GT126 can cost about as much as a generic 1N4004 diode, and provides a robust and stable solution.

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.