Portable LED Strips
LED strips are fantastic and can take any project to the next level! However some projects and applications don't have the luxury of sitting in your house next to a wall outlet. For this, we need a way to take them on the go! In this guide I’m going to show you a simple way to make your LED strips portable.
For this project we are going to use a favorite of mine, WS2812b LEDs, as they are inexpensive, customizable, and look amazing! They can be used on a range of projects as complex as Marshmello’s Helmet, to more practical bike or car lights. With a portable charger and waterproof strips, you’re ready for the outdoors!
Where do we get a big enough battery?
Sure you can find cheap kits that hold a couple AA batteries with a small strip, however they have a few fatal flaws.
Power output/power storage - There’s a reason we don’t charge our phones with AA batteries. Quality, bright LED strips, will eat up all of your precious battery power. Where a plastic case with 4 AA battles can hold roughly 15.6 watt-hours of power, a similar lithium ion portable charger can contain 50+ watt-hours with a power output 5x that of the AA batteries.
Rechargeable - While technically you could grab some rechargeable AAs, you then have the hassle of taking them out and making sure each AA is charged every time you want to use your LEDs.
Cheap battery strips are typically non-customizable, meaning the most you’re going to get is the ability to change the color of the entire strip at once. With customizable strips, you can set every pixel to a unique color allowing for some amazing patterns and creative visuals. Even with zero programming experience you can make some impressive light effects.
As a bonus! - At the end of the day a portable phone charger will still… charge your phone. It’s definitely a top tier gadget to have.
Hopefully you can see the advantages of leveraging years of phone charging research alongside the infinite possibilities of customizable led strips. Now let’s get to the good stuff!
Total Parts Used:
Arduino Uno - <Amazon>
5 Meter 150 LED WS2812b Strip - <Amazon>
Jumper Wires - <Amazon>
Battery - <Amazon>
Battery Cable - <Amazon>
Barrel Jack Adapter - <Amazon>
Arduino Case (Optional) - <Amazon>
*Amazon links are affiliate and purchases made help support our content. Thank you!
Animation Design
Since we are using customizable LEDs and can change every pixel, we have almost infinite options on how to make them look. Here are a few options to consider. Think about how every section can be different colors in different order, increasing or decrease in brightness in different ways! The possibilities are endless!
Rather than get into it here we made an entire article dedicated to simplifying how the LEDs are programmed. It includes picture and examples so that even with no programming experience you can make your own LED setup! Check it out here when you’re done with this guide! How to Program LEDs
Hookup
First we need to hook up the controller to our computer so we can upload the code and tell the lights how we want them to act. To do this, all we need to do is plug a USB into the Arduino. Then upload the code from our Programming Guide. Technically we don’t even need the LED strip plugged in yet, however it’s nice to double check and make sure it’s working correctly before taking it on the road with the battery.
Once we have our code uploaded from our computer, the Arduino will have it’s instructions and remember what to do. It just needs power! While normally it gets we power it from the USB cable connected to our computer, now we can power it directly from our battery and sever ties to the computer altogether.
Most strips have an additional set of wires for power. Since both of the red wire and both of the black wires are connected at the strip, we can use all 5 wires for a simple solder-less setup! (Power-red), (ground-white/black), (data-green) to the Arduino, and (power-red), (ground-black/white) to our charger.
Why can we use a phone charger?
The crux of this project is that the charger, LEDs and Arduino all use 5V power. This simplifies our job as we don’t have to worry about voltages. However there are a couple values we need to keep close track of. These would be the battery size, aka capacity, listed as mAh (milliamp-hours) and max output listed as A (Amps). Your charger should have the milliamp-hours and amps listed somewhere in the fine print. Unfortunately even though they both have amp in the name they refer to different traits of the battery. Here’s an example of the capacity and output listed in the fine print of a portable charger.
You can think of your portable charger as a water bottle. The number of milliamp-hours (mAh) is how much water your charger can hold. The number of amps (A) is the size of your nozzle. Having a larger battery (mAh) will allow you to power your LEDs longer, however the max output of amps (A) will determine how many LEDs you can power at once and how bright you can push them. Every additional LED or brightness value increases the required current (A).
We need to make sure your battery can provide the amount of power your strip needs. For the parts we recommended, a battery capable of 2.4 amps, and a strip of 150 LEDs.
For this battery and LED strip combo, keep the current (A) within the battery’s max output by not setting the RGB values of any color over 75. This will keep the battery safe. The following would be example of colors with values less than or equal to 75.
Red -> (75, 0, 0)
Blue -> (0, 0, 75)
Purple -> (75, 0, 75)
White -> (75, 75, 75)
Don’t worry, 75 brightness is still plenty bright, to the point where you wouldn’t want to stare directly into an LED pixel. If you want to learn more about how to calculate the power usage of your setup, checkout our full guide here: Calculating Power.
If you don’t want to get into the weeds with power, the FastLED library has a built in setting that will manage power for you. After defining your strip in the setup, you’ll want to add the line below. The first number “5” tells FastLED that our strips use 5V power and the 2400 is the max output in milliamps. (aka amp x 1000, NOT milliamp-hours). From there FastLED does the heavy lifting of scaling down the brightness as to not exceed this predefined power limit. Easy!
TLDR: Don’t set brightness over 75 or add the line of code above to setup.
Final Result
When all put together we’ve got our battery pack, Arduino and LED strips, ready to take our light show on the road!
More Guides/Resources