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.
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).
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.
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.
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.
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.