prefixkit Ask an engineerAsk Support RU

ESPHome devices

Smart Oil Gauge: ESPHome

Smart Oil Gauge (sensors, ESP8266): GPIO pinout and a starter ESPHome config with relays, buttons, LED. Local Home Assistant control with no cloud.

Type
Sensors
Chip
ESP8266
Region standard
US

Pinout

PinFunction
GPIO14Ultrasonic Power
GPIO12Control Button (HIGH = off, LOW = on)
GPIO13System Timer DONE (TP5111)
GPIO15Analog Switch SELECT (SN74LVC1G3157)
GPIO2Control Board LED (HIGH = off, LOW = on)
GPIO0UART download
GPIO16Connected to RST
A0Temperature or Battery Voltage
GPIO5Ultrasonic Echo (JSN-SR04T)
TXDUART0_TXD
RXDUART0_RXD
GPIO4Ultrasonic Trigger (JSN-SR04T)

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: smart-oil-gauge

esphome:
  name: ${name}
  friendly_name: "Smart Oil Gauge"

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:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO12
      mode: INPUT_PULLUP
      inverted: true
    name: "Button"  # Control Button (HIGH = off, LOW = on)

status_led:
  pin:
    number: GPIO2
    inverted: true  # Control Board LED (HIGH = off, LOW = on)

# Other pins from the pinout:
#   GPIO14: Ultrasonic Power
#   GPIO13: System Timer DONE (TP5111)
#   GPIO15: Analog Switch SELECT (SN74LVC1G3157)
#   GPIO0: UART download
#   GPIO16: Connected to RST
#   A0: Temperature or Battery Voltage
#   GPIO5: Ultrasonic Echo (JSN-SR04T)
#   TXD: UART0_TXD
#   RXD: UART0_RXD
#   GPIO4: Ultrasonic Trigger (JSN-SR04T)

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?