Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


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??).


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?

share|improve this question

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:
enter image description here

Using ULN2003:
enter image description here

share|improve this answer

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.

share|improve this answer
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.

share|improve this answer

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:

Schmitt trigger charge pump

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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