The ESP32-S3-Zero by Waveshare (Part ID: S3) is a low-power, dual-core microcontroller designed for IoT applications. It integrates both Wi-Fi and Bluetooth capabilities, making it a versatile choice for wireless communication projects. With its rich set of peripherals, including GPIO, ADC, PWM, and more, the ESP32-S3-Zero is ideal for applications such as smart home devices, wearables, industrial automation, and sensor networks.
Parameter | Value |
---|---|
Microcontroller | ESP32-S3 (dual-core Xtensa LX7) |
Clock Speed | Up to 240 MHz |
Flash Memory | 8 MB (external) |
RAM | 512 KB SRAM + 2 MB PSRAM |
Wi-Fi | 802.11 b/g/n (2.4 GHz) |
Bluetooth | Bluetooth 5.0 (LE) |
GPIO Pins | 21 (configurable for various functions) |
ADC Channels | 12-bit ADC, up to 20 channels |
PWM Channels | Up to 16 channels |
Communication Interfaces | UART, SPI, I2C, I2S, CAN, USB-OTG |
Operating Voltage | 3.3V |
Power Consumption | Ultra-low power modes available (deep sleep current: ~10 µA) |
Dimensions | 25 mm x 50 mm |
Pin Name | Type | Description |
---|---|---|
3V3 | Power | 3.3V power input/output |
GND | Power | Ground connection |
GPIO0 | Digital I/O | General-purpose I/O, boot mode selection |
GPIO1-21 | Digital I/O | Configurable as input/output, ADC, PWM, or other peripherals |
TXD0 | UART TX | UART0 transmit pin |
RXD0 | UART RX | UART0 receive pin |
EN | Reset | Reset pin for the microcontroller |
USB D+ | USB Data | USB data positive line |
USB D- | USB Data | USB data negative line |
Powering the Board:
3V3
pin and connect GND
to ground.Programming the Board:
Connecting Peripherals:
Wireless Communication:
Below is an example of using the ESP32-S3-Zero to connect to a Wi-Fi network and send data to a server:
#include <WiFi.h> // Include the Wi-Fi library
// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
void setup() {
Serial.begin(115200); // Initialize serial communication
delay(1000);
// Connect to Wi-Fi
Serial.print("Connecting to Wi-Fi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWi-Fi connected!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP()); // Print the device's IP address
}
void loop() {
// Example: Send data to a server (replace with your server details)
WiFiClient client;
const char* server = "example.com";
if (client.connect(server, 80)) {
client.println("GET / HTTP/1.1");
client.println("Host: example.com");
client.println("Connection: close");
client.println();
}
delay(10000); // Wait 10 seconds before sending the next request
}
The board does not power on:
Unable to upload code:
EN
button while uploading to enter bootloader mode.Wi-Fi connection fails:
GPIO pins not working as expected:
This documentation provides a comprehensive guide to using the ESP32-S3-Zero microcontroller. Whether you're a beginner or an experienced developer, the ESP32-S3-Zero offers a powerful platform for your IoT and embedded system projects.