prefixkit Ask an engineerAsk Support RU

ESPHome devices

NeatoFx Motor: ESPHome

NeatoFx Motor (other devices, ESP32): GPIO pinout and a starter ESPHome config with relays, buttons, LED. Local Home Assistant control with no cloud.

Type
Other devices
Chip
ESP32
Region standard
GLOBAL

Pinout

PinFunction
GPIO19R_PWM — direction 1 / forward / reel-out / valve A (LEDC 1 kHz)
GPIO18L_PWM — direction 2 / reverse / reel-in / valve B (LEDC 1 kHz)
GPIO17R_EN — right H-bridge enable (INH)
GPIO16L_EN — left H-bridge enable (INH)
GPIO34R_IS — right H-bridge current sense (ADC, input-only)
GPIO35L_IS — left H-bridge current sense (ADC, input-only)
GPIO32Input 1 — joystick forward / trigger A (hold-to-run)
GPIO27Input 2 — joystick reverse / trigger B (hold-to-run)
GPIO25SW1 — open/forward limit switch (standard board)
GPIO13SW2 — closed/reverse limit switch (Hall B in winch mode)
GPIO4CAN RX (with CAN add-on) / Hall A (winch) / open limit (manual)
GPIO5CAN TX (with CAN add-on)
GPIO26Status LED (home limit switch in winch mode)
GPIO21/22DY-SV5W sound module UART (with sound add-on)

Find it in shops: AliExpress

Links open a search in the shop; some are affiliate links: buying through them costs you nothing extra and supports this site. We do not sell devices or get them from manufacturers.

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-motor

esphome:
  name: ${name}
  friendly_name: "NeatoFx Motor"

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:

status_led:
  pin:
    number: GPIO19
    inverted: false  # R_PWM — direction 1 / forward / reel-out / valve A (LEDC 1 kHz)

# Other pins from the pinout:
#   GPIO18: L_PWM — direction 2 / reverse / reel-in / valve B (LEDC 1 kHz)
#   GPIO26: Status LED (home limit switch in winch mode)
#   GPIO17: R_EN — right H-bridge enable (INH)
#   GPIO16: L_EN — left H-bridge enable (INH)
#   GPIO34: R_IS — right H-bridge current sense (ADC, input-only)
#   GPIO35: L_IS — left H-bridge current sense (ADC, input-only)
#   GPIO32: Input 1 — joystick forward / trigger A (hold-to-run)
#   GPIO27: Input 2 — joystick reverse / trigger B (hold-to-run)
#   GPIO25: SW1 — open/forward limit switch (standard board)
#   GPIO13: SW2 — closed/reverse limit switch (Hall B in winch mode)
#   GPIO4: CAN RX (with CAN add-on) / Hall A (winch) / open limit (manual)
#   GPIO5: CAN TX (with CAN add-on)
#   GPIO21/22: DY-SV5W sound module UART (with sound add-on)

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.

Similar devices

Idea?