# Powering and controlling multiple 12V LED strips with Arduino LilyPad USB

I'm trying to use an Arduino Lilypad USB to control several separate 12V white LED strips. I am however struggling to work out how to power them.

The LilyPad only operates at 3.3V and I thought a MOSFET would work, but I'm not sure how to do this when I want to control multiple strips. This will all be as part of a costume headdress, so the power supply needs to be quite compact and 'wearable'.

Any assistance would be hugely appreciated.

Thanks, R

EDIT: to answer the comment on there not being enough info: Yes, I want to turn the strips off in patterns using the LilyPad, so each strip needs to be on a different pin. There will be 4 strips, each of 18 white LEDS. At the moment I have one strip working attached to a 2A MOSFET, 9V battery and the LilyPad. My question is then how I can best connect the other strips and their respective MOSFETs to the LilyPad and the same 9V battery, or is there in fact a better way of doing this. Regarding size, everything except the strips will need to fit on some kind of fabric pouch on the back of the head. My plan is just to hack it together and see, but any actual knowledge or advice would be very helpful.

EDIT 2 (current situation): The circuit is working but the lights aren't as bright as they could be. I'm using FQP2N60C MOSFETs, but have no resistors in the circuit. I've also simplified the design, so it just uses LilyPad 2 pins; 3 LED strips are connected in series on one and 4 LED strips are connected in series on the other. I'm also using one 9V and 2*AA batteries to power the strips. Any advice on which factor could be making the lights not so bright would be really helpful. Thanks!

• There is so little information provided... How do you want to control the LEDs? Do they just turn on, or do you want some kind of flashing pattern? Do you need to control each strip separately? How many LED strips? What are the specs of the strips? How long does it need to be powered? What does "compact" mean? There's a huge difference between something that has to hide in a feather headdress and say, something that has to fit in a slot in a helmet. Obv you will need a battery, and either a boost or buck regulator depending on the battery voltage; many ways you could control the LEDs. Feb 10, 2015 at 19:10

Simply use a 4 pin opto coupler PC817. It has 4 pins. Connect pin1 to the pin of your lilypad, pin2 is gnd. Apply 12 v on pin 4. Connect a pull down 10k resistor on pin3 and check the output from this pin, you will get 11.7-11.8v which I think is sufficient for you.

If you want to drive the LEDs by switching the ground/Return of the LED strip this can be easily done by tying a NPN transistor (ie 2n3904)that has sufficient Collector current rating. The base terminal to an arduino pin using a limiting resistor. The anode side of the strip needs to be tied to the 12V source, and LED limiting resistor (R1) must be used somewhere in the LED series circuit to protect the LEDs from over current (SMOKE). The cathode side to the Collector term of the transistor. The arduino can flash the string using bit banging digitalWrite() or can do some PWM to control intensity if the PWM frequency is above ~45Hz(see analogWrite()). The actual resistors used would depend on the Vf drop of the LED string and the (Imax) of the LEDs. A 1K resistor for the transistor base (R2) is a good start. Dont forget to calculate for the Vce sat of the transistor. This design can be scaled up to higher powers by adjusting the transistor and the resistors. Good Luck.

is a good start. A MOSFET generally needs greater Gate voltage (Vgs(thresh)) before they conduct.

simulate this circuit – Schematic created using CircuitLab

• Fantastic, thanks for your help. I've got it all working but the lights aren't as bright as they could be. I'm using FQP2N60C MOSFETs, but have no resistors in the circuit. I've also simplified the design, so it just uses LilyPad 2 pins; 3 strips are connected in series on one and 4 strips are connected in series on the other. I'm also using one 9V and 2*AA batteries to power the strips. Any advice on which factor could be making the lights not so bright would be really helpful. Thanks! Feb 12, 2015 at 16:51
• The 9V battery is the problem. Feb 12, 2015 at 17:48

A quick back of the hand calculation is that a 18 led section of 12v 5050 white leds is 6 segments of ~60mA each, so 0.36 Amps each. If you have 4 stripes in "series", that needs 1.44 Amps at 12V. Your mosfet is fine for that. If it's the single diode led strip instead of 5050, then it's only 20mA per segment, or 0.12 Amps per 18 led strip. And that's really at 14V. Less at 12 or lower voltages.

The problem is that your power source is not going to cut it here. A 9V battery with that much current will not work. A battery pack of 7 or 8 AA batteries wou of work. Or a usb battery charger with a step up/boost converter to boost from 5V to 10~12v would too.

Update: OPS testing showed that 3.3V was not enough to trigger the VGS of the original mosfets.

• Thanks for the calculations. I'm using one 9V and 2 AAs at the moment, but not getting the brightness - do you think it should be? Feb 12, 2015 at 18:00
• The nine volt, even with 2 AA batteries in series, is still an issue. If it's weak or old even worse. The second possibility is the mosfets. I'm not too sure if they will fully turn on with a 3.3V gate voltage. Try replacing the batteries with a 12V power supply for testing. If it works, then it's the batteries, if it doesn't, then it's the mosfet. Assuming your code isn't an issue. Feb 12, 2015 at 18:24
• So the MOSFETs were the issue, the 9V + 2AAs are fine. MOSFETs with a lower gate voltage have solved everything. Thanks for your help. Feb 13, 2015 at 19:17