History of the project

A project log for nRF24L01+ network to control lights

Custom Android app to send commands over to nRF24L01+ receivers with 4-channel PWM capability to control LED strips.

Jarno VatanenJarno Vatanen 10/25/2015 at 12:590 Comments

I'm writing this log to show the previous versions of my system.

My very first one was a Arduino stacked with a ethernet and MOSFET shield to control one RGB LED strip. On the software side I used an OSC server on the arduino and TouchOSC program on my phone to send commands. It was quite nice and really responsive, it needed to have my phone on the same wireless network as the arduino.

First version

I did the second version, because I wanted to control more than one strip. So I designed the PCB on the right side and replaced the MOSFET shield with an nRF24L01+ shield. Now I could send the wanted color to different units around the house. At the same time I also upgraded the controller to have 4 PWM channels. There's the newest receiver unit in the middle for size comparison. The new and old receiver have compatible hardware.

On the server side I still used the OSC protocol and TouchOSC on the phone. Here's a simple layout I made for it. There were 4 sliders for RGB and brightness. Then some push buttons to send the values to different units and few toggle inputs for different operating modes.

Sometimes this system had hangups, I don't know if they were because of a faulty receiver, some code problems or what. That's why I decided to upgrade the server microcontroller for a Teensy 3.1, instead of an Arduino. Also I wanted that the new server didn't need any external wifi network to connect to. That's why I chose the HC-05 Bluetooth module for the communication between the phone and the server.

In the next log I'll go to the details of the receiver unit.