Hacker News new | past | comments | ask | show | jobs | submit login

As for voltage difference between controller and lights, you can sacrifice the first led and power it at 3.3v and power the remaining ones from a second power supply. The first led will be a little dimmer than he rest but this setup has been very stable in my tests.



At that point I'd just grab a heavy resistor of the appropriate value and wire the controller down rather than accept a dead pixel in my line.

Usually this is a problem for 12V LED lines with 3V3 microcontroller like the ESP32.


How does that work? Do I understand correctly that you connect the first led to a esp32 (+3V, onewire, GND) and then connect +12V and GND to the second led?

I wonder why it wouldn’t work if you connect +12V on the first led?


The LEDs in the article are WS2812B LEDs that operate at 5v rather than 12v. 5v is a slightly more "normal" LED voltage, 12v strips are usually going little tricks like have 3 or LEDs in series and using that to get the required 12v drop.

With the WS2812B you're issue is that they operate on 5v logic for communications. 3v logic from a chip can _just about_ communicate with 5v devices. But you can't send the signal very far before the voltage drop stops communication. The cheat here is to use a single WS2812B LED as logic voltage converter. You put a resistor in line so it's operating at ~4v, give it a 3v logic signal it can understand, and it'll then talk down stream using ~4v logic, which you can then pump into normal 5v LEDs.

You can find detail of this little trick on hackaday[1]. But it's specific to WS2812B type LEDs that are really microcontrollers that happen to also put out light, rather than traditional dumb LEDs that have no smarts.

[1] https://hackaday.com/2017/01/20/cheating-at-5v-ws2812-contro...


IME, you can use 3.3V logic with 5V WS2812B/SK6812 strips, no trouble.

Each LED reforms the signal before sending it to the next LED in the chain, so voltage dropping over distance shouldn't a huge issue for the logic line unless the strip is very far away from the controller.

And the datasheet almost agrees with my experience; the "high" voltage threshold is listed as 0.7×VDD, and 0.7×5=3.5V. That's a bit over 3.3V, but I haven't had any issues across several projects. Maybe it's because many USB supplies provide a little over 5V to account for droop? Maybe the datasheet is slightly pessimistic? Maybe 0.7 really means 2/3? Whatever the reason, it simplifies the wiring for small displays.

Here's my favorite reference for the single-wire protocol that these LEDs use, since everyone seems to be chiming in with one:

https://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-f...


I think maybe folks got the model number confused. There are strips where the entire signal is passed verbatim without being reformed to every package on the line, but everyone stopped using them because they're awful.

In my experience, slow microprocessors are WAY more tricky to deal with than a 3V3 logic voltage for these strips; and often lead to crazy hacks. I'd way rather just put a modestly powerful resistor or a buck converter in my project than deal with trashy old Atmel chips, given how absurdly cheap ESP32 and ARM M7 packages are.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: