ESP32-C3-based smart lights controller for Home Assistant
Designed by Sonocotta in PolandThis seller is taking a break until Dec. 27, 2024. Sign up below to get an email when they're back!
No shipping info available.
Set destination country to see options
Shipping to starts at
Free shipping is available to !
Ships from
This item does not ship to .
More Info
Sign up and we'll send a reminder when the seller returns!
ESP Luma Drive is a simple device that is designed to be used as an ESPHome-controlled Home Assistant integrated smart lights controller. It has an onboard LED matrix consisting of 5 colors (RGBW + n…
Read More…ESP Luma Drive is a simple device that is designed to be used as an ESPHome-controlled Home Assistant integrated smart lights controller. It has an onboard LED matrix consisting of 5 colors (RGBW + night yellow) and a set of MOSFET drivers to individually control 5 lines of external LED strips (RGBWW), so it can be used with either.
I'm a Home Assistant enthusiast and working to automate my routines around the house, including a bunch of sensors and lights. I had an idea to include existing ceiling LED strips into the Home Assistant setup a long time ago, so I did.
The main component of the board is an ESP32-C3 MCU, that is powered from the same source that is powering the LED strip. That is usually 12V, too much for a linear regulator, so I used a high-efficiency drop-down converter instead. For ease of programming, I added a USB-C port, so whenever it is connected, it will be used to power the MCU, when 12V is missing. Although 5V is not enough to power onboard LEDs, it is convenient enough to program the MCU when needed. Why 5V is not enough to power LEDs? More on that below.
When I did the external LED controller, I thought that the LED strip was a great use case, but the device itself can be a glowing star of the show itself since I have no reason to not place a bunch of LEDs on it directly. This can be used to replace some of the smaller size lights around the house, with a specific use case for running runway lights on your night trip to the toilet and back from it.
# | ESP Luma Drive |
---|---|
Power house | Ai-Thinker ESP-C3-12F |
MCU | ESP32-C3, 160MHz, 4MB of flash, 400 KB SRAM |
Power | 5V from USB-C for flashing purposes only 12V DC for driving LEDs and the MCU |
Internal LEDs | 5 channels, 12 LEDs each: RGBW + Yellow |
External LED drivers | 5 channels, 4A each: RGBWW (suggested) |
Wireless Connectivity | Onboard WiFi + BLE |
Size (excl. packaging) | 94 x 54mm |
Size (incl. optional packaging) | 60 X 25 X 100mm |
Pin | Description | Setup | Calculated current (12V) | Max current (continuous) | Max current (pulse) |
---|---|---|---|---|---|
0 | RED | 4S3P + 120Ω | FV=2.2V I=26mA | 30mA | 100 mA |
1 | YELLOW | 4S3P + 120Ω | FV=2.2V I=26mA | 25mA | 60 mA |
10 | BLUE | 3S4P + 100Ω | FV=3.0V I=30mA | 30mA | 100 mA |
20 | GREEN | 3S4P + 100Ω | FV=3.0V I=30mA | 30mA | 100 mA |
21 | WHITE | 3S4P + 100Ω | FV=3.0V I=30mA | 30mA | 60 mA |
Names are not prescriptive, that's no more than a handy suggestion.
Pin | Name | Max current (continuous) |
---|---|---|
3 | BLUE | 3-4 A |
4 | GREEN | 3-4 A |
5 | WHITE | 3-4 A |
6 | RED | 3-4 A |
7 | YELLOW | 3-4 A |
All drivers are low side, meaning they will ground the output when the appropriate pin is driven high. You connect the load between the +12V (Plus side) and Driver output (Ground). I found this to be more common LED strips on sale.
Based on the above table, 12V is the maximum voltage that can guarantee a continuous full-brightness run. If you aim for the short flashes you may use higher voltage. I did tests with 19V and within a minute or two board was working fine. At your own risk, you can apply even higher voltage, considering the following limits
Since both devices are designed to be primarily used within the Home Assistant setup, the software folder contains ESPHome configurations for both devices.
luma-drive-external-leds
is a simple external LEDs driver with PWM on every channel and a few sample effectsluma-drive-internal-leds
is a simple internal LEDs driver with PWM on every channel and the same sample effectsDue to the limit in PWM channels on the ESP32-C3, you can't use all 10 drivers at the same time, you can still use a secondary set in binary mode though
One simple way that ESP Luma Drive can be used in the Home Assistant is by using a media player device. Yaml config will get you started. Below are the configuration steps that you need to do in the HA itself.
Step | Screenshot |
---|---|
Add ESPHome Addon Navigate to HA Settings > Addons > Add Addon Search for SSH and install it. Enable Show in sidebar switch while you there |
|
Prepare ESP Luma Drive onboarding Use Web Flasher to flash stock ESPHome into device | |
Onboard ESP Luma Drive device into HA Go to the HA ESPHome page and you should be able to find a new device. You need to onboard it with the below config (feel free to change names) This will take a moment or two | |
Validate device in the ESPHome | |
Add ESPHome Integration Navigate to HA Settings > Devices & services > Integrations. Click the big + ADD INTEGRATION button, look for ESPHome, and click to add it. It should discover and add ESPHome media devices based on the previous step | |
Use your new device in the HA to control lights |
Please visit hardware section for board schematics and PCB designs. Note that PCBs are shared as multi-layer PDFs as well as Gerber archives.
The simplest way to light up the LED in the MCU world is to connect it to the 5V line over the current limiting resistor. The problem is the efficiency. Not so much if you use the LED for a low-current indication of something, much so if you want it to light the place.
# | V = 5V, FV = 2.2V, I = 30mA (Yellow, Red) | V = 5V, FV = 3V, I = 30mA (Green, Blue, White) |
---|---|---|
Current-Limiting Resistor | R = (5 - 2.2) / 0.03 = 93.3Ω, 91Ω | R = (5 - 3.0) / 0.03 = 66.7Ω, 68Ω |
LED Power | P(LED) = 2.2 * 0.03 = 0.066W | P(LED) = 3.0 * 0.03 = 0.09W |
Wasted power | P(R) = 2.8 * 0.03 = 0.084W | P(R) = 2.0 * 0.03 = 0.06W |
Efficiency | 44% | 60% |
Not so great. To solve that we prefer to use higher voltage and chain LEDs in series to minimize the waste
# | V = 12V, FV = 2.2V, I = 30mA (Yellow, Red), 4 in series | V = 12V, FV = 3V, I = 30mA (Green, Blue, White), 3 in series |
---|---|---|
Current-Limiting Resistor | R = (12 - 2.2x4) / 0.03 = 106.67Ω, 120Ω | R = (12 - 3.0*3) / 0.03 = 100Ω |
LED Power | P(LED) = 8.8 * 0.03 = 0.264W | P(LED) = 3.0 * 0.03 = 0.09W |
Wasted power | P(R) = 3.2 * 0.03 = 0.096W | P(R) = 9.0 * 0.03 = 0.27W |
Efficiency | 73.3% | 75% |
Not ideal, but much better still
No country selected, please select your country to see shipping options.
No rates are available for shipping to .
Enter your email address if you'd like to be notified when ESP Luma Drive can be shipped to you:
Thanks! We'll let you know when the seller adds shipping rates for your country.
Shipping Rate | Tracked | Ships From | First Item | Additional Items |
---|---|---|---|---|
:
|
Most of the packages are sent the next business day in the morning CET time. Delivery time varies wildly, but typically it is 1-2 weeks within EU and 3-4 weeks outside EU due to delays in customs. If the package does not show up after 8 weeks, please reach out for a replacement or refund.
Currently, Poczta Polska does not ship to Israel, and a few more countries due to a lack of airline operations. As soon as they will lift the restrictions, I'll restore shipments.
No shipping info available.
Set destination country to see options
Shipping to starts at
Free shipping is available to !
Ships from
This item does not ship to .
More Info
Sign up and we'll send a reminder when the seller returns!
$45.00
Free Shipping!
$24.00
Free Shipping!
$21.00
Free Shipping!
$45.00
Free Shipping!
$49.00
Free Shipping!
$6.00
Free Shipping!
$30.00
Free Shipping!
$15.00
Free Shipping!
$35.00
Free Shipping!
$7.99
Free Shipping!
$9.90
Free Shipping!
$19.00
Free Shipping!
By clicking Register, you confirm that you accept our Terms & Conditions
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!