devices.esphome.io
Tapo L900 RGB 5M Light Strip
Tapo L900 RGB 5M Light Strip
Device Type: lightElectrical Standard: globalBoard: rtl87xxDifficulty: Soldering required, 4/5
General Notes
This configuration is for the TP-Link Tapo L900 which comes as a colour changing LED strip with controller and power supply.
Flashing Instuctions
This device uses a Realtek Ameba Z2 RTL8720CF that is supported by LibreTiny.
ltchiptool works to flash an ESPHome generated .UF2 firmware via a USB to serial converter soldered to the test points on the board.
As per now, prokoma's fork of ltchiptool needs to be used due to a bug.
Possible Flashing Issues
I found RTL8720CF quite a pain to read/write to.
What worked for me is:
Using an external lab power supply and soldering a wire to the 3v3 test point and bumping the voltage to 3.35. GND of supply and serial converter need to be connected/shared.
Keeping the wires as short as possible ~50mm and soldering them directly beween the serial converter and the test points on the pcb.
Using terminal from Linux Debian/KDE and rebooting the system after the first attempt.
Soldering GPIO0 to the 3v3 line of the serial converter.
First plugging in the USB to the laptop and then powering on the lab supply.
Here the stock firmware dumped from this device.
GPIO Pinout
Pin | Function |
---|---|
PA19 | Red Channel |
PA18 | Green Channel |
PA17 | Blue Channel |
PA04 | Button |
Basic Configuration
esphome: name: lightstripa friendly_name: LightStripA
rtl87xx: board: generic-rtl8720cf-2mb-992k framework: version: 0.0.0 source: https://github.com/prokoma/libretiny#55aacc8 # loglevel: VERBOSE
# Enable logginglogger:
# Enable Home Assistant APIapi: encryption: key: "api_encryption_key"
ota: - platform: esphome password: "ota_password"
web_server: port: 80 auth: username: "web_server_username" password: "web_server_password"
wifi: ssid: !secret wifi_ssid password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Lightstripa Fallback Hotspot" password: "hotspot_password"
captive_portal:
output: - platform: libretiny_pwm id: output_red pin: PA19 - platform: libretiny_pwm id: output_green pin: PA18 - platform: libretiny_pwm id: output_blue pin: PA17# - platform: esp8266_pwm# id: output_white# pin: GPIOxx
light: - platform: rgb name: "Strip Light" id: strip_light red: output_red green: output_green blue: output_blue# white: output_white
binary_sensor: - platform: gpio id: strip_light_pushbutton pin: number: PA04 mode: INPUT_PULLUP name: "strip_light_pushbutton" internal: true on_click: max_length: 400ms # Single click then: - light.toggle: strip_light
Internal Pictures
Edit this page on GitHub