iPhone controlled RGB LED via Arduino and DMX
26th August 2009
Yes, the title of this post might sound a bit weird but this is actually what I was working on the last days.
I actually planned to dive into this physical computing thing. I guess I told some people about it. Because when I turned 30 there were two unexpected but great gifts. A microcontrolled robot which I soldered in one weekend with more than 150(!) solderings. And a new Arduino board! Thanks to the guys from BigSource for the board!
I wanted to create something that is useful. There are thousands of physical computing examples that do nothing more than switching an LED on or off. I guess there is so much potential in the whole subject. And I’m sure that we will see more and more computer controlled physical objects that are connected to the internet in our every day life.
The cool thing about it is that you break the common workflow of having Keyboard or Mouse inputs and outputs on the screen. Now you can have inputs from thousand of sensors! I bought a motion sensor which detects a finger flip in 10 meter distance. I’m not sure what to do with it yet, but this is so cool! The output can be as different as well. You can control servos or lights or switch your outlets, whatever you want. Plus you can connect the whole thing to the internet. You can imagine how many possibilities you have if you know a bit about programming.
My goal was to create something for the everyday life. Something that is useful for me.
Actually I needed some decoration for my naked white walls in my living room. I was looking for pictures and art over five years and nothing could compete with my beautiful white walls. Now I can keep them white but very colorful. I created an iPhone controlled RGB LED light. This nothing new I guess, but it’s perfect for my living room.
I got the Arduino Board and began programming, soldered a DMX Shield (thanks to Raphael Perret for the etched board), bought a WiFi-Shield and a DMX controller, a RGB LED light and some cables.
Programming in Processing and Objective-C can be very exhausting. There are so many datatypes I never heard of. Something like uint8_t for example which is just a byte. The problem is more about knowing them and knowing when to use which one. Plus the whole pointer stuff really made me want to go back to the warm ActionScript 3 nest where everything made sense and seemed so easy.
Finally it worked. I managed to connect my iPhone with a socket connection via WiFi to my Arduino board. The Arduino board receives the bytes I sent from the iPhone app, converts them, adds some springing for smoother color changes and puts them in a DMX conform protocol. These data are sent to the DMX controller which controlled the lights. Sounds easy, right? It was not. But it was worth the effort!
Ok, have a look for yourself!
This is a video where you can see the parts I have used and how they are assembled.
This is the light in action! ![]()

cool stuff!
well done!
awesome, i like!!!
WE LOVE IT!!
[...] iPhone controlled RGB LED via Arduino and DMX by Raphael [...]
Absolutely cool! Will you share some more information?
Sure, what kind of information do you need?
Woow.. sehr cool. Kannst du mir ne Bastelanleitung senden? Das würde ich auch sehr gerne zu hause haben
Gruß
Tobi
I like it a lot!
HAllo, super idee!
Bin schon den ganzen TAg auf der suche nach so etwas!
Wie Teuer kömmt die ganze steuerung und wo bekomm ich die?
LG
Dear Sir I m integrator of wireless systems without battery .
I would like to test A KIT like your DMX over IPONE
Where I can buy HW : Wifi Shild…
Software to install in Ipone or PC, it is your or can please you suggest me one ??
Are you able to deliver all kit?
Thanks
Marco
marco@dogmatech.eu
Hey Marco, you get a WiShield at http://www.asynclabs.com
The Software on the iPhone is my own, I’m not going to release it because it is made too specific for my enviroment.
Cheers, Raphael
Hi Raphael,
I’m going to be using an Arduino board and Ipod/Iphone for my final year project at university.
I think what you have done is really cool and I was thinking of doing a similar project but controlling nightclub lights, I have been asked to use OSC for the GUI,
Just wondering what your feelings are on my project and looking for a bit of advice before I jump in head first?
Thanks,
Jack
Hey man, you are an artist! Just beautiful!
hey can you send me some info. i wanna build the exact same thing. i really like the dmx controller you use. but since i live in the usa i cna find it anywere is there a reason you used that one.?
Hey, the name of the controller is USC-500 from V:LED. Actually you could build a controller yourself. For me it looked too complicated though. So I bought one. Plus I needed a device for testing my DMX signals I was sending. If both devices were built by me it would have been hard to debug
hey thanks for such a qucik response if you could email with me i havea few more quesetions. also what do i need if i want to controll like two “zone” will say light the sofa and then the coffee table at differenct times and color. doesnt this dmx controll only able to controll only one source.
Thanks
oh ps. i can find the usc-500 for v:led or the 300 anywere for the usa. but i found this one. what do you think?
http://www.sirs-e.com/st/rgb-led-dmx-controller-2-p-2930.html
hey there , i am doing a similar project for art at school i plan to sue an arduino , but i am new to it and have no idea , my plan is to have 20-30 rgb LED’S controlled by 3 knobs or dials one for red one for blue one for green , there are plenty of projects out there that show u how to do this with 1 led , how do i do it with 20-30 ? i know there is only a limited number of pwm pins on the arduino , thanks , and help wpuld be greatly apreatiated
Wow!
I wonder about the latency, is the WiShield’s latency the main cause? Do you have some numbers about the latency please?
Is there any chance you can post both the code for the Arduino board and the iPhone code? Thanks!
He Raphael, I’m really amazed about the power of the iPhone. All kinds of projects are now interfaced in a very nice way.
I am familiar with al the microcontroller programming, only the iPhone not yet. Can you advice me in how to make your own program like yours, with the color bars and extra functions? How can you write your own iphone application.
Thanks en keep up the work!
Pieter
Sorry fpr the late reply.
@Gabor: Actually there is just a small latency. It might doesn’t look like that because I programmed a spring algorithm for changing the colors. That means the colors a faded to their target values.
@James: The code is in a very alpha version and I need to clean it up first..
@Pieter: You will find lots of resources on how to write iPhone Apps in the web. A good start is the book “Beginning iPhone Development”.
Cheers,
Raphael