Picture of Android Controlled LED Strip (IOIO Powered)
home cover2.jpg

or watch in HD

The Android phone is controlling an LED strip hidden in the vase using a IOIO board with Bluetooth. In this example, the Android phone is running an app which obtains color values from the onboard camera and then in turn matches those colors to the LED strip. We (myself and Ytai) sort of ran out of time on this project but with the sample code, it can easily be expanded to do other things. Here's a few ideas we didn't get to:

    Using the phone accelerometer to change the color patterns, a shake event for example
    Displaying a pattern when receiving a text
    Displaying a pattern when receiving a phone call   
    Displaying a pattern when a friend if nearby via social networking
    Displaying a pattern on specific Twitter keywords

IOIO is a physical computing platform for the Android platform, kind of like Arduino but dedicated to Android and features a small form factor with Bluetooth capability leveraging off the shelf & inexpensive Bluetooth dongles. IOIO was created by Ytai Ben-Tsvi who was my partner on this project, actually Ytai did all the work. I've done a few Arduino projects in the past that also required a PC for the graphical & rich internet application capabilities, it was nice see how one can get rid of the PC and yet still retain these rich capabilities leveraging the Android platform. This opens up many new application possibilities for hobbyists.

The LED strip is digitally addressable meaning each LED (32 in the strip) can be controlled individually. That combined with the Bluetooth IOIO and Android opens up endless interactive lighting schemes.


* Android 2.3.3 and above required for Bluetooth
Android 2.1 to 2.3.2 will support Bluetooth but you'll need to enter the Bluetooth pairing pin on every connection
Android 1.5 and above can use a USB cable connection as opposed to Bluetooth. For USB connections, the "USB debugging" setting (also known as ADB) must be turned on in your Android phone, you'll find this setting under "Settings", "Applications", and "Development".

Remove these adsRemove these ads by Signing Up
kkrumwiede1 year ago
Has anyone had problems with these LED strips? I just received my second strip from Sparkfun thinking the first was bad but I'm finding the second one has the same behavior. I'm quite familiar with the IOIO... and followed this instructable... I also tried plugging in the LED's to an arduino and found the same behavior. The last (or maybe the 1st) LED (the one furthest away from the IOIO connection is the only one that lights, and it seems to cycle through the colors on that single LED only if I touch the end of the opposite connector. When the first strip began behaving this way, I thought there might be a bad connection or one of the chips was bad, so I cut and rewired a portion of it... and had the same behavior... so it is starting to seem like an issue with power or cycling through the LED's. Should all the LED's turn on as I connect to 5V supply and ground? If not, is there another simple way to check all the LED's in the strip before I get into the programming (although knowing Ytai, I trust the code Holiday IOIO app works fine)... I am trying to build this into something this week before the Greenbrae mini-maker Faire next weekend so any help would be GREATLY appreciated!
vov353 years ago
hmm... you're running LED strips directly off microcontroller pins? wouldn't it be best to isolate them with transistors?

Regardless, nicely done, I quite like the effect.
power_tr vov352 years ago
Not like that!
Each LED has its own WS2801 IC and current limiting resistors.
hi can you provide me detail for some discussion

alinke (author)  subrotradeindia2 years ago
Hi, all the tech info I have is documented in the instructable, is there any particular area you want more info on
ytai3 years ago
@vov35 the IOIO pins aren't driving the LEDs, only controlling them. The LED strip itself has the drivers.
Only two I/O pins on the IOIO were used: clock and data, both fed from an SPI module.