LED Chain Wiring Configuration- Parallel/ Series/ Both?

Hi everyone, this is my first post on the forum, and I am fairly new to electronics so am still learning. I am thinking ahead to my first project already however, and although I know many others have done it, after seeing the film I cannot resist. I want to make an LED strip lightsaber, with the 'scrolling' effect of the light being deployed. To do this, I was planning to have 6 strings of 15 LED's, making 90 in total, delayed upon startup to produce 'scrolling' the effect.

My problem is that when conducting research as to how to achieve this, there seems to be many mixed responses. Some people appear to just straight up wire the LED's in a parallel chain with no resistor whatsoever, and some just have one resistor at the very start of each chain. I understand why this is a bad idea, due to runaway causing an imbalance, and the other LED's to fail, however was wondering what the best way to do this would therefore be? As mentioned, I will be 'chaining' the LED's in a line, and they will be grouped in 15's (the number of LED's is adjustable at this time).

I was planning to power the project with a 12v battery pack. Any help would be appreciated, apologies if I am just being a noob :P

Thanks in advance



Have you considered ws2812b "neopixel" leds? That would make the circuit about 10 times easier! And you can select many colour variations.

They run off 5V too, but they do need [u]lots[/u] of current, 90 of them could draw up to 5.4A. You may not need 90 though, because they are very bright. A couple of 3A 12V-5V DC-DC convertors could us used to power them from your battery. Alternatively, don't use full brightness settings and they won't draw as much current.

With ordinary leds and a 12V supply, you can put probably 3 in series, depending on the colour. With red, you might get 4 or 5 in series. With blue or white, only 3. Each group of series leds will need its own series resistor.

You won't be able to connect these groups directly to the Arduino pins because the voltage will be too high. So you will need quite a few driver transistors.

Alternatively, you could use a couple of tpic6c595 high-current shift registers. These have 8 outputs each and can deal with the voltages and currents needed. You could drive these with a tiny85 to keep things small.

Option 3, if 64 leds is enough, use a max7219. No series resistors needed (well, ok, one) and again can be driven by a tiny85.


For a single colour, you use MAX7219 drivers - readily available on eBay. Each controls 64 LEDs in a matrix.

Power with a pack of four Ni-MH batteries which you disconnect to charge.

Thank you both for the helpful information, I have looked and the MAX7219 drivers definitely look the way forward.

I have never used LED drivers before, will start doing my homework now, but would I use one driver per LED string then, so would need 6x drivers (or however many strings I end up doing)?


The MAX7219 drives 64 LEDs in a matrix. If you put 16 LEDs in a string, then that string will consist of two rows of the matrix with eight column (anode) wires and the two row wires. Three other strings could share the same eight column terminals so four such strings could be driven by one MAX7219.

If in fact you want only six strings, then you would drive three from one MAX7219 and three from the other so that each drives only six rows (cathodes) and you can then set each chip to multiplex by six instead of eight, maximising the brightness.

That's exactly what I needed, thanks so much!

Would you be able to verify if I have interpreted how you have described the LED's should be wired to the MAX7219 in the diagram correctly? It is obviously not finished, and also is my first time using Fritzing, so I apologise that it probably looks a shambles to those who use it regularly:



Ah yes, I was going to get back to you on this one - in fact, I had you in mind before I saw this but I had to find your post from your PM; you have now found it for me!

I also see that you figured out to link to the image itself rather than to the web page where the image is, which then will not show up. You do however need to post an image of the diagram rather than a screen capture which does as you say, look a little messy or more to the point, lack complete detail. :grinning:

You have it slightly the wrong way around. You need six cathode lines and eight anode lines. The MAX7219 strobes by cathode (“digit”) lines, so if you minimise these, you set the Scan Limit register to 5, so that it only scans the first six cathode drivers. This means each is driven for one sixth of the time rather than one eighth of the time, so you obtain a little more brightness.

Rset can be 10k if (and only if) you want maximum brightness so you strobe the LEDs with 40 mA. This is still consistent with page 10:

If the scan-limit register is set for three digits or less, individual digit drivers will dissipate excessive amounts of power. Consequently, the value of the RSET resistor must be adjusted according to the number of digits displayed, to limit individual digit driver power dissipation.
Table 9 lists the number of digits displayed and the corresponding maximum recommended segment current when the digit drivers are used.

Thanks again Paul :slight_smile: