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: neatofx-audio-50
esphome:
name: ${name}
friendly_name: "NeatoFx Audio 50"
esp32:
board: esp32dev
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:
switch:
- platform: gpio
pin: GPIO26
id: relay1
name: "Relay 1" # Relay 1 output
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO27
id: relay2
name: "Relay 2" # Relay 2 output
restore_mode: RESTORE_DEFAULT_OFF
binary_sensor:
- platform: gpio
pin:
number: GPIO32
mode: INPUT_PULLUP
inverted: true
name: "Button 1" # Push button (INPUT_PULLUP)
on_press:
- switch.toggle: relay1
- platform: gpio
pin:
number: GPIO36
mode: INPUT_PULLUP
inverted: true
name: "Button 2" # RF remote button A
on_press:
- switch.toggle: relay2
- platform: gpio
pin:
number: GPIO2
mode: INPUT_PULLUP
inverted: true
name: "Button 3" # RF remote button B
on_press:
- switch.toggle: relay1
- platform: gpio
pin:
number: GPIO15
mode: INPUT_PULLUP
inverted: true
name: "Button 4" # RF remote button C
on_press:
- switch.toggle: relay1
- platform: gpio
pin:
number: GPIO35
mode: INPUT_PULLUP
inverted: true
name: "Button 5" # RF remote button D
on_press:
- switch.toggle: relay1
status_led:
pin:
number: GPIO33
inverted: false # FET 1 — SpotLight 1 (LEDC PWM)
# Other pins from the pinout:
# GPIO25: FET 2 — SpotLight 2 (LEDC PWM)
# GPIO22: Heartbeat LED output
# GPIO23: Status LED (active-low)
# GPIO17: DFPlayer Mini UART TX (→ DFPlayer RX)
# GPIO16: DFPlayer Mini UART RX (← DFPlayer TX)
# GPIO0: Amplifier wake (active-high)
# GPIO5: Amplifier unmute (active-low)
# GPIO4: RF TX power enable
# GPIO34: Wired input 1 (active-low)
# GPIO39: Wired input 2 (active-low)
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.