On a recent project for DIY Under Bed LED Lighting I found myself in a bit of a power conundrum. I had a strip of 5V LED lights that required around 7 amps to run at full brightness. I didn’t want two separate power supplies powering the lights and the Arduino UNO and I didn’t want the Arduino powered by a battery and I didn’t want to add a DC to DC converter to boost the voltage. I know, I seem pretty picky here!
Since the Arduino UNO’s absolute minimum input voltage (per the specs) is 6V, how will I get this thing powered off of one single 5V power supply in the simplest way possible?
Well, It’s much simpler than it sounds. The Arduino UNO itself actually requires 5V to operate, so why does it ask for more?
*This project is currently in work and the post is a work in progress. Feel free to check back to see the project as it moves along.
A Great DIY Project For My Kids
This project came to mind after making three pretty darn cool loft beds for my three boys. Click here for the plans I used to build them. I mentioned to the 6 year old that maybe someday we would put some LED lights under them. Well, to a 6 year old someday is the next day. He kept asking and asking so I figured I would make a project for us out of it.
Now an easy way to do it would be to buy an LED strip light kit with a built in controller, stick it up there and voila you are done. The downside of that is that it takes all the fun out of creating something cool and special. I have this project pictured in my mind as an under loft bed lighting project to trump all other under bed lighting projects!
I plan on this being a multi-phase project. Phase one will just be getting the LED’s installed, hooked up to the Arduino and working properly. I will have a simple control panel to allow dimming and a limited number of effects.
With that out of the way, let’s just jump right in and begin!
Get your tools and supplies together
We will be needing quite a few parts and supplies to get this project complete so I’ll go ahead and make a list. This list is what I’m using for one bed, not all three. I am using the first bed as a prototype and then will replicate for the other two beds.
I will be using a few different sources to get the materials. I will typically default to my favorite which is Amazon but also will be using AliExpress for a couple of the parts.
The last thing I want to do is get these all installed and have a Clark Griswold type of moment when I try to turn it on. I will be prototyping this before I attach everything to the bed.
I have measured where I want my lights to go and decided to run four separate 33 inch LED strips. Is this overkill? Absolutely! Since my lights come in a roll of 5 meters or 16.4 feet for us here in the USA, I will have to cut the light strips down to fit.
Luckily, these are designed for this and even have a little picture of scissors to tell you where to cut. Just use a sharp pair of scissors to cut at the cut line between the LED segments. Since the lights I bought have 30 LED’s per meter, this leaves me with 25 LED’s for each 33 inch section.
I plan on running these in parallel as four separate LED strips, each operating from their own digital pin on the Arduino. I think this will give me more control but I will have to find out for sure as I proceed.
WS2812B RGB LED Flexible Strip
The type of flexible LED strip that I’m using has the WS2812B chip, this little chip includes the RGB LED’s as well as the control circuit all in one component. The WS2812B is the chip you see in the photo below with the four soldered contacts. The rest of the flexible light strip is customized around the chip by the manufacturers but they are fairly standard.
The cut lines in the photo above divide the light strip into individually usable pieces. You are cutting between solder-able contact pads that you will use to hook up your project.
Now it’s time to break out the soldering iron and get it warmed up! I will be soldering the wires directly to the end of the LED light strips. Each strip of lights will get three wires soldered to it going to the contacts as listed in the table below.
5 Volts DC (Yours might be 12V if you are using 12 Volts DC)
Digital Input from the Arduino
Digital Output to the next LED in the string
Arduino Proto Shield
I have left plenty of wire to get back to my Arduino once it is mounted on the bed. I will be using a prototype shield to make all of my connections. This is basically a solder-able breadboard that mounts on top of your Arduino. The Arduino can be removed as needed for other projects or to program it.
Many proto shield’s or prototype boards come un-assembled, this means you have to solder the header pins, reset switch and other components on yourself. If you don’t mind spending a few extra dollars you can get one pre-assembled. I prefer to solder them myself, saves money and helps to improve my soldering skills.
Connecting To Your Arduino
For this project, I will be connecting the Digital Input (DI) contacts of the four LED strips to pins 5, 6, 10 and 11 of the Arduino. Why such strange and random pins? I’m glad you asked… There are only 6 pins on the Arduino UNO that use Pulse Width Modulation (PWM) and they did not put these in order.
Everything needs to be powered, the Arduino plus the LED’s. One reason I chose the 5 volt LED’s is because I could use the same power source as the Arduino. Keep in mind that you DO NOT want to power the LED’s directly from the Arduino’s 5V power pin. Even though it’s 5 volts just like you need, the amperage draw of the LED’s would overwhelm the Arduino and you would end up tripping the self resetting fuse.
To remedy this, we will be wiring the 5 volt power supply directly to the prototyping board and then splitting it off from there to the Arduino and to the LED’s.
You want to connect the positive and negative leads of your 5V power supply to your proto board. Make sure you have these separated from each other with enough room to connect additional wires to the adjacent through holes.
Connect the GND wire from each LED strip to a contact on your proto board and make sure that they are either jumpered or there is a soldier bridge connecting them with the GND from your power supply.
Connect the +5V wire from each LED strip to a contact on your proto board and also make sure that they are either jumpered or there is a solder bridge connecting them with the +5V from your power supply.
Now you want to connect the wires coming from the DI on the LED’s to the proper digital pins on the Arduino. I am using pins 5, 6, 10 and 11 for my project. On the proto shield solder them in the through holes adjacent to their pins on the header.
LED Power Requirements
Now to do a little calculating for the amperage requirements… I know from the specifications of my LED’s that they consume about 1.8 Amps per meter when the LED’s are at full brightness. Since I’m using about 3.6 Meters of LED’s I will go ahead and round it up to 4 meters just to give a little bit of cushion.
This means that I will require a total of 7.2 Amps to run all of the LED’s at full brightness. The Arduino itself draws a minimal amperage in the milliamps so I won’t even concern myself with that since I have a decent cushion built in. So, with all that said I will need a 5 volt DC 8 amp power supply.
Powering Your Arduino with 5 Volts DC
Since your Arduino has a 5V and 3.3V output, you might be thinking that you can just supply 5V to the power plug and you will be all ready to roll. Unfortunately this is not correct. The Arduino Uno has a recommended input voltage range between 7-12V and an input voltage limit between 6-20V. Since I will be powering with 5V only, how can this work?