Categories

WS2812 level translator

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

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 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

  • Sjaak: In theory the buspirate can also do SWD or JTAG as it just wiggling some pins. I dunno if the speed and memory is sufficient...
  • Drone: Aw, how-come Bus-Pirate can't do all this too?
  • Siddharth: Grate
  • jeanmarc78: hello
  • KH: So I guess, don't mind us dinosaurs too much. Someone like me will get triggered by some of the things Arduino folks do. There's just...