My wife and I were looking to add some additional lighting to our kitchen. There are several companies making lighting solutions for underneath cabinets, but many are expensive and have limited functionality. We decided to create some DIY Smart Home Cabinet Lighting to add additional light that looks great and matches our lifestyle.
The lighting adds additional task lighting when working by the cabinets and automatically adjusts the color temperature depending on the time of day. It uses an RGBW controller to create any color you want, so you can have more “festive” lighting during parties as well.
My goals for the project were to:
- Create and mount LED lighting underneath my kitchen cabinets
- Full RGB control
- Local control of lights, no cloud service
- Add automated circadian rhythm lighting. Lights should change color based on the time of today.
- There shouldn’t be a lot of extra wires laying around, lights should integrate nicely with the cabinets. Nothing visible.
I achieved all that with my project using the Shelly RGBW2 to control a strand of LED Lights while using Home Assistant and MQTT for the control and automation.
Hardware
First off, you can see from the picture below my kitchen is broken up into two sections separated by a window. I didn’t want to have visible wires going across from one side to another.
So I decided to just make two sections of LED strips. One section for each half of the kitchen, separated by the window. Each side has it’s own power supply and LED controller (Shelly RGBW2 in my case). This also allows me to control the color of each side individually, although I doubt I’ll do that often.
You might be wondering if there is any delay when using two separate Shelly devices to control each side. I’m happy to report that there is no noticeable delay. So even though each side is individually controlled by its own Shelly RGBW2, they react so fast over local MQTT control that it’s imperceivable if one is turning on before the other.
Ultimately the hardware I ended up going with can be seen in the table below:
Item | Comments |
---|---|
LED Strip | The LED Strip! |
Power Supply | LED Power Supply |
Shelly RGBW2 | Shelly RGBW2 LED Controller |
LED Connector Cable | Nice cables for connecting LED strips |
Cable | Cable for connecting strip with controller/power supply |
LED Channel Diffuser | Used to diffuse LED and mount to cabinet |
Soldering Fun
The first part of this project was a lot of soldering. I first measured my cabinets and cut my LED strips to match the lengths needed. My cabinets are basically two “L” shapes separated by the window.
I planned on running the wiring to the power supply and Shelly in the corner of the cabinets, so I decided to make 4 different strips. 2 strips would connect in each corner and then connect to their own power supply and Shelly RGBW2. I could have also made one continuous strip for each side.
After cutting the strips I needed to add connectors to each strip. I had a lot of 3 strand wiring and connectors left over from other projects so I decided to reuse that. Because the LED strips essentially have 5 pins though that meant using two cables per LED strip. Here’s what the cables look like soldered onto one strip.
After soldering onto the strip I used heat shrink tubing and hot glue to create a better connection and make sure there were no shorts.
Next, I connected up LED strips into an “L” formation. I soldered together the cables that were destined for the same side of the kitchen with a couple of 3-pin connectors. This connector was used so that I can disconnect the strips from the power supply and Shelly without having to use the screw terminals.
I created cables with mating connectors that just plug into the Shelly and power supply.
Take all the soldering slow and make sure you have good connections and are soldering the right cables. This project will definitely sharpen your soldering skills!
Installation
Getting it Flush
Now probably the most annoying part of the process, the installation. At least for my setup, it was rather annoying. I wanted my lights to blend well into my cabinets. In the picture below you can see that the bottom of my cabinets isn’t completely flat. There is a little edge of wood between each cabinet that extends beyond the base.
To mount the aluminum channel flush to the bottom of the cabinet I decided I would notch out a little piece so that the channel could run without interruption.
Notching this out with my oscillating tool was pretty straightforward. Afterward, I screwed in the plastic brackets that would grip the channel and popped in the LED channel.
Wiring it Up
With the two strips making an “L” formation and meeting in the corner, I now had to figure out how to get the cables to the Shelly and power supply. Where the two sides of my cabinets meet in the corner is actually hollow from top to bottom.
I decided to put the power supply and Shelly into the topmost cabinet because we hardly use it and it doesn’t take a large amount of space. I use the hollow gap between cabinets and the wire runs through that. To get from below the cabinet into that gap I decided to drill a small hole in the corner of the cabinets to get the wires to the first layer
After the first layer, the cables connect to the other cables on the other side. Those cables run along the hollow gap to the power supply and Shelly sitting in the top cabinet.
The opening you see on the right side of the picture is the hollow gap I’m talking about that runs the height of the cabinets. That’s not a cabinet door or anything, that gap is just present where the cabinets meet in the corner.
While this seems pretty straightforward, you definitely want to take your time during the whole process to make sure your cuts go in the right place and that your LED channels are nice and straight. Not to mention that the wires connect up correctly so you don’t damage anything accidentally. These steps will probably be very custom to your kitchen layout. Look for hollow spots between your cabinets where you can easily run cable.
After completing one side I pretty much repeated the same thing on the other side, making fewer mistakes along the way…
Software
The software side is pretty straightforward. If you look back at my review of the Shelly RGBW2 I walk you through the steps of enabling MQTT on the device and adding it to Home Assistant. In my case, because I’m using two Shellys to control the strips in my kitchen I also made a group of the two lights so I could control them at once.
1 2 3 4 5 6 7 8 |
--- # Combine the two sets of string lights into a group platform: group name: Kitchen Lights entities: - light.kitchen_leds_left - light.kitchen_leds_right |
This works great in my experience! You might expect that because they are two different devices under the hood you might see some lag when switching them using the group, but it’s not noticeable at all from my point of view. So if you think it’s easier to go with two devices for your cabinet layout, don’t let that be a reason for concern.
Automations
For my kitchen lighting, I wanted to use some sort of circadian lighting setup. Basically, I wanted the lights to change color depending on the time of day. A great place to get started with this is the Home Assistant flux component. This component automatically adjusts the color and temperature of lights so that they are bright during the day and transition to a warm red/orange at night that is easier on your eyes. Enabling it is pretty simple you just add a new switch and list what lights you want it to track.
1 2 3 4 5 |
--- platform: flux lights: - light.kitchen_lights |
We decided to go with this but also wanted the lights to be blue on Tuesday and Friday mornings, the days where we have to take out the trash. This would serve as a little reminder to us in case we forgot. So I created a couple of scenes/automations in Home Assistant to basically use the flux provided circadian lighting at all times besides Tuesday and Friday mornings before 10 AM. After 10 AM the lights transition back to normal circadian lighting.
After reading about circadian lighting and Home Assistant you’ll probably eventually stumble upon the Circadian Lighting Home Assistant Custom Component. This custom component has more features for this type of lighting style so might be worth checking out to see if it fits your needs.
Conclusion
Overall this was a really fun project that has improved the utility of our kitchen. The extra lighting is great when you are prepping some food or using an appliance underneath the cabinets. I’m also looking forward to changing the colors for parties that we have at our house to match whatever is going on, just for some extra fun. This project was pretty time intensive especially all the soldering and installment work that has to be done, but I’m glad I got it done.
If you’re a fan of LED strip projects, you might be interested in some of my other articles:
If you found this tutorial helpful, please consider supporting the blog by joining my mailing list, following the blog on social media or directly through Buy Me a Coffee. Thanks for reading!