ESP32-S3-Pico

From Waveshare Wiki
Jump to: navigation, search
ESP32-S3-Pico
ESP32-S3-Pico.jpg

Main Chip: ESP32-S3
Interface: USB Type-C
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Overview

Introduction

The ESP32-S3-Pico is a low-cost, high-performance microcontroller development board in a compact size and with rich peripheral interfaces.

Adopts ESP32-S3R2 as the main chip, which is an MCU chip with integrated 2.4 GHz Wi-Fi and Bluetooth 5 (LE).
The interface chips are CH343 and CH334, so you can enjoy USB and UART development with a single USB-C port, and no more trouble switching interfaces.

The DC-DC chip adopts MP28164, a high-efficiency buck-boost chip, which adopts PWM fixed-frequency current control mode to optimize circuit stability and response speed.

You can choose ESP-IDF, Arduino, MicroPython, or other development environments in software so that you can easily and quickly get started and apply it to the product.

Features

  • Adopts ESP32-S3R2 as the main chip.
  • Comes with Xtensa 32-bit LX7 dual-core processor, capable of running at 240 MHz.
  • Integrated 512KB SRAM, 384KB ROM, 2MB PSRAM, 16MB Flash memory.
  • Type-C connector, easier to use.
  • Onboard CH343 and CH334 chips can meet the needs of USB and UART development via a Type-C interface.
  • Onboard DC-DC chip MP28164, high-efficiency DC-DC buck-boost chip with load current up to 2A.
  • Supports multiple low-power operating states, the adjustable balance between communication distance, data rate, and power consumption to meet the power requirements of various application scenarios.
  • 27 × multi-function GPIO headers.
  • Castellated module allows soldering directly to carrier boards.
  • Rich peripheral interfaces, including full-speed USB OTG, SPI, I2C, UART, ADC, PWM, and DVP (8-bit ~ 16-bit camera interface), LCD interfaces (8-bit ~ 16-bit parallel RGB, I8080, MOTO6800), etc. to achieve various functions flexibly.

Pinout Definition

ESP32-S3-Pico03.jpg

  • Note: SPI, I2C, UART, and other interfaces can be mapped to most GPIOs through the GPIO Matrix and IO MUX, see the ESP32-S3 datasheet for details.

Dimensions

ESP32-S3-Pico 04.jpg

Development Environment Setup

  • The following development system is Windows by default.

ESP-IDF

  • It is recommended to develop with the VSC plug-in.

Develop with VSCode Plug-in

Install VSCode

1. Open the download page of the official VSCode website, and select the corresponding system and system bit to download.

ESP32-S3-Pico 05.jpg

2. After running the installation package, the rest can be installed by default, but here for the subsequent experience, it is recommended to check boxes 1, 2, and 3.

ESP32-S3-Pico 06.jpg

    • After the first and second items are enabled, you can open VSCode directly by right-clicking files or directories, which can improve the subsequent user experience.
    • After the third item is enabled, you can select VSCode directly when you choose how to open it.

Install Espressif IDF Plug-in

  • Note: The latest version of the current plug-in is V1.6.0, for a consistent experience, users can choose the same version as us.
1. Open VSCode and use the shortcut key Shift + Ctrl + X to enter the plugin manager.

ESP32-S3-Pico 07.jpg

2. In the search bar, type Espressif IDF, select the corresponding plug-in, and click install.

ESP32-S3-Pico 08.jpg

3. Press F1 to enter:
esp-idf: configure esp-idf extension

ESP32-S3-Pico 09.jpg

4. Choose express (This tutorial is for first-time users, so only the first general installation tutorial is covered.)

ESP32-S3-Pico 10.jpg

5. Open and display this screen.

ESP32-S3-Pico 11.jpg

6. Choose a server to download.

ESP32-S3-Pico 12.jpg

7. Select the ESP-IDF version you want now, we choose the latest V5.0.1 (note that ESP-IDF started to support ESP32-S3 only after V4.4).

ESP32-S3-Pico 13.jpg

8. The following two are the ESP-IDF directory installation address and the ESP-IDF required tools installation address respectively.

ESP32-S3-Pico 14.jpg

    • Note: If you have installed ESP-IDF before, or if it has failed, please make sure to delete the file completely or create a new path.
9. Once the configuration is finished, click "install" to download.

ESP32-S3-Pico 15.jpg

10. Enter the download page, and it will automatically install the corresponding tools and environment, just wait a moment.

ESP32-S3-Pico 15.jpg

11. After the installation is completed, it will enter the following screen, indicating that the installation is finished.

ESP32-S3-Pico 17.jpg

Official Demo Usage

  • Click here to view more details provided by the official ESP.
Creating a Demo
1. Using the shortcut F1, type:
esp-idf:show examples projects

ESP32-S3-Pico 18.jpg

2. Choose your current IDF version:

ESP32-S3-Pico 19.jpg

3. Take "Hello World" as an example:

ESP32-S3-Pico 20.jpg

4. Choose the corresponding demo.
5. The readme file will explain which chip the demo is suitable for (the following section will introduce how to use the demo and its file structure, which is omitted here).
6. Click to create the demo.
7. Choose the path to place the demo and ensure that there is no folder with the same name as the demo.

ESP32-S3-Pico 21.jpg

Modify COM Port
1. The corresponding COM port is displayed here, click on it to modify.

ESP32-S3-Pico 22.jpg

2. We check the device manager COM port, and select COM5, please select your corresponding COM port:

ESP32-S3-Pico 23.jpg

3. Choose the project and demo.

ESP32-S3-Pico 24.jpg

4. Then the COM port is modified.
Modify the Driver
1. Here shows the driver used, click here to modify the corresponding driver:

ESP32-S3-Pico 25.jpg

2. Choose the project or demo:

ESP32-S3-Pico 24.jpg

3. Wait for a few seconds after clicking.

ESP32-S3-Pico 27.jpg

4. Choose the driver we need, that is, the main chip ESP32S3.

ESP32-S3-Pico 28.jpg

5. Choose the openocd path, we can just choose one at random as it doesn't matter.

ESP32-S3-Pico 29.jpg

The Rest of the Status Bar Introduction

ESP32-S3-Pico 30.jpg

  • ① SDK configuration editor: many functions and configurations of ESP-IDF can be modified within it.
  • ② Clean up everything and delete all compiled files.
  • ③ Compile.
  • ④ Current download method, default is UART.
  • ⑤ Program the current firmware, please do it after compiling.
  • ⑥ Open the serial monitor to view serial information.
  • ⑦ Combined button for compiling, programming, and opening the serial monitor (most commonly used during debugging).
Compile, Program, and Serial Port Monitoring
1. Click on the Compile, Program, and Open Serial Monitor buttons we described earlier.

ESP32-S3-Pico 31.jpg

2. It may take a long time to compile, especially for the first time.

ESP32-S3-Pico 32.jpg

  • During this process, ESP-IDF may take up a lot of CPU resources and therefore may cause system lag.
3. Because we use CH343 as a USB to serial port chip, and the on-board automatic download circuit, it can be downloaded automatically without manual operation.

ESP32-S3-Pico 33.jpg

4. After successful download, it will automatically enter the serial monitor, and you can see the corresponding information output from the chip and prompt to reboot after 10s.

ESP32-S3-Pico 34.jpg

Arduino

  • If you do not use arduino-esp32 before, you can refer to this link.

Install Arduino IDE

1. Open the official software download webpage, and choose the corresponding system and system bits to download.

ESP32-S3-Pico 35.jpg

2. You can choose "Just Download", or "Contribute & Download".

ESP32-S3-Pico 36.jpg

3. Run to install the program and install it all by default.

Install arduino-esp32 Online

1. Open Preferences.

ESP32-S3-Pico 37.jpg

2. Add the corresponding board manager URLs and click the button.

ESP32-S3-Pico 38.jpg

3. Add the following content in the first blank.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

ESP32-S3-Pico 39.jpg

4. Save the setting.
5. Open the board manager, enter ESP32 in the search bar, and select version 2.0.11.

ESP32-S3-Pico-Ar-06-240708.png

6. Wait for downloading.

ESP32-S3-Pico 41.jpg

7. arduino-esp32 is downloaded.

ESP32-S3-Pico 42.jpg

Use Arduino Demo

1. Select the demo, here we choose the demo to get the chip ID.

ESP32-S3-Pico 43.jpg

2. Select the board as ESP32S3 Dev Module.

ESP32-S3-Pico 44.jpg

3. Choose the COM5 port of ESP32-S3 USB.

ESP32-S3-Pico 45.jpg

4. Click the download button, then it compiles and downloads automatically.

ESP32-S3-Pico 47.jpg

5. Finish.

ESP32-S3-Pico 48.jpg

6. Open the Serial Port Monitor.

ESP32-S3-Pico 49.jpg

7. See the chip ID of the loop output.

ESP32-S3-Pico 50.jpg

MicroPython

Flash Firmware

1. For ESP32-S3-Pico, please download firmware: Click here to download the burner and firmware.
For ESP32-S3-DEV-KIT-N8R8, please download firmware: ESP32-S3-DEV-KIT-N8R8-micropython-firmware or download from micropython
2. Unzip the package downloaded before and enter.

ESP32-S3-Pico 54.jpg

3. Enter flash_download_tool_3.9.4 folder and open flash_download_tool_3.9.4.exe.

ESP32-S3-Pico 51.jpg

4. Choose the corresponding chip, choose ESP32-S3.

ESP32-S3-Pico 52.jpg

5. Choose the corresponding COM port, we have configured it and you just click Start to download.

ESP32-S3-Pico 53.jpg

    • ①Choose the COM port.
    • ②Download key.

Install Thonny

1. Open official Thonny website.

