CircuitPython for the Metro ESP32-S2 uses different pin names than you may be used to. Many CircuitPython boards use the D prefix for digital pin names, such as D1 or D12. The pin names for the Metro ESP32-S2 use the IO prefix, such as IO1 or IO12.

The pin numbers on the Metro ESP32-S2 match the ESP32-S2 'low level chip pin numbers' that ESP32 users are most familiar with. The pins are not numbered like other typical Metro-shaped boards, so where you may expect pin 0 to be, its actually IO5.

We're not yet using D prefix names to avoid the confusion of having D-prefix names not match the IO pins.

The following pins have both the standard CircuitPython pin name and the IOx pin name available:

  • Analog pins A0-A5
  • Default I2C port SCL & SDA
  • Default SPI port SCK, MISO, MOSI
  • Default hardware Serial port RX, TX
  • LED (red LED)
  • NEOPIXEL (built in RGB LED)

Pin Name Diagram

The following diagram shows the standard CircuitPython pin names, the IO pin names, the singleton names and the debug/DFU pins.

This guide was first published on Nov 04, 2020. It was last updated on 2021-11-30 14:21:18 -0500.

This page (CircuitPython Pin Names) was last updated on May 21, 2022.

Text editor powered by tinymce.