

The Waveshare ESP32-S3-Nano is a compact development board built around the ESP32-S3 microcontroller. This microcontroller features dual-core Xtensa LX7 processors, integrated Wi-Fi (802.11 b/g/n) and Bluetooth 5.0 LE capabilities, and a rich set of peripherals, making it ideal for IoT applications, smart devices, and rapid prototyping. The board is designed to be small and efficient, offering a versatile platform for developers to create connected solutions.








The Waveshare ESP32-S3-Nano is packed with features that make it a powerful yet compact development board. Below are its key technical specifications:
The Waveshare ESP32-S3-Nano features a 24-pin layout. Below is the pin configuration:
| Pin | Name | Function |
|---|---|---|
| 1 | 3V3 | 3.3V power output |
| 2 | GND | Ground |
| 3 | IO0 | GPIO0, used for boot mode selection or general-purpose I/O |
| 4 | IO1 | GPIO1, general-purpose I/O |
| 5 | IO2 | GPIO2, general-purpose I/O |
| 6 | IO3 | GPIO3, general-purpose I/O |
| 7 | IO4 | GPIO4, general-purpose I/O |
| 8 | IO5 | GPIO5, general-purpose I/O |
| 9 | IO6 | GPIO6, general-purpose I/O |
| 10 | IO7 | GPIO7, general-purpose I/O |
| 11 | IO8 | GPIO8, general-purpose I/O |
| 12 | IO9 | GPIO9, general-purpose I/O |
| 13 | IO10 | GPIO10, general-purpose I/O |
| 14 | IO11 | GPIO11, general-purpose I/O |
| 15 | IO12 | GPIO12, general-purpose I/O |
| 16 | IO13 | GPIO13, general-purpose I/O |
| 17 | IO14 | GPIO14, general-purpose I/O |
| 18 | IO15 | GPIO15, general-purpose I/O |
| 19 | IO16 | GPIO16, general-purpose I/O |
| 20 | IO17 | GPIO17, general-purpose I/O |
| 21 | IO18 | GPIO18, general-purpose I/O |
| 22 | IO19 | GPIO19, general-purpose I/O |
| 23 | IO20 | GPIO20, general-purpose I/O |
| 24 | IO21 | GPIO21, general-purpose I/O |
The Waveshare ESP32-S3-Nano is easy to use and can be programmed using popular development environments such as Arduino IDE, PlatformIO, or ESP-IDF. Below are the steps to get started:
Below is an example of how to blink an LED connected to GPIO2:
// Define the GPIO pin for the LED
#define LED_PIN 2
void setup() {
// Set the LED pin as an output
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// Turn the LED on
digitalWrite(LED_PIN, HIGH);
delay(1000); // Wait for 1 second
// Turn the LED off
digitalWrite(LED_PIN, LOW);
delay(1000); // Wait for 1 second
}
By following this documentation, you can effectively use the Waveshare ESP32-S3-Nano for your IoT and prototyping projects.