Skip to content

Athom Plug V3

Works, with caveatsWeak antenna. Use one you already own; buy the SwitchBot Plug Mini instead.
ChipESP32-C3
Form factorUS smart plug (16 A)
Flash4 MB
AntennaPCB antenna
InstallSerial, esp32c3-cdc flavor
GPIOFunctionESPresense setting
5RelayOutputs
6Blue LED (active low)LEDs
3Button (active low)Inputs
20CSE7766 power meter (RX)Power monitor

Paste this into the Board Template box on the node's Templates page, then Preview and Apply (firmware v5.0.0b1 or later). It sets the board's pins (and Ethernet type, if it has one) in one go. The LED, input and output lists replace what was configured before, so the result doesn't depend on the node's old setup. See Templates.

{"name":"Athom Plug V3","chip":"esp32c3","settings":{"leds":[{"type":"pwm_inverted","pin":6,"count":1,"control":"status"}],"inputs":[{"name":"Button","role":"button","pin":3,"type":"pullup_inverted"}],"outputs":[{"name":"Relay","pin":5,"type":"output","power_on":"restore","input":1}],"power":{"model":"cse7766","rx":20}}}
Formatted, with what each value means
{
  "name": "Athom Plug V3",
  "chip": "esp32c3",
  "settings": {
    "leds": [
      {
        "type": "pwm_inverted",
        "pin": 6,
        "count": 1,
        "control": "status"
      }
    ],
    "inputs": [
      {
        "name": "Button",
        "role": "button",
        "pin": 3,
        "type": "pullup_inverted"
      }
    ],
    "outputs": [
      {
        "name": "Relay",
        "pin": 5,
        "type": "output",
        "power_on": "restore",
        "input": 1
      }
    ],
    "power": {
      "model": "cse7766",
      "rx": 20
    }
  }
}

LED type: pwm, pwm_inverted, grb, grbw, rgb or rgbw (the last four are addressable). LED control: mqtt, status, motion, count, or output (follows the output numbered byoutput). Input type: pullup, pulldown or floating, with_inverted for active-low. Output type: output, output_inverted, or high/low for a pin that's just held at that level. An output's input is the 1-based input that controls it. power takes ESPHome's hlw8012 values (a cse7766 needs only rx); sel_inverted matches ESPHome's inverted on sel_pin. eth is the Ethernet Type's option number.

  • The antenna is weak. RSSI reads low next to a branded board at the same distance, which throws off fleet calibration. Hence the caveat.
  • The relay is output 1. It shows in Home Assistant as a switch named Relay, and MQTT espresense/rooms/<room>/output_1/set takes ON, OFF or TOGGLE. The button toggles it, and after a power cut it returns in its last state.
  • Power monitoring uses the CSE7766, factory calibrated, so the only setting is its RX pin. Reports power, voltage, current and energy every 10 s.
  • Install the esp32c3-cdc flavor. The power meter is on GPIO 20, the C3’s serial RX pin; -cdc moves the console to USB and frees it. Flashing over the serial pads is unchanged, you just lose the serial log.