Hardware Help - Automotive LEDs


Arduino is my first ever micro-controller experience, and I must say I see a great amount of potential for projects with this handy little guy. I have messed around with it a little bit now, becoming familiar with writing code and hooking things up. I particularly like what I can do with LEDs. That spawned my first “big project” idea. I would like to use Arduino to control a large number of LEDs. Now I have done a little digging around and found many examples of LED matrices, mainly used to dance to music or scroll a message. What I would like to do is even simpler, but I am not so sure how to do it exactly. I would like the Arduino to control a matrix of 50 or so LEDs at one time. To better elaborate what exactly I mean, I am going to make my own LED tail/brake lights and turn signals. I know you might be asking, “Why not just buy them? They sell stuff like that on eBay.” Hey, where is the fun in that!? I want them to be controlled via the Arduino. Now, I know that there are other forums on here about something similar. I have a design idea in mind as to how I want to program it and all, but the thing that I am getting hung up on is how to power all of those LEDs at once, when the output pin is high. I obviously wont be able to run 56 LEDs off of the Arduino, so I plan to use the 12VDC from the vehicle to power them. I will wire LEDs in series sets of 4 and wire those sets in parallel to distribute my volts/amps evenly. But the question becomes how to I activate the LED module from Arduino? I am assuming a transistor? Or some type of relay?

I have attached a schematic and and pcb layout of what I am referring to. Thanks for all of your help.


EDITED 3/15/13 - Removed Original Schematic Attachments. Will post new in reply. ~Brandon.

You need some kind of current limiting. LEDs are not light bulbs that can simply have a voltage applied to them. They will not self regulate the current flow thru them so they will probably all go up in smoke right away. If you're lucky, then one diode will "open circuit" in each column. If you're not, then they will all short first.

It would probably help you if you scan through the many posts in the LED section of this forum. The first thing you'll learn is that running LEDs in a parallel configuration is not good practice as LEDs are constant current devices. that also means that you need tight current control, and not voltage control.

Automotive applications can be challenging as the voltage/and current levels are quite varying and most automotive LED chips are buck/boost LED drivers for that very reason. Also, you may want to check what laws apply in your country of residence. You may get away with tinkering around with these things in the USA, however, in Germany the police woud remove you vehicle from the streets immediately and you'd be heavily fined for tinkering around with elements on tha car that are considered safety relevant.

I am not suggesting not do it, however, I think for a first Arduino project you may have bitten off a little more that you can chew. Perhaps you want to start with something less complex that will have a better chance of success and keeping you motivated for the more challenging project you have in mind.

Try a search on TPIC6B595 in the arduino searchbox top right

Alright. I read the replies but have been a little busy lately with work. I wanted to do a little research with this before posting a reply. I understand the idea about too much current or not enough current. But what I am am confused about, is these devices use the current needed, based upon voltage and resistance applied, correct? So since there is a dirty voltage from the vehicle, if I were to regulate that down to 9vdc, then place an array of LEDs, dependent upon forward voltages, in this case 2.4v, I should be able to place 3 in series with a 100ohm resistor correct? I am to understand that series shares voltage, thus the limitation of 3 LEDs in series to consume the bulk of the 9v source, with the additional resistance to control the current flow? Now, on to the parallel side of things… I can place led series’ in parallel to split current on the source, correct? So in theory, I could place as many arrays in parallel as my source could support, right? Having that been said, I have rethought my plan and backed down the number of LEDs to 12, to make things more manageable, which brings my total current consumption to 240mA. I have spent a little time revises a new schematic, and will attach it below. I am hoping this will shed some light on what I mean to do exactly. In theory it works. What are the issues, if I can assure a stable voltage? I thought Ohms Law would ensure strict current control if I had control of resistance and voltage. Am I wrong?

I do not mean to sound contestant or arrogant. I am really curious, because this was the basic electronic principles I learned in class a few years ago. I want to make sure I got it right.

As for switching that array, which was what this thread was really about, I think I may have found the solution. I have been eying these little Reed Relays. Specifically one that has a 5vdc coil and nominal current of 20mA, which I thought was really cool, kinda like driving a LED. They have a diode built in to deal with the back feed issue AND only cost a few bucks. After I get some insight on this array issue, I think I will buy a couple of these and try them out. I have included them in the schematic.

Thanks for all of your help guys, I really do appreciate it. It is a learning experience for me, and I hope someone else can find the information useful too. Let me know what you think.


what you may have failed to appreciate, is that ohm's law doesn't apply to LED's, they don't have a linear current vs voltage characteristic.

You don't need the relay. 12V to top of anode LED strings, with NPN transistor between bottom of resistor & GND is all that is needed. Simple 2n2222A transistor can handle your 80mA. Do 4 strings of 3 and only have 60mA even. Size the resistor to match: (12V - 0.3V - 4x(Vf of LEDs) )/20mA = Resistor

(5V - 0.7)/20mA = Resistor between arduino and base of NPN to limit Arduino current output and ensure transistor turns on into saturation.