Software engineer. I build things and sometimes write about it. Bio. Useful stuff.

Lumen 1.0

Let's talk about Lumen! That's one of my projects I recently finished (actually, the first version). The idea is to have a homemade RGB lamp I could control wireless. So, in this article I will briefly present to you components and implementation details of the project.

You're absolutely free to use the content of this article to inspire your own project! :-)


For this first version I decided to use some simple components.

  • Arduino Pro Mini (ATMega328 16Mhz 5v)
  • Bluetooth module (HC-06 RS232)
  • 3 x TIP122
  • 1 x RGB LED - 3W
  • 3 x 1kΩ
  • 2 x 10Ω, 1 x 3.9Ω and 1 x 8.2Ω (should be 2W)
  • 9v DC power


Because I make the choice to use a Pro Mini, I also have to buy an FTDI to connect the board to my computer.


As I said, I decided to build a simple electronic system. First, because my skills in electronic are very limited, and also because it's mainly a prototype and I'm more interested about the programming side.

So basically, this is the circuit.

Be careful this circuit use a 3.3v version of the Arduino. You could have to adapt it for a 5v version.

Lumen circuit


So, we have the electronic structure, now we need the source code to put inside the Arduino to get remote control. It's a classical loop with two possible actions r or w (read or write).

All commands are ending by a #. We've two basic commands :

  • r#
  • wXXX XXX XXX# where XXX are digital values beetween 0 and 255

The first one return the current value of the RGB lamp. The other set the lamp to the given RGB value.

There is the full source code.

The Bluetooth module (HC-06)

I encountered a lot of problems with the HC-06 module. I currently do not explain why... but I caution you : This cheap module can make you lose your time!

The Bluetooth module of my computer seem to be incompatible with the HC-06. Fortunately, my Galaxy Tab is able to correctly communicate with this module.


You can also want to change the device name or customize other options of the module (the baud rate for example). To do this I suggest that you take a look here (for the circuit) and here (for commands to used).


This version is currently working, but there are some problems about the electronic part. In fact, the circuit I build is notably bad :-\ There is a massive loss of power in resistors and transistors level.

The solution is to build a new circuit with pulsed LED to exploit the persistence of vision. I do not detail this here, but you can find a lot of resources about it on Google.