

The Adafruit Metro ESP32-S2 is a versatile and powerful development board that harnesses the capabilities of the ESP32-S2 chip. This board is designed for a wide range of applications, from Internet of Things (IoT) projects to complex wireless communication systems. With built-in Wi-Fi, USB connectivity, and an extensive array of General Purpose Input/Output (GPIO) pins, the Metro ESP32-S2 is a go-to choice for hobbyists and professionals alike.








| Pin Number | Function | Description |
|---|---|---|
| 1 | 3V3 | 3.3V power supply pin |
| 2 | GND | Ground |
| 3-5 | GPIO 1, 2, 3 | General Purpose Input/Output |
| 6 | TX0 | UART transmit |
| 7 | RX0 | UART receive |
| 8-10 | GPIO 4, 5, 6 | General Purpose Input/Output |
| 11 | SDA | I2C data line |
| 12 | SCL | I2C clock line |
| 13-17 | GPIO 7-11 | General Purpose Input/Output |
| 18 | A0 | Analog input channel 0 |
| 19-34 | A1-A16 | Analog input channels 1-16 |
| 35 | VIN | Input voltage for battery or unregulated power |
Below is a simple example of how to blink an LED connected to a GPIO pin on the Adafruit Metro ESP32-S2 using the Arduino IDE.
// Define the LED pin
const int LED_PIN = 13; // Use the onboard LED pin
// Setup function runs once at the start
void setup() {
// Initialize the LED pin as an output
pinMode(LED_PIN, OUTPUT);
}
// Loop function runs over and over again forever
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn the LED on
delay(1000); // Wait for a second
digitalWrite(LED_PIN, LOW); // Turn the LED off
delay(1000); // Wait for a second
}
Remember to select the correct board and port in the Arduino IDE before uploading the code to the Adafruit Metro ESP32-S2.
For more complex applications involving Wi-Fi and IoT, refer to the ESP32-S2 specific libraries and examples provided by Adafruit and the ESP32 community.