# Adafruit Metro ESP32-S2

> Arduino Uno-compatible WiFi dev board with ESP32-S2 single-core @ 240MHz, 4MB Flash, 2MB PSRAM, native USB-C, STEMMA QT, LiPoly charging, MAX17048 fuel gauge, barrel jack, and UNO shield compatibility.

## Quick Facts

- **Brand:** Adafruit
- **Board Type:** dev-board
- **Price:** ~$24.95
- **Product Readiness:** consumer
- **CPU:** Xtensa LX7 single-core @ 240MHz (ESP32-S2)
- **CPU Architecture:** Xtensa LX7
- **CPU Cores:** 1
- **RAM:** 320KB SRAM + 2MB PSRAM
- **Flash:** 4MB SPI Flash
- **Power:** 5V via USB-C, 6-12V barrel jack, or LiPoly battery
- **Operating Voltage:** 3.3V
- **Dimensions:** 53.2 x 72.0 x 14.8mm
- **Weight:** 22.5g
- **Antenna:** Built-in PCB antenna

## Connectivity

- **Wifi:** 802.11 b/g/n @ 2.4GHz (ESP32-S2)
- **Bluetooth:** false
- **Zigbee:** false
- **Ethernet:** false

## Open Source

- **Firmware:** Yes
- **Schematics:** Yes
- **PCB Layout:** Yes

## Certifications

RoHS

## Compatible Firmware

circuitpython, arduino, esp-idf

## Use Cases

- iot
- smart-home
- environmental-monitoring

## Components

- **ESP32-S2** (mcu): Espressif ESP32-S2 single-core Xtensa LX7 @ 240MHz, WiFi 802.11 b/g/n, native USB 1.1 OTG. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.espressif.com%2Fsites%2Fdefault%2Ffiles%2Fdocumentation%2Fesp32-s2_datasheet_en.pdf&ref=openhardware.directory&product=adafruit-metro-esp32-s2&source=md-export)
- **MAX17048** (battery-gauge): Maxim MAX17048 1-cell Li+ fuel gauge, I2C, reports state-of-charge via ModelGauge algorithm. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fdatasheets.maximintegrated.com%2Fen%2Fds%2FMAX17048-MAX17049.pdf&ref=openhardware.directory&product=adafruit-metro-esp32-s2&source=md-export)

## Protocols

- **I2C**: SDA: GPIO33, SCL: GPIO34
- **SPI**: MOSI: GPIO35, MISO: GPIO37, SCK: GPIO36
- **UART**: TX: GPIO43, RX: GPIO44
- **USB**: D-: GPIO19, D+: GPIO20
- **PWM**: 
- **ADC**: 
- **DAC**: 

## GPIO Map

| Pin | Name | Type | Functions |
|-----|------|------|-----------|
| GPIO1 | A0 | ADC | ADC, GPIO |
| GPIO2 | A1 | ADC | ADC, GPIO |
| GPIO3 | A2 | ADC | ADC, GPIO |
| GPIO4 | A3 | ADC | ADC, GPIO |
| GPIO33 | A4/SDA | I2C | I2C, ADC, GPIO |
| GPIO34 | A5/SCL | I2C | I2C, ADC, GPIO |
| GPIO38 | D0/RX | UART | UART, GPIO |
| GPIO39 | D1/TX_alt | UART | UART, GPIO |
| GPIO5 | D2 | GPIO | GPIO, PWM |
| GPIO6 | D3/PWM | PWM | PWM, GPIO |
| GPIO9 | D4 | GPIO | GPIO |
| GPIO10 | D5/PWM | PWM | PWM, GPIO |
| GPIO11 | D6/PWM | PWM | PWM, GPIO |
| GPIO12 | D7 | GPIO | GPIO |
| GPIO13 | D8 | GPIO | GPIO |
| GPIO14 | D9/PWM | PWM | PWM, GPIO |
| GPIO15 | D10/PWM/CS | SPI | SPI, PWM, GPIO |
| GPIO35 | D11/MOSI | SPI | SPI, GPIO |
| GPIO37 | D12/MISO | SPI | SPI, GPIO |
| GPIO36 | D13/SCK | SPI | SPI, GPIO |
| GPIO43 | TX | UART | UART, GPIO |
| GPIO44 | RX | UART | UART, GPIO |
| GPIO19 | USB_D- | USB | USB, GPIO |
| GPIO20 | USB_D+ | USB | USB, GPIO |

