H801 RGBW LED controller

The H801 is pretty afordable 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
  platform: ESP8266
  board: esp01_1m
  ssid: 'WIFI'
  password: 'WIFIPASS'
    static_ip: x.x.x.x
    gateway: x.x.x.x
  - platform: wifi_signal
    name: "WiFi Signal h801light"
    update_interval: 60s
  - 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 its pretty roomy and not a lot of components or stuff in the way part 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)