Starter ESPHome config
Built from the pinout above. Keys and the Wi-Fi password come from secrets.yaml in ESPHome. Check the pins against your hardware revision before flashing: one model can ship with different boards.
substitutions:
name: ultrapro-wfd3001-3-way-d
esphome:
name: ${name}
friendly_name: "UltraPro WFD3001 3-Way Dimmer Switch"
bk72xx:
board: generic-bk7231n-qfn32-tuya # BK7231T or BK7231N: check the chip marking
logger:
api:
encryption:
key: !secret api_key
ota:
- platform: esphome
password: !secret ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap: {}
captive_portal:
binary_sensor:
- platform: gpio
pin:
number: P6
mode: INPUT_PULLUP
inverted: true
name: "Button 1" # Reset button (behind wall plate, active LOW; hold 5 s = factory reset)
- platform: gpio
pin:
number: P7
mode: INPUT_PULLUP
inverted: true
name: "Button 2" # Upper paddle button (active LOW)
- platform: gpio
pin:
number: P8
mode: INPUT_PULLUP
inverted: true
name: "Button 3" # Lower paddle button (active LOW)
status_led:
pin:
number: P24
inverted: true # Blue status LED (active HIGH)
# Other pins from the pinout:
# P10: UART RX (from secondary dimmer MCU)
# P11: UART TX (to secondary dimmer MCU)
# ADC3: 3-way companion switch sense (analog voltage divider)
How to flash
- Most devices are flashed over UART: a 3.3 V USB-TTL adapter to RX, TX, GND and 3V3, holding GPIO0 to ground at power-on (ESP8266/ESP32). Mains power disconnected.
- Beken (BK72xx) and Realtek chips are flashed with ltchiptool, or with cloudcutter without opening the case if the firmware allows it.
- Details and board photos: the device page in the ESPHome database.
A config from scratch: ESPHome generator. Which pins are safe: pinout.