

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 in a small form factor, making it ideal for projects requiring wireless connectivity, edge computing, or real-time data processing.








The ESP32 S3 Pico is packed with features that make it versatile and powerful for a wide range of applications. Below are its key technical details:
| Feature | Specification |
|---|---|
| Microcontroller | Dual-core Xtensa LX7 processor |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 8 MB |
| RAM | 512 KB |
| 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 |
| Dimensions | 21 mm x 51 mm |
| USB Interface | USB-C for programming and power |
| Onboard Peripherals | RGB LED, Reset Button, Boot Button |
The ESP32 S3 Pico features a total of 27 GPIO pins, which can be configured for various functions. Below is the pinout description:
| Pin | Function | Description |
|---|---|---|
| 1 | 3V3 | 3.3V power output |
| 2 | GND | Ground |
| 3 | GPIO0 | General-purpose I/O, boot mode selection |
| 4 | GPIO1 | General-purpose I/O, UART TX |
| 5 | GPIO2 | General-purpose I/O, UART RX |
| 6 | GPIO3 | General-purpose I/O, ADC input |
| 7 | GPIO4 | General-purpose I/O, PWM output |
| 8 | GPIO5 | General-purpose I/O, SPI clock |
| 9 | GPIO6 | General-purpose I/O, SPI MOSI |
| 10 | GPIO7 | 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 for using the board effectively.
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
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200); // Initialize serial communication at 115200 baud
dht.begin(); // Initialize the DHT sensor
Serial.println("ESP32 S3 Pico - DHT11 Example");
}
void loop() {
// 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");
delay(2000); // Wait 2 seconds before the next reading
}
Board Not Detected by Arduino IDE:
Upload Fails or Timeout Errors:
Wi-Fi Connection Issues:
Overheating:
By following this documentation, you can effectively utilize the ESP32 S3 Pico for your IoT and embedded system projects.