When it comes to LED strips the market is flooded with expensive premium brands such as LIFX. This post offers a cheap alternative that is not only affordable but also works offline and integrates well into existing smart home systems via MQTT.
Tasmota has been my firmware of choice for years due to its stability and customisability. I wrote before about flashing Tasmota to cheap Officeworks light bulbs and this post uses simliar concepts. The process involved carefully opening up the controller housing and connecting jumper wires and flashing a new firmware to the controller.
Bill of Materials
The following BOM contains AliExpress affiliate links.
Image | Product | Features | Price |
H801 Wifi LED Controller | |||
USB to Serial Programmer | |||
20AWG Wire | |||
AC TO DC Power Supply | |||
5m LED Strip 5050 Warm White | |||
Breadboard Jumper Wires |
LED Strip, Warm White, 5050 LED chip @ 120led per meter | $12.00 for 5meter |
H801 Wifi LED Controller | $13.00 |
Some 20AWG cable to extend the LED cables | |
FTDI FTD1232 USB to serial programmer to flash firmware | $6.00 |
jumper wires for flashing | on hand |
AC to DC power supply 12Volt 5Amp | $20.00 |
Instructions
- Open the H801 Controller case
Open the case and locate the 4 pins used to flash firmware
- Follow Tasmota Documentation for flashing instructions
The documentation shows how to flash Tasmota on to the H801 controller.
- Connect wires to USB programmer and controller
It’s best to use female to male jumper wires. Connect the female end to the USB programmer and insert the male end into the exposed pin wholes on the H801 controller. Make sure you orient the connector such that the VCC pin (red/pink wire) connects to VCC on the controller.
It is not necessary to solder anything because you can just push on the wires to ensure they stay in contact with the board during the 30s flashing process. Using some electrical tape to create a makeshift connector that holds its shape is very helpful. - Connect H801 to power supply
Connect the controller to 12V power supply and wait for the
tasmota-****
Wifi network to appear in your network list. - Connect to Tasmota open Wifi network and configure your Wifi connection details
- Use Backlog to configure all settings
I created a Backlog command you can paste into the Tasmota console to automatically configure many settings at the same time using a single command. I set all my devices to report data at 120s intervals. setting the time zone correctly is also advisable to avoid headaches later. Replace the placeholder values below and execute the command.
Backlog TelePeriod 120; MqttUser mqtt_user; MqttPassword mqtt_pass; MqttHost 192.167.1.5; WebPassword webpassword; timezone +8; SetOption59 1;
SetOption59
is required to ensure HomeAssistant compatibility. It makes the Tasmota sendtele/%topic%/STATE
in addition tostat/%topic%/RESULT
for commands. - Set up device in Home Assistant
See next section for more details
Advertisement Begins
Advertisement End
MY MISSION
This blog started nearly 10 years ago to help me document my technical adventures in home automation and various side projects. Since then, my audience has grown significantly thanks to readers like you.
While blog content can be incredibly valuable to visitors, it’s difficult for bloggers to capture any of that value – and we still have to work for a living too. There are many ways to support my efforts should you choose to do so:
Consider joining my newsletter or shouting a coffee to help with research, drafting, crafting and publishing of new content or the costs of web hosting.
It would mean the world if gave my Android App a go or left a 5-star review on Google Play. You may also participate in feature voting to shape the apps future.
Alternatively, leave the gift of feedback, visit my Etsy Store or share a post you liked with someone who may be interested. All helps spread the word.
BTC network: 32jWFfkMQQ6o4dJMpiWVdZzSwjRsSUMCk6
Home Assistant Integration
mqtt:
light:
- name: Kitchen Led
state_topic: "tele/son_kitchen_led/RESULT"
command_topic: "cmnd/son_kitchen_led/Power5"
state_value_template: "{{ value_json.POWER5 }}"
brightness_state_topic: "tele/son_kitchen_led/STATE"
brightness_command_topic: "cmnd/son_kitchen_led/Channel5"
brightness_value_template: "{{ value_json.Channel5 }}"
brightness_scale: 100
optimistic: false
qos: 1
- name: Bedroom Led
state_topic: "stat/son_bedroom_led/POWER3"
command_topic: "cmnd/son_bedroom_led/Power3"
brightness_state_topic: "stat/son_bedroom_led/RESULT"
brightness_command_topic: "cmnd/son_bedroom_led/Channel3"
brightness_value_template: "{{ value_json.Channel3 }}"
optimistic: false
qos: 1
- name: Headboard Led
state_topic: "stat/son_bedroom_led/POWER2"
command_topic: "cmnd/son_bedroom_led/Power2"
brightness_state_topic: "stat/son_bedroom_led/RESULT"
brightness_command_topic: "cmnd/son_bedroom_led/Channel2"
brightness_value_template: "{{ value_json.Channel2 }}"
optimistic: false
qos: 1