1
\$\begingroup\$

Over Christmas I started thinking of putting together some nice lighting for the house. The main element I'm thinking of is a strip of LEDs that are individually addressable. The only ways I can think of to achieve this without running to many wires tend to get expensive quickly (> 1 euro per LED). Since I also don't really know what to search for, I figured I might ask for pointers here.

In summary, what I am looking for is a communication bus protocol that can address approximately 50 nodes (the LEDs) and that can be implemented with very cheap electronics (<1 euro per node). Each node only needs one bit of data (LED on or off), but more would be handy e.g. to set the intensity. I think my best bet is some sort of master-slave configuration in which case the master is allowed to be more expensive, let's say an Arduino. Is it possible to build such a network and where should I start looking?

\$\endgroup\$
  • 3
    \$\begingroup\$ Ws2812 led strips are addressable; official ones from eg Adafruit or cheap ones from the usual Chinese sites. \$\endgroup\$ – pjc50 Jan 5 '17 at 9:15
  • \$\begingroup\$ Example addressable RGB strip <1eur: aliexpress.com/item/… \$\endgroup\$ – Robus Jan 5 '17 at 9:16
  • \$\begingroup\$ Do all the LED strips share a common pair of power wires? This is important to establish and think about. If, at some later time you decide that this is not convenient it alters things significantly. \$\endgroup\$ – Andy aka Jan 5 '17 at 9:56
0
\$\begingroup\$

If you really only want one bit per LED and you are organising the LEDs as strips, a shift register may be the way to go.

Those are not too expensive, and you only need two or three wires for N bits. They work by shifting the bits into the register one by one and then giving a signal that the new bit values shall be applied to the outputs. You may need additional transistors or LED drivers if the shift register cannot source the current needed for the LEDs (likely if those LEDs are any bright).

Depending on the driver you use, < 1 EUR per LED should easily be possible.

WS2812-based LED strips are more versatile and sold at different shops, you should be able to find them. In the end, those are probably even cheaper than a home-brew solution, but if you’re in it for the learning, you might want to consider home-brewing it anyways.

\$\endgroup\$
  • \$\begingroup\$ This solution will however be very vulnerable to EMI. And even if you could drive the LEDs though the actual shift register, that's not a good idea, because you will get voltage drops through the cable. It is a cheap solution though... \$\endgroup\$ – Lundin Jan 5 '17 at 10:34
  • \$\begingroup\$ How bad do you expect EMI to be if I'm just connecting it using some wire, maybe twisted a bit, but nothing special? Voltage drops through the cable should only affect the intensity of the LED light a bit right? \$\endgroup\$ – Octaviour Jan 5 '17 at 11:30
  • \$\begingroup\$ EMI depends on layout and speed, so probably not a problem. Voltage drop is a more severe problem especially for blue/white LEDs, but can be overcome by use of appropriate cable. Shift registers have limited current capability. Note that WS2812 systems are little 1-bit shift registers. \$\endgroup\$ – pjc50 Jan 5 '17 at 14:32
  • \$\begingroup\$ I don’t expect EMI to be a problem with a low-frequency shift register. @Octaviour, the main problem with these voltage drops is that they will be current dependent, so more LEDs turned on -> lesser brightness for each individual LED. That’s a bit annoying, but could be solved with a small per-strip linear regulator. If it actually is an issue. \$\endgroup\$ – Jonas Schäfer Jan 5 '17 at 14:46
  • \$\begingroup\$ Okay, that sounds like it's worth a shot. I'll just get the parts for one decent length of lights and try it out. Thanks for the help! \$\endgroup\$ – Octaviour Jan 5 '17 at 14:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.