ESP32-S3-Pico 58.jpg

2. Select the corresponding system and version, here I choose "Windows", and the mouse has to move to Windows, only then will the corresponding information be displayed.

ESP32-S3-Pico 55.jpg

3. Just install it all the way by default.

ESP32-S3-Pico 56.jpg

4. Finish.

ESP32-S3-Pico 57.jpg

Get the Demo

1. Click here to download the demo.
2. Unzip the demo zip file.

ESP32-S3-Pico 89.jpg

Run the Demo

1. Open Thonny and choose Configure Interpreter.

ESP32-S3-Pico 90.jpg

2. Choose MicroPython (ESP32) as the Interpreter.

ESP32-S3-Pico 91.jpg

3. Click OK to save.

ESP32-S3-Pico 92.jpg

4. Click Stop or Ctrl + F2.

ESP32-S3-Pico 93.jpg

5. You can see the MicroPython version information and the board name.

ESP32-S3-Pico 94.jpg

6. Open the files.

ESP-S3-Pico 95.jpg

7. Choose our demo file and open a demo, here we choose a wifi-scan demo.

ESP-32-Pico 96.jpg

  • ①Current local file directory.
  • ②The demo we want to open is wifi-scan.py.
  • ③ESP32-S3-PICO directory.
8. Click to run or press F5.

ESP-32-Pico 97.jpg

9. Please wait a moment, and you can see the wifi output information of esp32-s3-pico.

ESP-32-Pico 98.jpg

MicroPython Demo Description

For better using experience, we include a py file in the firmware。 The following code is used to organize scattered GPIO pins in the order of Pico pins. The source code is shown below:

from micropython import const
D0 = const(11)
D1 = const(12)
D2 = const(13)
D3 = const(14)
D4 = const(15)
D5 = const(16)
D6 = const(17)
D7 = const(18)
D8 = const(33)
D9 = const(34)
D10= const(35)
D11= const(36)
D12= const(37)
D13= const(38)
D14= const(39)
D15= const(40)
D16= const(42)
D17= const(41)
D18= const(1)
D19= const(2)
D20= const(4)
D21= const(5)
D22= const(6)
D26= const(7)
D27= const(8)
D28= const(9)

A1= const(7)
A2= const(8)
A3= const(9)

RGB_PIN= const(21)
USB_ADC= const(3)

1-GPIO

Blink

  • GPIO10 on the Raspberry Pi Pico (ESP32-S3 GP35) blinks at at 1-sec interval.

Key

  • Read the level of the GPIO3 on the Raspberry Pi Pico (corresponding to ESP32-S3 GP13).
  • If it is at a low level, press the key to flip the LED level.

2-PWM

Fade

  • Output PWM frequency of GPIO12 on the Raspberry Pi PICO (corresponding to ESP32-S3 GP37) at 1000Hz, with a duty cycle increasing or decreasing between 0% and 100%.

Siren

  • Configure GPIO12 on the Raspberry Pi PICO (corresponding to ESP32-S3 GP37) to output PWM with a duty cycle of 30%, and the frequency increases or decreases between 600Hz to 1400Hz.

3-UART

UART

  • Using GPIO0 (ESP32-S3 GP11) and GPIO1 (ESP32-S3 GP12) on the Raspberry Pi Pico as the TX and RX pins for UART, perform UART echo.

4-I2C

I2C-OLED

  • Using GPIO6 (ESP32-S3 GP17) and GPIO7 (ESP32-S3 GP18) on the Raspberry Pi Pico as the SDA and SCL pins for I2C, drive the 1.5-inch OLED module.

I2C-SCAN

  • Using GPIO8 (ESP32-S3 GP33) and GPIO9 (GP34 of ESP32-S3) on the Raspberry Pi Pico as the SDA and SCL pins for I2C, scan the device addresses on the I2C bus.

5-SPI

Pico-LCD-1.3

  • Drive the PICO-LCD-1.3 module.

6-ADC

adc

  • Sequentially read the voltage values of GPIO26-29 pins on the Raspberry Pi PICO and output the information.

7-RGB

rgb

  • Lights up the onboard RGB-LEDs and keeps on changing colors.

8-SYS

FLASH-SIZE

  • Output remaining FLASH memory.

RAM-SIZE

  • Output the remaining and used RAM space.

RTC

  • Set RTC time and read the RTC value in a loop.

SLEEP

  • Set the ESP32-S3 to deep sleep for 10 seconds, it will automatically reset and reboot when it reaches the sleep time.

WDT

  • Set watchdog and wait for watchdog reset.

9-WIFI

Scan

  • Scan the surrounding wifi signal and display the related information.

Resource

Schematic

Demo

Software

ESP32-S3

CH343

UART

Datasheet

ESP32-S3

CH343

Official Documentation

Official ESP32 Document

Official MicroPython Document

FAQ



 Answer:

You can connect to the VBUS pin with 5V power. (it is not a wide range, but just 5V).

{{{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)