WS2812 level translator

Posted on Wednesday, May 14th, 2014 in how-to by DP


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 on Wednesday, May 14th, 2014 at 9:21 pm and is filed under how-to. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

2 Responses to “WS2812 level translator”

  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 Reply

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

Recent Comments