RGBDuino is a project created to use an Android device and an Arduino to control a string of red-green-blue LEDs over Bluetooth. The project consists of two main parts: the hardware side and the software side.

Video

First, a demonstration:

Hardware

For the hardware end of things, I used a breadboard-able version of an Arduino. Any Arduino or Arduino clone should work.

Breadboard wiring diagram

Essentially, the Arduino receives bytes from the Serial Module through digital pin 2 and sends data through digital pin 3. The power N-channel MOSFETS have their gate legs (left legs) connected to PWM pins 9, 10, and 11. Each gate leg is also connected through a resistor to GND. The drain leg (middle leg) is connected to one of the negative returns from the LED strip. The source legs (right leg) are all connected to GND.

The 12 volt power source connects to GND and the common anode on the LED strip.

The parts I used were:

Software

The Android app was written using MIT’s App Inventor. The project source and a compiled APK version of the app are available on GitHub.

The Arduino side of the project uses the SoftwareSerial library to listen to the Bluetooth module. This could be done with the built in Serial pins, but that would make it difficult to upload new code while testing. The Arduino code is also available on GitHub.

Monica Houston built a new project using some elements of this project. You can check it out at Hackster.io.

I also built an internet-connected version of this project called RGBWeb.