RGB/RGBW Lighting Controller

RGBW Lighting

The objective of this project (like most of them) is to deliver the best possible user experience when using RGB or RGBW lighting, i.e. lighting that can change colour as well as have variable brightness. Typically this is achieved using LED strip lighting. As part of this great user experience, we also require the highest possible reliability and the best possible performance, meaning very low latency.

To achieve our project goals we are using a controller with an Ethernet interface that works at either 12V dc or 24V dc. Typically this will be an Arduino Mega 2560 with Ethernet shield. Typically, this will be combined with our smart switch.

Design

PCB

RGBW PCBs

To enable the required control, I have developed my own control circuit and had PCBs manufactured. These enable higher power control at 12V or 24V dc via a micro-controller. Our circuit design uses opto-isolation to protect the controller and enables 4-channel Pulse Width Modulation (PWM).

Note:  This PCB could be used to control many things, not just lighting strips. It also doesn't have to used with PWM. We have used the same design for irrigation pumps and many other things in our contextual smart home.

Arduino Mega 2560

The Arduino Mega 2560 has 15 pins capable of PWM, so that means we could connect 4 of these boards and use them in a range of combinations. Some examples:

This makes extremely cost effective, when you then consider a shared power supply and one interface to our contextual smart home, to enable a zero touch user experience, full voice control and also control by any of the other user interfaces that our smart home provides.

Software

We have developed a library of code for Arduino processors over the many years developing smart home functionality. This includes encrypted messaging between elements of our smart home and a protocol to enable query and control of anything we have connected to it.

For this project we have developed code to enable both manual smart switch control and intelligent automation by our Home Control System. Since this controller also reports state, we can provide a very powerful user experience that enables multiple switches to be used with each RGBW light or one switch to be used with many lights and even different types of lighting.

Dynamic Smart Lighting

In addition, our software supports some other interesting features which make it not just smart lighting but something we call 'dynamic smart lighting'. These include a range of effects and visual notifications inherently supported by the lighting controller whilst performing its normal smart functions.

Summary

This kind of home autoamtion is both cheap and extremely reliable. My software also means it is very secure. As it's is designed to be used with low volategs, it could also be used with my 12V dc UPS.

Further Reading