

The ESP32 S3 Pico is a compact microcontroller board developed by Arduino, featuring dual-core processing, integrated Wi-Fi, and Bluetooth capabilities. Designed for IoT applications and embedded systems, this board offers high performance, low power consumption, and a small form factor, making it ideal for a wide range of projects, from smart home devices to wearable technology.








The ESP32 S3 Pico is built to deliver robust performance while maintaining energy efficiency. Below are its key technical specifications:
| Specification | Details |
|---|---|
| Microcontroller | ESP32-S3 (dual-core Xtensa LX7 processor) |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 8 MB (external) |
| RAM | 512 KB SRAM |
| Wireless Connectivity | Wi-Fi 802.11 b/g/n (2.4 GHz), Bluetooth 5.0 LE |
| GPIO Pins | 27 (multipurpose, including ADC, DAC, I2C, SPI, UART, PWM) |
| Operating Voltage | 3.3V |
| Input Voltage Range | 5V (via USB-C) |
| Power Consumption | Ultra-low power modes available |
| USB Interface | USB-C (supports programming and power supply) |
| Dimensions | 21 mm x 51 mm |
The ESP32 S3 Pico features a versatile pinout, allowing for multiple configurations. Below is the pin configuration:
| Pin | Name | Function |
|---|---|---|
| 1 | GND | Ground |
| 2 | 3V3 | 3.3V power output |
| 3 | EN | Enable pin (active high, resets the board when pulled low) |
| 4 | GPIO0 | General-purpose I/O, boot mode selection |
| 5 | GPIO1 | General-purpose I/O, UART TX |
| 6 | GPIO2 | General-purpose I/O, UART RX |
| 7 | GPIO3 | General-purpose I/O, ADC, PWM |
| 8 | GPIO4 | General-purpose I/O, ADC, PWM |
| 9 | GPIO5 | General-purpose I/O, SPI MOSI |
| 10 | GPIO6 | General-purpose I/O, SPI MISO |
| ... | ... | ... (Refer to the official datasheet for the full pinout) |
The ESP32 S3 Pico is easy to integrate into your projects. Below are the steps to get started and important considerations:
Powering the Board:
Programming the Board:
Connecting Peripherals:
Below is an example of how to use the ESP32 S3 Pico to read data from a DHT11 temperature and humidity sensor and send it to a serial monitor:
#include <DHT.h>
// Define the DHT sensor type and pin
#define DHTPIN 4 // GPIO4 is connected to the DHT11 data pin
#define DHTTYPE DHT11 // DHT11 sensor type
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200); // Initialize serial communication at 115200 baud
dht.begin(); // Initialize the DHT sensor
Serial.println("DHT11 Sensor Test");
}
void loop() {
delay(2000); // Wait 2 seconds between readings
// Read temperature and humidity values
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Check if the readings are valid
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print the readings to the serial monitor
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("% Temperature: ");
Serial.print(temperature);
Serial.println("°C");
}
Board Not Detected by Arduino IDE:
Wi-Fi Connection Fails:
Program Upload Fails:
Overheating:
Q: Can the ESP32 S3 Pico operate on battery power?
A: Yes, the board can be powered using a 3.7V LiPo battery connected to the appropriate pins, but ensure proper voltage regulation.
Q: Is the ESP32 S3 Pico compatible with Arduino libraries?
A: Yes, most Arduino libraries are compatible with the ESP32 S3 Pico. However, some may require minor modifications.
Q: How do I reset the board?
A: Press the "EN" button on the board to reset it.
Q: Can I use the ESP32 S3 Pico for machine learning applications?
A: Yes, the dual-core processor and ample memory make it suitable for lightweight machine learning tasks.
This concludes the documentation for the ESP32 S3 Pico. For further details, refer to the official Arduino documentation or datasheet.