Connect a multicolor LED strip to your smartphone to make a touch-controlled light show! You can attach the color-changing LEDs to the underside of a coffee table, your bike, or anything else you think needs a bit more color.

With our latest Weekend Project we’ll show you how to combine an Arduino, a simple solderless breadboard circuit, and your Android device (which must be compatible with USB host mode) to control a strip of full-color RGB LEDs. We call this project Android-Arduino LED Strip Lights.


The flexi-strip of 60 LEDs in our project can draw a maximum 1.2A when the LEDs are at full brightness. However, the Arduino’s digital pins are only capable of 40mA of DC output. Using a driver circuit built on a solderless breadboard, with the aid of one TIP31 NPN transistor per color, Pulse Width Modulation (PWM) will allow us to draw maximum brightness from our LEDs and color mix using a touchscreen app for Android.


According to this Arduino Reference Board, PWM is available on pins 3, 5, 6, 9, 10, and 11 of ATmega328-based Arduinos. In the code above you can see we have declared pin 9 for red, pin 10 for green, and pin 11 for blue. For example purposes you can see we have also adjusted the maximum duty cycles to adjust for any color balancing issues.

Watch the video below to see this project in action. If you design a novel use for this project, transfer the breadboard circuit to your own homemade PCB, or otherwise have questions about the Arduino sketch code, leave a comment on the project page and someone will follow-up. And as always, have fun!