H801 RGBW LED controller

The H801 is pretty affordable and easy to hack and adapt to your needs. It can be found on AliExpress Here is an article about the hardware for those who have an interest for more details about the board. It can be used as a RGB, RGBW, RGB dual white or even control 5 individual monochromatic strips if you want or combinations of these.


For ESPHome, you can then use the RGBW and the ESP8266 Software PWM output components using below configuration:

  name: h801light

  board: esp01_1m

  ssid: !secret wifi_ssid
  password: !secret wifi_password


  - platform: esp8266_pwm
    pin: 12
    frequency: 1000 Hz
    id: pwm_b
  - platform: esp8266_pwm
    pin: 13
    frequency: 1000 Hz
    id: pwm_g
  - platform: esp8266_pwm
    pin: 15
    frequency: 1000 Hz
    id: pwm_r
  - platform: esp8266_pwm
    pin: 14
    frequency: 1000 Hz
    id: pwm_w
  - platform: rgbw
    name: "H801 Light"
    red: pwm_r
    green: pwm_g
    blue: pwm_b
    white: pwm_w

Make your node in the ESPHome dashboard and compile/upload it. (if it fails OTA it must be uploaded manually with your favorite ESP flasher, e.g. esphome-flasher)


Front side of board with pins soldered on


Back side of the board (don’t melt the blue and red wire when soldering)


This LED strip can be used with the sketch as-is


For this type of led strip you have to swap the white and blue GPIO numbers in the sketch.

You will need to solder pins to the board inside the H801 (fortunately it’s pretty roomy and not a lot of components or stuff in the way apart from the 2 wires on the back).

3.3V, GND, TX and RX (RX to RX and TX to TX) needs to be connected to your serial adapter, the two other pins must be shorted throughout the flashing process by a jumper or a breadboard cable. (Remember to remove it after flashing)

Add A PIR(Motion) Sensor

It’s possible to use the header that was soldered on for flashing as an input. The example below uses the TX pin as a PIR motion sensor input:


H801 shown with PIR connected to header pins

The following can be appended to the YAML file for your H801 to configure the TX pin as a motion sensor input.

  - platform: gpio
    pin: GPIO3
    name: "GPIO3-TX Motion"
    device_class: motion

See Also