Skip to content

M5Stack NanoC6

RecommendedTiny, about $6. The pick for a whole house. C6 support is still bleeding edge.
ChipESP32-C6
Form factorEnclosed stick, 24 × 12 mm
Flash4 MB
AntennaCeramic chip antenna
USBUSB-C (native USB-CDC)
InstallBrowser installer
Price~$6
Storesm5stackaliamz/us
GPIOFunctionESPresense setting
20WS2812 RGB LEDLEDs
19RGB LED power enableOutputs
7Blue LEDLEDs
9Button (active low)Inputs
3IR emitter—
2GROVE SDA (yellow)—
1GROVE SCL (white)—

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":"M5 NanoC6","chip":"esp32c6","settings":{"leds":[{"type":"grb","pin":20,"count":1,"control":"status"},{"type":"pwm","pin":7,"count":1,"control":"mqtt"}],"inputs":[{"name":"Button","role":"button","pin":9,"type":"pullup_inverted"}],"outputs":[{"name":"LED power","pin":19,"type":"high"}]}}
Formatted, with what each value means
{
  "name": "M5 NanoC6",
  "chip": "esp32c6",
  "settings": {
    "leds": [
      {
        "type": "grb",
        "pin": 20,
        "count": 1,
        "control": "status"
      },
      {
        "type": "pwm",
        "pin": 7,
        "count": 1,
        "control": "mqtt"
      }
    ],
    "inputs": [
      {
        "name": "Button",
        "role": "button",
        "pin": 9,
        "type": "pullup_inverted"
      }
    ],
    "outputs": [
      {
        "name": "LED power",
        "pin": 19,
        "type": "high"
      }
    ]
  }
}

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 RGB LED (LED 1, Addressable GRB) shows status in colour. It’s only powered while GPIO 19 is high, so the template adds an Always High output on 19 (no Home Assistant entity). The blue LED is LED 2, controlled over MQTT.
  • GPIO 9 is the boot strapping pin: holding the button while plugging in enters download mode.