## Available Software

- **[circuitpython]()** (open-source)
- **[arduino]()** (open-source)
- **[esp-idf]()** (open-source)

## Description

## Overview

The Adafruit Metro ESP32-S2 brings native USB and WiFi connectivity to the familiar Arduino Uno-compatible Metro form factor. Built around Espressif's ESP32-S2 single-core Xtensa LX7 at 240MHz, it combines the ESP32-S2's built-in 802.11 b/g/n WiFi and native USB 1.1 OTG with a layout that accepts standard Arduino shields through UNO-compatible header spacing.

Memory is provided by a 4MB Flash WROVER module and 2MB of PSRAM, giving it comfortable headroom for CircuitPython programs, web server content, and data buffers. The native USB-C connector connects directly to the ESP32-S2's USB peripheral — no separate USB-to-UART bridge chip — enabling CDC serial, HID, MIDI, and DFU device modes. A STEMMA QT/Qwiic connector provides solderless I2C sensor expansion.

Power options are unusually flexible for a Metro board: a 6–12V barrel jack for bench supply, USB-C for desk use, or a LiPoly battery through the JST connector. A MAX17048 battery fuel gauge chip reports remaining charge state over I2C, and the onboard charger keeps the battery topped up when external power is present. Status LEDs indicate power, charging, and user-definable output. Reset and DFU (boot) buttons are placed for convenient access.

JTAG debug pads are exposed for hardware debugging with external probes. The board supports both CircuitPython (Adafruit's recommended environment) and Arduino via the arduino-esp32 library. Adafruit's Metro ESP32-S2 guide walks through WiFi connectivity, native USB HID, and STEMMA QT sensor integration from first boot.

## Where to Buy

- [Adafruit](https://openhardware.directory/r?to=https%3A%2F%2Fwww.adafruit.com%2Fproduct%2F4775&ref=openhardware.directory&product=adafruit-metro-esp32-s2&source=md-export) — 24.95

## Resources

- [product page](https://openhardware.directory/r?to=https%3A%2F%2Fwww.adafruit.com%2Fproduct%2F4775&ref=openhardware.directory&product=adafruit-metro-esp32-s2&source=md-export)
- [product](https://openhardware.directory/r?to=https%3A%2F%2Fwww.adafruit.com%2Fproduct%2F4775&ref=openhardware.directory&product=adafruit-metro-esp32-s2&source=md-export)
- [documentation](https://openhardware.directory/r?to=https%3A%2F%2Flearn.adafruit.com%2Fadafruit-metro-esp32-s2&ref=openhardware.directory&product=adafruit-metro-esp32-s2&source=md-export)
- [github](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2Fadafruit%2FAdafruit_Metro_ESP32S2&ref=openhardware.directory&product=adafruit-metro-esp32-s2&source=md-export)

## Tags

`metro`, `esp32-s2`, `wifi`, `adafruit`, `psram`, `circuitpython`, `usb-c`, `arduino-shield`, `stemma-qt`

## Images

![Adafruit Metro ESP32-S2](https://nbg1.your-objectstorage.com/openhardware-directory/entities/adafruit-metro-esp32-s2/4e12ae2c7359.jpg)
![Adafruit Metro ESP32-S2](https://nbg1.your-objectstorage.com/openhardware-directory/entities/adafruit-metro-esp32-s2/aacb61593d86.jpg)
![Adafruit Metro ESP32-S2](https://nbg1.your-objectstorage.com/openhardware-directory/entities/adafruit-metro-esp32-s2/ea96cc859292.jpg)

---
[View full device page](https://openhardware.directory/devices/adafruit-metro-esp32-s2)