prefixkit Ask an engineerAsk Support RU

ESPHome devices

ESP-12F_Relay_X8: ESPHome

ESP-12F_Relay_X8 (relays, ESP8266): GPIO pinout and a starter ESPHome config with relays, buttons, LED. Local Home Assistant control with no cloud.

Type
Relays
Chip
ESP8266
Region standard
GLOBAL

Pinout

PinFunction
TXExposed on board 3.3V level! UART0_TX
RXExposed on board 3.3V level! UART0_RX
GPIO03.3V level! (pulled up, connect to GND for programming)
GPIO2UART1_TX
ADC
GPIO0Relay 6 (high on boot)
GPIO2Exposed on board, (blue) LED on the ESP-12F
GPIO4Relay 7
GPIO5Relay 8
GPIO12Relay 3
GPIO13Relay 4
GPIO14Relay 2
GPIO15Relay 5
GPIO16Relay 1 (high on boot)

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: esp-12f-relay-x8

esphome:
  name: ${name}
  friendly_name: "ESP-12F_Relay_X8"

esp8266:
  board: esp01_1m  # most plugs and relays have 1 MB flash; check yours

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: GPIO0
    id: relay1
    name: "Relay 1"  # Relay 6 (high on boot)
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO4
    id: relay2
    name: "Relay 2"  # Relay 7
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO5
    id: relay3
    name: "Relay 3"  # Relay 8
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO12
    id: relay4
    name: "Relay 4"  # Relay 3
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO13
    id: relay5
    name: "Relay 5"  # Relay 4
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO14
    id: relay6
    name: "Relay 6"  # Relay 2
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO15
    id: relay7
    name: "Relay 7"  # Relay 5
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO16
    id: relay8
    name: "Relay 8"  # Relay 1 (high on boot)
    restore_mode: RESTORE_DEFAULT_OFF

status_led:
  pin:
    number: GPIO0
    inverted: false  # 3.3V level! (pulled up, connect to GND for programming)

# Other pins from the pinout:
#   GPIO2: Exposed on board, (blue) LED on the ESP-12F
#   TX: Exposed on board 3.3V level! UART0_TX
#   RX: Exposed on board 3.3V level! UART0_RX
#   GPIO2: UART1_TX
#   ADC: 

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?