Controlling Multiple LEDs in Series and Parallel

I am trying to build a circuit that will have 36 total LEDs (6 rows in series and 6 columns in parallel). I need to have a mix as having that many LEDs in series will not work as I have a maximum voltage of 30 V. The problem I keep having is not the building of the circuit as I have them all arranged in series and parallel, it is the wiring/controlling of the Arduino with the LEDs. What I am wanting is to control the Red, Green, and Blue LEDs with a DIP switch so that the red can be on while blue and green are off etc. However, with the current set up of the circuit, it seems that all of the LEDs are high no matter what since they are in parallel. Is there a way to control each row separately?

You need a driver circuit (or relay) to for more than 5V (and/or to supply the current required for more than a couple of LEDs per output port). Actually, one driver for each color-string.

Thanks Doug. So from what I have found, I would use a transistor (BJT) and tie it in to the switch ports while also connecting it to the LED string. And do this for each color. Or is there a different way about doing this.

If you have them in your breadboard like the drawing of your circuit suggests, the red, blue and green LEDs are in parallel, there’s no way to illuminate one color alone.

It is also very odd to have multiple resistors in each series connected set of LEDs. One resistor can be calculated for the sum of the V2 voltage of all the LEDs and the driving voltage. They will all enjoy the same current.

It is not at all clear how you intend the DIP switch to function. Perhaps if you had some code or could explain what you are trying to do we could help.

Do you know how the breadboard is functioning in this circuit? I think a proper schematic diagram of what you have plugged up might surprise you?


This is a great example of why many people on this forum dislike Fritzing diagrams. It does not even clearly show how things are connected, much less what you are trying to accomplish. Example: it appears that you are feeding power directly from the power supply into pin 8 of the Uno. Example: what is the mess of resistors and crossed wires just beneath the DIP switch? I can make no sense out of how the LEDs are connected.

To answer one of your questions, yes, it is possible to control each row (series array) individually, but not as they are currently configured. As you have it, both anode and cathode of each LED is connected to two others in the same column. This cannot be what you intended. And as already mentioned, you cannot drive a row directly from the Uno.

I don't know why people hate fritzing so much, I think Fritzing circuits are quite pretty. components are animated and wires colors, looks attractive :oI have designed many circuits of Arduino UNO on it.

Well, since you asked


I don't know why people hate fritzing so much, I think Fritzing circuits are quite pretty. components are animated and wires colors, looks attractive :o

Personally, I don't object to a well-drawn Fritzing diagram in appropriate cases. They can even reveal important details which may not be evident on a schematic, such as exactly where a "+5v" connection is being made. But too many are drawn with no attention to clarity. Perhaps the user in some cases is simply not accomplished enough in using the software. And they are extremely poor at communicating the operational aspects of a circuit.

(Apologies ... no intent here to rehash that other thread...)

The easiest way to control 6 series strings of LEDs is to put power on the Anode (+) end of the 6 strings and, between the Cathode (-) end of each string and Ground, a resistor (for current limiting) and NPN transistor/N-Channel MOSFET (for switching). Connect the Base/Gate of each transistor/MOSFET through a resistor to a PWM pin (or other digital pins if you don't want brightness control) of the Arduino. The Arduino can then turn on the transistor/MOSFET to complete the circuit and the required current will flow through the string of LEDs.

Oh really! Using BJTs? How quaint! :astonished:

A TPIC6B595 can switch the cathodes of eight LED strings drawing up to 150 mA each, controlled by three Arduino pins which can be shared with other shift registers.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.