ESP32-S3-Zero

From Waveshare Wiki
Jump to: navigation, search
ESP32-S3-Zero
ESP32-S3-Zero.png

ESP32-S3FH4R2, Type-C USB
ESP32-S3-Zero-M
ESP32-S3-Zero-M.png

ESP32-S3FH4R2, Type-C USB
{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Overview

Introduction

ESP32-S3-Zero (without pin header) and ESP32-S3-Zero-M (with pin header) are tiny in size with castellated holes, making them easy to integrate into other host boards. ESP32-S3-Zero comes with an onboard Type-C USB connector, which exposes most of the unused pins in a small form factor. It is equipped with the ESP32-FH4R2 chip, integrated Wi-Fi and BLE5.0, featuring 4MB Flash and 2MB PSRAM. In addition, there are hardware encryption accelerator, RNG, HMAC and Digital Signature modules to meet the safety requirements of IoT and provide rich peripheral interfaces. Moreover, its multiple low-power working modes support most application scenarios such as IoT, mobile devices, wearable electronic devices, and smart homes.

Features

  • Equipped with Xtensa® 32-bit LX7 dual-core processor, up to 240MHz main frequency.
  • Supports 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth® 5 (LE).
  • Built-in 512KB of SRAM and 384KB ROM, onboard 4MB Flash memory and 2MB PSRAM.
  • Castellated module and onboard ceramic antenna, allows soldering direct to carrier boards.
  • Supports flexible clock, module power supply independent setting, and other controls to realize low power consumption in different scenarios.
  • Integrated with USB serial port full-speed controller, 24 × GPIO pins allow flexible configuring pin functions.
  • 4 × SPI, 2 × I2C, 3 × UART, 2 × I2S, 2 × ADC, etc.

Hardware Description

  • When using ESP32-S3-Zero with daughterboards, please avoid covering the ceramic antenna with PCB boards, metal, or plastic components.
  • In ESP32-S3-Zero, GPIO33 to GPIO37 pins are not exposed; these pins are used for Octal PSRAM.
  • ESP32-S3-Zero uses GPIO21 to connect with WS2812 RGB LED. Please refer to this link for WS2812 specifications.
  • ESP32-S3-Zero does not employ a USB to UART chip. When flashing firmware, press and hold the BOOT button (GPIO0) and then connect the Type-C cable.
  • The "TX" and "RX" markings on the board indicate the default UART0 pins for ESP32-S3-Zero. Specifically, TX is GPIO43, and RX is GPIO44.

Hardware Connection

  • Press the BOOT (GPIO0) key before connecting the Type-C cable each time download the firmware.
  • Input 3.7V~6V for the castellated hole with 5V silkscreen when connecting the external power.

Dimensions

ESP32-S3-Zero 02.jpg

Pinout

ESP32-S3-Zero-details-inter.jpg

Interfaces

ESP32-S3-Zero-inter.png
1. ESP32-S3FH4R2 Dual-core processor: Up to 240MHz operating frequency
2. USB Type-C port: For program download and debugging
3. ME6217C33M5G: Low dropout linear regulator with a maximum output current of 800mA
4. WS2812 colorful RGB LED
5. 2.4G ceramic antenna
6. BOOT button: Press it and then press the RESET button to enter download mode
7. RESET button
8. ESP32-S3FH4R2 pins

Development Method

The ESP32 supports multiple development methods, allowing for professional development using the Espressif official ESP-IDF framework, or rapid prototyping using platforms like the Arduino IDE or MicroPython.

The main development platforms include:

  • ESP-IDF: Espressif's official development framework, specially designed for ESP32 series chips, provides a complete development toolchain, codebase, and documentation. It can fully leverage the performance and capabilities of ESP32, making it the preferred solution for professional development and commercial products.
  • Arduino: A well-known open-source hardware and software platform, providing simple and standard C++ interfaces, supporting many microcontrollers including ESP32. Arduino has rich libraries and demos, widely used in prototyping and education, and is a popular entry-level platform for beginners. For the development environment configuration, please refer to Working with Arduino page.
  • MicroPython: The simplified version of Python 3 includes core features and is optimized for microcontroller environments, supporting immediate execution without the need for repeated compilation and flashing. It provides an efficient way for developers familiar with Python to get started with ESP32 quickly. For the development environment configuration, please refer to Working with MicroPython page.
  • Other development methods: ESP32 has a rich development ecosystem, in addition to the above platforms, it also supports development through platforms such as PlatformIO, Mongoose OS, Espruino (JavaScript), and ESPHome to meet the needs of developers with different technical backgrounds.

Arduino

This chapter includes the following sections, please read as needed:

Arduino Getting Started

We have prepared a general introductory tutorial ESP32 Getting Started for you.

  • Section 0 Get to know ESP32
  • Section 1 Install and Configure Arduino IDE
  • Section 2 Arduino Basics
  • Section 3 Digital Output/Input
  • Section 4 Analog Input
  • Section 5 Pulse Width Modulation (PWM)
  • Section 6 Serial Communication (UART)
  • Section 7 I2C Communication
  • Section 8 SPI Communication
  • Section 9 WiFi Networking Basics
  • Section 10 Web Server
  • Section 11 Bluetooth Communication
  • Section 12 LVGL Graphic Interface Development
  • Section 13 Comprehensive Projects

Configure Development Environment

1. Install and Configure Arduino IDE

Please refer to the tutorial Install and Configure Arduino IDE to download and install the Arduino IDE and add ESP32 support.

2. Other Tips

  1. The ESP32-S3-Zero supports direct model selection in the Arduino IDE.

ESP32-S3-Zero-Arduino-1.png

  1. ESP32-S3-Zero uses the ESP32-S3 native USB port instead of UART to USB. For serial communication:
  • The printf() function can be used directly;
  • To use the Serial.println() function, additional configuration is required: enable the "USB CDC On Boot" option in the IDE Tools menu, or declare in your code that the HWCDC object handles USB serial communication.
Note: As shown in the figure, set "USB CDC On Boot" in the "Tools" option of the Arduino IDE

ESP32-S3-Zero-Arduino-2.png

ESP-IDF

This chapter includes the following sections, please read as needed:

ESP-IDF Getting Started

We have prepared a general introductory tutorial ESP32 ESP-IDF Getting Started for you. This tutorial is designed to help developers quickly familiarize themselves with the basic concepts of ESP-IDF and get started with development, covering environment construction, project creation, component usage, peripheral programming, etc., and take the first step in ESP-IDF programming.

  • Section 1 Set Up Environment
  • Section 2 Run Demo
  • Section 3 Create Project
  • Section 4 Use Component
  • Section 5 Debug Demo
  • Section 6 FreeRTOS
  • Section 7 Drive Peripheral
  • Section 8 Wi-Fi Programming
  • Section 9 BLE Programming

Configure Development Environment

Please refer to Install ESP-IDF Development Environment.

MicroPython

This chapter includes the following sections, please read as needed:

MicroPython Getting Started

We have prepared a general introductory tutorial ESP32 MicroPython Getting Started for you.

  • Section 1 Set Up Development Environment
  • Section 2 Basics
  • Section 3 GPIO Digital Output/Input
  • Section 4 ADC Analog Input
  • Section 5 PWM Output
  • Section 6 UART Communication
  • Section 7 I2C Communication
  • Section 8 SPI Communication
  • Section 9 Wi-Fi Basic Usage
  • Section 10 Web Server
  • Section 11 Bluetooth
  • Section 12 Comprehensive Projects

Configure Development Environment

1. Flash MicroPython Firmware and Configure Thonny Please refer to the tutorial Set Up MicroPython Development Environment to flash the MicroPython firmware. 2. Other Tips

Resources

Hardware Resources

Board Design Files

Technical Manuals

ESP32-S3 Chip Manuals

Onboard Component Datasheet

Software Development Resources

Project Resources

This section features third - party project resources. We merely provide links and bear no responsibility for content updates or maintenance. Thank you for your understanding.

Volos Projects-ESP32 Web Server Step by Step | Time, Temperature & Modern UI


Volos Projects-ESP32 Web Server Tutorial – Control LEDs from Your Browser


FAQ

 Answer:

You can use 5V pins for power supply.

{{{5}}}


 Answer:

If programming fails, press and hold the boot button while connecting to the computer, then release it, and programming again.

{{{5}}}


 Answer:

The ESP32-S3 has a CAN controller, but CAN communication requires an external transceiver for implementation, which users need to develop themselves.

{{{5}}}




 Answer:

Speakers need an amplifier, which can not be directly connected to the GPIO pin, so does not support direct connection to the speaker, the microphone is I2S-driven, and can be directly connected to the microphone!

{{{5}}}


 Answer:

Yes, you can refer to the manual.
ESP32-S3-Zero-FAQ.png

{{{5}}}



 Answer:

It includes two MCPWM for driving digital motors and smart LEDs. For details, you can refer to this link.

{{{5}}}



 Answer:

Please select Espressif-S3-DevKitM-1(esp32-s3-devkitm-1).

{{{5}}}



 Answer:

The ambient temperature for the chip is at –40 ∼ 85 degrees.

{{{5}}}



 Answer:

You need to create the code by yourself, refer to the attached demo code.
0.91-inch OLED Module:
SDA: Connect to the ESP32-S3-Zero's SDA pin (e.g., GPIO 21)
SCL: Connect to the ESP32-S3-Zero's SCL pin (e.g., GPIO 22)
VCC: Connect to the ESP32-S3-Zero's VCC pin (3.3V or 5V)
GND: Connect to the ESP32-S3-Zero's GND pin
Install OLED Libraries:
Go to Sketch > Include Library > Manage Libraries.
Search for and install the following libraries:
Adafruit SSD1306
Adafruit GFX Library
you can check Waveshare OLED https://www.waveshare.com/0.91inch-oled-module.htm

{{{5}}}


Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)