# How can I drive 12v LEDs from my Arduino Nano?

## Background

I am building a scale RC helicopter and ordered a bunch of 3mm LEDs to give it some nice navigation and strobe lights which I plan to drive with an Arduino Nano.

Problem is that I goofed and didn't notice that the LEDs are 12v until they arrived. I know that the Arduino Nano can accept 12V on pin 30, but I think the voltage output on any of the "D" or "A" pins is always 5v (correct??).

## Question

If the voltage output of the Arduino pins is 5v, then how can I drive the 12v LEDs using the Arduino, or is it impossible?

You cannot directly drive 12V LEDs from arduino. If driving only one LED, use a transistor. Otherwise use a ULN2003 IC to drive multiple LEDs.

Better off, order the normal LEDs. You will save area on your RC device.

Here is a video that will hep you using ULN2003. In the video ULN2003 is used to drive relays, but you can replace them with LEDs.

Using a transistor:

Using ULN2003:

I'm not aware of any individual LED which is actually a 12V device. Usually, a "12V LED" is an LED plus some circuitry (most usually just a resistor) designed to make it trivial to drive by applying only 12V. Can you locate this resistor, remove it, and replace it with a wire, or maybe a $0\Omega$ surface mount "resistor" designed to do exactly this?

Once that's done, it will be an ordinary LED, and you can drive it like any other. I'd explain in more detail, but seeing that driving LEDs is an especially common application for an Arduino, I doubt it's necessary.

• Some LEDs have built in resistors. I have a bunch of LEDs from Agilent that have integral resistor. The integral resistors are built into the body of LED and can't be removed. Here is such a LED – Chetan Bhargava Jan 10 '13 at 21:18

Using OHM's Law.

Assuming the leds are set for I = 20ma current and use Vf = 2.4 to 3.2 volts (you didn't provide a color, but the voltage difference is minor) at Vs = 12v the Leds would have a resistor close to 450~480ohms. R = (Vs - Vf) / I.

If you use that same resistor with a lower input voltage (5v as you mentioned), you need to calculate for I. I = (Vs - Vf) / R. (Using average numbers) I = (5 - 3) / 450, I = 0.0044A or 4.4ma.

Using those leds with the 5v Arduino output, the leds would work at ~4.4ma. They won't be very bright, but they should work.

The other option is to replace the resistor if you can.

It might be too complicated for use in this situation, but in theory you could use this circuit I came up with a while back:

It was intended to boost 3.3 volt supplies to run white LEDs, but could also boost 5 volts to run a "12 volt" LED. A1, A2, A3 are sections of a hex inverting schmitt trigger like the 74HC14. Drive the end of R2 from a microcontroller pin to turn the LED on and off.