Cheap Wifi MQTT Controlled LED strip using Tasmota and Home Assistant

H801 LED Controller

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.

ImageProductFeaturesPrice
H801 Wifi LED Controller
  • RGBW 4 Channels
  • DC5-24 Volt input
USB to Serial Programmer
  • FTD1232
  • Use to flash Tasmota firmware to H801
20AWG Wire
  • Dual Core
AC TO DC Power Supply
  • 12V 5A output (match your LED strip)
5m LED Strip 5050 Warm White
  • Pleasant Warm White color
Breadboard Jumper Wires
  • Used for flashing controller
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 flashingon hand
AC to DC power supply 12Volt 5Amp$20.00

Instructions

  1. Open the H801 Controller case

    Open the case and locate the 4 pins used to flash firmware

  2. Follow Tasmota Documentation for flashing instructions

    The documentation shows how to flash Tasmota on to the H801 controller.

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

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

  5. Connect to Tasmota open Wifi network and configure your Wifi connection details

  6. 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 send tele/%topic%/STATE in addition to stat/%topic%/RESULT for commands.

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

Related posts

Troubleshooting Asus Xonar U7: Blinking LED and Connectivity Issues

5 Questions to consider before buying smart home products

Integrating Mi/QingPing BLE sensors into Home Assistant without a Gateway

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More