Esp Dev Kits en Master
Esp Dev Kits en Master
Release master
Espressif Systems
Jul 03, 2024
Table of contents
Table of contents i
Bibliography 203
Bibliography 203
i
ii
Table of contents
ESP32-H2-DevKitM-1
3
Chapter 1. Supported Development Boards
ESP32-C3-DevKitC-02 ESP32-C3-DevKitM-1
ESP32-C3-LCDkit
ESP32-C6-DevKitC-1 ESP32-C6-DevKitM-1
ESP8684-DevKitM-1 ESP8684-DevKitC-02
ESP32-S3-USB-OTG ESP32-S3-LCD-EV-Board
ESP32-S3-USB-Bridge
ESP32-S2-DevKitC-1 ESP32-S2-DevKitM-1
ESP32-LCDKit
Other Boards
ESP-Module-Prog-1 ESP-Module-Prog-1R
ESP-Module-Prog-SUB-02 ESP-Module-Prog-SUB-01&04
ESP-Prog
ESP32-S2-HMI-DevKit-1 ESP32-Sense-Kit
ESP32-MeshKit-Sense ESP32-S2-Touch-DevKit-1
ESP32-S2-Kaluga-1
1.1 Related
• ESP-IDF Get Started
• ESP-IDF Programming Guide
• ESP Product Selector
1.1.1 ESP32-C3-DevKitC-02
ESP32-C3-DevKitC-02
This user guide will help you get started with ESP32-C3-DevKitC-02 and will also provide more in-depth information.
ESP32-C3-DevKitC-02 is an entry-level development board based on ESP32-C3-WROOM-02, a general-purpose
module with 4 MB SPI flash. This board integrates complete Wi-Fi and Bluetooth® Low Energy functions.
Most of the I/O pins are broken out to the pin headers on both sides for easy interfacing. Developers can either
connect peripherals with jumper wires or mount ESP32-C3-DevKitC-02 on a breadboard.
Fig. 1: ESP32-C3-DevKitC-02
Getting Started This section provides a brief introduction of ESP32-C3-DevKitC-02, instructions on how to do
the initial hardware setup and how to flash firmware onto it.
Description of Components The key components of the board are described in a counter-clockwise direction.
Start Application Development Before powering up your ESP32-C3-DevKitC-02, please make sure that it is in
good condition with no obvious signs of damage.
Required Hardware
• ESP32-C3-DevKitC-02
• USB 2.0 cable (Standard-A to Micro-B)
• Computer running Windows, Linux, or macOS
Note: Be sure to use an appropriate USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Software Setup Please proceed to ESP-IDF Get Started, which will quickly help you set up the development
environment then flash an application example onto your board.
Retail Orders If you order a few samples, each ESP32-C3-DevKitC-02 comes in an individual package in either
antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/contact-us/get-samples.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please check Espressif Product Ordering Information (PDF)
Hardware Reference
Block Diagram The block diagram below shows the components of ESP32-C3-DevKitC-02 and their intercon-
nections.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• Micro-USB Port, default power supply
• 5V and GND pin headers
• 3V3 and GND pin headers
It is recommended to use the first option: Micro-USB Port.
Header Block The two tables below provide the Name and Function of the pin headers on both sides of the board
(J1 and J3). The pin header names are shown in ESP32-C3-DevKitC-02 - front. The numbering is the same as in the
ESP32-C3-DevKitC-02 Schematic (PDF).
J1
No. Name TypePage 12, 1
Function
1 G G Ground
2 3V3 P 3.3 V power supply
3 3V3 P 3.3 V power supply
4 RST I CHIP_PU
5 G G Ground
6 4 I/O/T GPIO4, ADC1_CH4, FSPIHD, MTMS
7 5 I/O/T GPIO5, ADC2_CH0, FSPIWP, MTDI
8 6 I/O/T GPIO6, FSPICLK, MTCK
9 7 I/O/T GPIO7, FSPID, MTDO
10 G G Ground
11 8 I/O/T GPIO82 , RGB LED
12 9 I/O/T GPIO9Page 12, 2
13 5V P 5 V power supply
14 5V P 5 V power supply
15 G G Ground
J3
No. Name Type? Function
1 G G Ground
2 0 I/O/T GPIO0, ADC1_CH0, XTAL_32K_P
3 1 I/O/T GPIO1, ADC1_CH1, XTAL_32K_N
4 2 I/O/T GPIO22 , ADC1_CH2, FSPIQ
5 3 I/O/T GPIO3, ADC1_CH3
6 G G Ground
7 10 I/O/T GPIO10, FSPICS0
8 G G Ground
9 RX I/O/T GPIO20, U0RXD
10 TX I/O/T GPIO21, U0TXD
11 G G Ground
12 18 I/O/T GPIO18, USB_D-
13 19 I/O/T GPIO19, USB_D-
14 G G Ground
15 G G Ground
Pin Layout
1 P: Power supply; I: Input; O: Output; T: High impedance.
2 GPIO2, GPIO8, and GPIO9 are strapping pins of the ESP32-C3 chip. These pins are used to control several chip functions depending on
binary voltage values applied to the pins during chip power-up or system reset. For description and application of the strapping pins, please refer
to Section Strapping Pins in ESP32-C3 Datasheet.
Related Documents
• Build Secure and Cost-effective Connected Devices with ESP32-C3
• ESP32-C3 Datasheet (PDF)
• ESP32-C3-WROOM-02 Datasheet (PDF)
• ESP32-C3-DevKitC-02 Schematic (PDF)
• ESP32-C3-DevKitC-02 PCB Layout (PDF)
• ESP32-C3-DevKitC-02 Dimensions (PDF)
• ESP32-C3-DevKitC-02 Dimensions source file (DXF) - You can view it with Autodesk Viewer online
For further design documentation for the board, please contact us at [email protected].
1.1.2 ESP32-C3-DevKitM-1
ESP32-C3-DevKitM-1 is an entry-level development board based on ESP32-C3-MINI-1, a module named for its
small size. This board integrates complete Wi-Fi and Bluetooth® Low Energy functions.
ESP32-C3-DevKitM-1
This user guide will help you get started with ESP32-C3-DevKitM-1 and will also provide more in-depth information.
ESP32-C3-DevKitM-1 is an entry-level development board based on ESP32-C3-MINI-1, a module named for its
small size. This board integrates complete Wi-Fi and Bluetooth® Low Energy functions.
Most of the I/O pins on the ESP32-C3-MINI-1 module are broken out to the pin headers on both sides of this board
for easy interfacing. Developers can either connect peripherals with jumper wires or mount ESP32-C3-DevKitM-1
on a breadboard.
Fig. 5: ESP32-C3-DevKitM-1
Getting Started This section provides a brief introduction of ESP32-C3-DevKitM-1, instructions on how to do
the initial hardware setup and how to flash firmware onto it.
Description of Components The key components of the board are described in a counter-clockwise direction.
Start Application Development Before powering up your ESP32-C3-DevKitM-1, please make sure that it is in
good condition with no obvious signs of damage.
Required Hardware
• ESP32-C3-DevKitM-1
• USB 2.0 cable (Standard-A to Micro-B)
• Computer running Windows, Linux, or macOS
Note: Be sure to use an appropriate USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Software Setup Please proceed to ESP-IDF Get Started, which will quickly help you set up the development
environment then flash an application example onto your board.
Retail Orders If you order one or several samples, each ESP32-C3-DevKitM-1 comes in an individual package in
either antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/contact-us/get-samples.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please check Espressif Product Ordering Information (PDF)
Hardware Reference
Block Diagram The block diagram below shows the components of ESP32-C3-DevKitM-1 and their intercon-
nections.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• Micro-USB Port, default power supply
• 5V and GND pin headers
• 3V3 and GND pin headers
It is recommended to use the first option: Micro-USB Port.
Header Block The two tables below provide the Name and Function of the pin headers on both sides of the board
(J1 and J3). The pin header names are shown in ESP32-C3-DevKitM-1 - front. The numbering is the same as in the
ESP32-C3-DevKitM-1 Schematic (PDF).
J1
No. Name Type1 Function
1 GND G Ground
2 3V3 P 3.3 V power supply
3 3V3 P 3.3 V power supply
4 IO2 I/O/T GPIO22 , ADC1_CH2, FSPIQ
5 IO3 I/O/T GPIO3, ADC1_CH3
6 GND G Ground
7 RST I CHIP_PU
8 GND G Ground
9 IO0 I/O/T GPIO0, ADC1_CH0, XTAL_32K_P
10 IO1 I/O/T GPIO1, ADC1_CH1, XTAL_32K_N
11 IO10 I/O/T GPIO10, FSPICS0
12 GND G Ground
13 5V P 5 V power supply
14 5V P 5 V power supply
15 GND G Ground
J3
No. Name Type? Function
1 GND G Ground
2 TX I/O/T GPIO21, U0TXD
3 RX I/O/T GPIO20, U0RXD
4 GND G Ground
5 IO9 I/O/T GPIO92
6 IO8 I/O/T GPIO82 , RGB LED
7 GND G Ground
8 IO7 I/O/T GPIO7, FSPID, MTDO
9 IO6 I/O/T GPIO6, FSPICLK, MTCK
10 IO5 I/O/T GPIO5, ADC2_CH0, FSPIWP, MTDI
11 IO4 I/O/T GPIO4, ADC1_CH4, FSPIHD, MTMS
12 GND G Ground
13 IO18 I/O/T GPIO18, USB_D-
14 IO19 I/O/T GPIO19, USB_D+
15 GND G Ground
Pin Layout
1 P: Power supply; I: Input; O: Output; T: High impedance.
2 GPIO2, GPIO8, and GPIO9 are strapping pins of the ESP32-C3FN4 chip. These pins are used to control several chip functions depending
on binary voltage values applied to the pins during chip power-up or system reset. For description and application of the strapping pins, please
refer to Section Strapping Pins in ESP32-C3 Datasheet.
Related Documents
• Build Secure and Cost-effective Connected Devices with ESP32-C3
• ESP32-C3 Datasheet (PDF)
• ESP32-C3-MINI-1 Datasheet (PDF)
• ESP32-C3-DevKitM-1 Schematic (PDF)
• ESP32-C3-DevKitM-1 PCB Layout (PDF)
• ESP32-C3-DevKitM-1 Dimensions (PDF)
• ESP32-C3-DevKitM-1 Dimensions source file (DXF)
For further design documentation for the board, please contact us at [email protected].
1.1.3 ESP32-C3-LCDkit
ESP32-C3-LCDkit is a development board designed for wildlife protection. It is used to evaluate and verify the
application of the ESP32-C3 screen. And it is composed of mainboard and subboard.
ESP32-C3-LCDkit
This user guide will help you get started with ESP32-C3-LCDkit and will also provide more in-depth information.
The document consists of the following sections:
Board Overview ESP32-C3-LCDkit is an ESP32-C3-based evaluation development board with an SPI interface
display. It also has an integrated rotary encoder switch and features screen interaction. Due to its low cost, low power
consumption, and high performance, ESP32-C3 satisfies the basic GUI interaction needs, gaining ground in scenarios
with small screen sizes.
Feature List The main features of the board are listed below:
• Module Embedded: ESP32-C3-MINI-1 module with 4 MB flash and 400 KB SRAM
• Display: Compatibility with various subboards and support for displays with I2C and SPI interfaces. Please
refer to LCD Subboards for more information
• Rotary Encoder Switch: Key switches and 360° rotation for on-screen GUI control
• Infrared module: Infrared transmitter and infrared receiver for infrared wireless control
• Audio: On-board audio amplifier and speaker for audio playback
• USB: USB Type-C download/debug
Block Diagram The block diagram below shows the components of ESP32-C3-LCDkit and their interconnections.
Description of Components ESP32-C3-LCDkit is a development board designed for wildlife protection. It con-
tains a mainboard and a subboard.
Mainboard ESP32-C3-LCDkit_MB is the core of the kit, which integrates the ESP32-C3-MINI-1 module and
provides ports for connection to the LCD subboard.
LCD Subboards The ESP32-C3-LCDkit_DB subboard supports a 1.28”LCD screen with SPI interface and
240x240 resolution. The driver chip used for this screen is GC9A01.
Start Application Development This section provides instructions on how to do hardware and software setup and
flash firmware onto the board to develop your own application.
Required Hardware
• 1 x ESP32-C3-LCDkit_MB
• 1 x LCD subboard
• 1 x USB 2.0 cable (standard Type-A to Type-C)
• 1 x PC (Windows, Linux, or macOS)
Note: Please make sure to use the appropriate USB cable. Some cables can only be used for charging, not for data
transfer or program flashing.
Hardware Setup Prepare the board for loading of the first sample application:
1. Connect the LCD subboard to the LCD Display Connector.
2. Plug in the USB cable to connect the PC with the board.
3. The LCD lights up and you can now control GUI through the rotary encoder switch.
Now the board is ready for software setup.
Software Setup To learn how to quickly set up your development environment, please go to Get Started > Instal-
lation.
For more software information on developing applications, please go to Software Support.
Hardware Reference This section provides more detailed information about the board’s hardware.
GPIO Allocation The table below provides the allocation of GPIOs exposed on terminals of ESP32-C3-MINI-1
module to control specific components or functions of the board.
Power Distribution The development board is powered via the USB-to-USB port:
Infrared TX/RX Select Since the Infrared TX and Infrared RX modules share the same signal line on the chip, it
is required to short-circuit specific pins in Infrared TX/RX Select Port via jumper caps to choose between
the TX/RX function:
C6 Module Compatibility Design ESP32-C3-LCDkit development board uses the ESP32-C3-MINI-1 module
by default, with resistors R2, R4, R5, and R35 connected to the mainboard:
The development board is also designed to be compatible with the ESP32-C6-MINI-1 module, where resistors R2,
R4, R5, and R35 need to be removed and resistors R13 and R14 need to be connected.
Automatic Download After the development board is powered on, press the rotary encoder switch and Reset
button, then release Reset first and the encoder second, to put the ESP development board into download mode.
Sample Request ESP32-C3 is a cost-effective and industry-leading low-power performance solution for building
rotary or small displays driven by an SPI interface. For sample requests, please contact us at [email protected].
Related Documents
• ESP32-C3 Datasheet
• ESP32-C3-MINI-1 Datasheet
• ESP Product Selector
• ESP32-C3-LCDkit_MB Schematics
• ESP32-C3-LCDkit_MB PCB Layout
• ESP32-C3-LCDkit_DB Schematics
• ESP32-C3-LCDkit_DB PCB Layout
• ESP32-C6-LCDkit_DB Schematics
• ESP32-C6-LCDkit_DB PCB Layout
• 1.28_TFT_240x240_SPI_Display
• Infrared Transmitter (IR67-21CTR8)
• Infrared Receiver(IRM-H638TTR2)
• Audio Amplifier (NS4150)
• RGB LED (WS2812B)
• 2415 Voice Cavity Horn
For further design documentation for the board, please contact us at [email protected].
ESP32-C3-LCD-Ev-Board
This user guide will help you get started with ESP32-C3-LCD-Ev-Board and will also provide more in-depth infor-
mation.
The document consists of the following sections:
• Board Overview: Overview of the board hardware/software.
• Start Application Development: How to set up hardware/software to develop applications.
• Hardware Reference: More detailed information about the board’s hardware.
• Hardware Revision Details: This is the first revision of this board released.
• Sample Request: How to get a sample board.
• Related Documents: Links to related documentation.
Feature List The main features of the board are listed below:
• Module Embedded: ESP32-C3-MINI-1 module with 4 MB flash and 400 KB SRAM
• Display: Compatibility with various subboards and support for displays with I2C and SPI interfaces. Please
refer to LCD Subboards for more information
• Rotary Encoder Switch: Key switches and 360° rotation for on-screen GUI control
• USB: USB Type-C download/debug
Block Diagram The block diagram below shows the components of ESP32-C3-LCD-Ev-Board and their inter-
connections.
Mainboard ESP32-C3-LCD-Ev-Board_MB is the core of the kit, which integrates the ESP32-C3-MINI-1 mod-
ule and provides ports for connection to the LCD subboard.
The key components of the board are described in a counter-clockwise direction.
LCD Subboards The ESP32-C3-LCD-Ev-Board_DB subboard supports a 1.28”LCD screen with SPI interface
and 240x240 resolution. The driver chip used for this screen is GC9A01.
Start Application Development This section provides instructions on how to do hardware and software setup and
flash firmware onto the board to develop your own application.
Required Hardware
• 1 x ESP32-C3-LCD-Ev-Board_MB
• 1 x LCD subboard
• 1 x USB 2.0 cable (standard Type-A to Type-C)
• 1 x PC (Windows, Linux, or macOS)
Note: Please make sure to use the appropriate USB cable. Some cables can only be used for charging, not for data
transfer or program flashing.
Hardware Setup Prepare the board for loading of the first sample application:
1. Connect the LCD subboard to the LCD Board Connector.
2. Plug in the USB cable to connect the PC with the board.
3. The LCD lights up and you can start to interact with it.
Now the board is ready for software setup.
Software Setup To learn how to quickly set up your development environment, please go to Get Started > Instal-
lation.
Hardware Reference This section provides more detailed information about the board’s hardware.
GPIO Allocation The table below provides the allocation of GPIOs exposed on terminals of ESP32-C3-MINI-1
module to control specific components or functions of the board.
Power Distribution The development board is powered via the USB-to-USB port:
Output system power supply:
Automatic Download There are two ways to put the development board into download mode.
• Press the Boot and Reset buttons. Release the Reset button first and then the Boot button.
• Controls the status of the EN and IO9 pins of the ESP development board by ESP-Prog.
Related Documents
• ESP32-C3 Datasheet
• ESP32-C3-MINI-1 Datasheet
• ESP Product Selector
• ESP32-C3-LCD_EV_Board-MB Schematics
• ESP32-C3-LCD_EV_Board-MB PCB Layout
• ESP32-C3-LCD_EV_Board-DB Schematics
• ESP32-C3-LCD_EV_Board-DB PCB Layout
For further design documentation for the board, please contact us at [email protected].
1.1.4 ESP32-C6-DevKitC-1
ESP32-C6-DevKitC-1 v1.2
Getting Started This section provides a brief introduction of ESP32-C6-DevKitC-1, instructions on how to do the
initial hardware setup and how to flash firmware onto it.
Description of Components The key components of the board are described in a clockwise direction.
Start Application Development Before powering up your ESP32-C6-DevKitC-1, please make sure that it is in
good condition with no obvious signs of damage.
Required Hardware
• ESP32-C6-DevKitC-1
• USB-A to USB-C cable
• Computer running Windows, Linux, or macOS
Note: Be sure to use a good quality USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Software Setup Please proceed to ESP-IDF Get Started, which will quickly help you set up the development
environment then flash an application example onto your board.
Retail orders If you order a few samples, each ESP32-C6-DevKitC-1 comes in an individual package in either
antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please check Espressif Product Ordering Information (PDF)
Hardware Reference
Block Diagram The block diagram below shows the components of ESP32-C6-DevKitC-1 and their interconnec-
tions.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• USB Type-C to UART Port and ESP32-C6 USB Type-C Port (either one or both), default power supply
(recommended)
• 5V and GND pin headers
• 3V3 and GND pin headers
Note: When using 3V3 and GND pin headers to power the board, please remove the J5 jumper, and connect an
ammeter in series to the external circuit to measure the module’s current.
Header Block The two tables below provide the Name and Function of the pin headers on both sides of the board
(J1 and J3). The pin header names are shown in Figure ESP32-C6-DevKitC-1 - front. The numbering is the same as
in the ESP32-C6-DevKitC-1 Schematic (PDF).
J1
No. Name TypePage 37, 1
Function
1 3V3 P 3.3 V power supply
2 RST I High: enables the chip; Low: disables the chip.
3 4 I/O/T MTMS3 , GPIO4, LP_GPIO4, LP_UART_RXD, ADC1_CH4, FSPIHD
4 5 I/O/T MTDIPage 37, 3 , GPIO5, LP_GPIO5, LP_UART_TXD, ADC1_CH5,
FSPIWP
5 6 I/O/T MTCK, GPIO6, LP_GPIO6, LP_I2C_SDA, ADC1_CH6, FSPICLK
6 7 I/O/T MTDO, GPIO7, LP_GPIO7, LP_I2C_SCL, FSPID
7 0 I/O/T GPIO0, XTAL_32K_P, LP_GPIO0, LP_UART_DTRN, ADC1_CH0
8 1 I/O/T GPIO1, XTAL_32K_N, LP_GPIO1, LP_UART_DSRN, ADC1_CH1
9 8 I/O/T GPIO82Page 37, 3
10 10 I/O/T GPIO10
11 11 I/O/T GPIO11
12 2 I/O/T GPIO2, LP_GPIO2, LP_UART_RTSN, ADC1_CH2, FSPIQ
13 3 I/O/T GPIO3, LP_GPIO3, LP_UART_CTSN, ADC1_CH3
14 5V P 5 V power supply
15 G G Ground
16 NC – No connection
J3
No. Name Type Function
1 G G Ground
2 TX I/O/T U0TXD, GPIO16, FSPICS0
3 RX I/O/T U0RXD, GPIO17, FSPICS1
4 15 I/O/T GPIO153
5 23 I/O/T GPIO23, SDIO_DATA3
6 22 I/O/T GPIO22, SDIO_DATA2
7 21 I/O/T GPIO21, SDIO_DATA1, FSPICS5
8 20 I/O/T GPIO20, SDIO_DATA0, FSPICS4
9 19 I/O/T GPIO19, SDIO_CLK, FSPICS3
10 18 I/O/T GPIO18, SDIO_CMD, FSPICS2
11 9 I/O/T GPIO93
12 G G Ground
13 13 I/O/T GPIO13, USB_D+
14 12 I/O/T GPIO12, USB_D-
15 G G Ground
16 NC – No connection
Pin Layout
ESP32-C6-DevKitC-1 v1.2
• For boards with the PW number of and after PW-2023-02-0139 (on and after February 2023), J5 is changed
from straight headers to curved headers.
• For boards with the PW number of and after PW-2023-07-XXXX (on and after July 2023), multi-point cal-
ibration is performed on ADC instead of two-point calibration, and the measurement range and accuracy are
1 P: Power supply; I: Input; O: Output; T: High impedance.
3 MTMS, MTDI, GPIO8, GPIO9, and GPIO15 are strapping pins of the ESP32-C6 chip. These pins are used to control several chip functions
depending on binary voltage values applied to the pins during chip power-up or system reset. For description and application of the strapping pins,
please refer to ESP32-C6 Datasheet > Section Strapping Pins.
2 Used to drive the RGB LED.
illustrated in ESP32-C6 Datasheet > Section ADC Characteristics. For boards with eariler PW number, please
ask our sales team to provide the actual range and accuracy according to batch.
• For boards with the PW number of and after PW-2023-07-0440 (on and after July 2023), to optimize the
WS2812 driving circuit, the resistance of R29 is updated from 4.7 kΩ to 10 kΩ, and the resistance of R6 is
updated from 10 kΩ to 3.3 kΩ. For details, see ESP32-C6-DevKitC-1 Schematic v1.3.
• For boards with the PW number of and after PW-2024-03-0595 and PW-2024-03-0921 (on and after March
2024), to optimize the circuit, the resistance of R7 on UART_RXD is updated from 0 Ω to 470 Ω. For details,
see ESP32-C6-DevKitC-1 Schematic v1.4.
Note: The PW number can be found in the product label on the large cardboard boxes for wholesale orders.
Related Documents
• ESP32-C6 Datasheet (PDF)
• ESP32-C6-WROOM-1 Datasheet (PDF)
• ESP32-C6-DevKitC-1 Schematic v1.4 (PDF) - Applies to boards of and after PW-2024-03-0595 and PW-
2024-03-0921
• ESP32-C6-DevKitC-1 Schematic v1.3 (PDF) - Applies to boards of and after PW-2023-07-0440
• ESP32-C6-DevKitC-1 Schematic v1.2 (PDF) - Applies to boards before PW-2023-07-0440
• ESP32-C6-DevKitC-1 PCB Layout (PDF)
• ESP32-C6-DevKitC-1 Dimensions (PDF)
• ESP32-C6-DevKitC-1 Dimensions source file (DXF) - You can view it with Autodesk Viewer online
For further design documentation for the board, please contact us at [email protected].
ESP32-C6-DevKitC-1 v1.1
New version available: ESP32-C6-DevKitC-1 v1.2
This user guide will help you get started with ESP32-C6-DevKitC-1 and will also provide more in-depth information.
ESP32-C6-DevKitC-1 is an entry-level development board based on ESP32-C6-WROOM-1, a general-purpose
module with a 8 MB SPI flash. This board integrates complete Wi-Fi, Bluetooth LE, Zigbee, and Thread func-
tions.
Most of the I/O pins are broken out to the pin headers on both sides for easy interfacing. Developers can either
connect peripherals with jumper wires or mount ESP32-C6-DevKitC-1 on a breadboard.
The document consists of the following major sections:
• Getting Started: Overview of ESP32-C6-DevKitC-1 and hardware/software setup instructions to get started.
• Hardware Reference: More detailed information about the ESP32-C6-DevKitC-1’s hardware.
• Hardware Revision Details: Revision history, known issues, and links to user guides for previous versions (if
any) of ESP32-C6-DevKitC-1.
• Related Documents: Links to related documentation.
Getting Started This section provides a brief introduction of ESP32-C6-DevKitC-1, instructions on how to do the
initial hardware setup and how to flash firmware onto it.
Description of Components The key components of the board are described in a clockwise direction.
Start Application Development Before powering up your ESP32-C6-DevKitC-1, please make sure that it is in
good condition with no obvious signs of damage.
Required Hardware
• ESP32-C6-DevKitC-1
• USB-A to USB-C cable
• Computer running Windows, Linux, or macOS
Note: Be sure to use a good quality USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Software Setup Please proceed to ESP-IDF Get Started, which will quickly help you set up the development
environment then flash an application example onto your board.
Retail orders If you order a few samples, each ESP32-C6-DevKitC-1 comes in an individual package in either
antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please check Espressif Product Ordering Information (PDF)
Hardware Reference
Block Diagram The block diagram below shows the components of ESP32-C6-DevKitC-1 and their interconnec-
tions.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• USB Type-C to UART Port and ESP32-C6 USB Type-C Port (either one or both), default power supply
(recommended)
• 5V and GND pin headers
• 3V3 and GND pin headers
Note: When using 3V3 and GND pin headers to power the board, please remove the J5 jumper, and connect an
ammeter in series to the external circuit to measure the module’s current.
Header Block The two tables below provide the Name and Function of the pin headers on both sides of the board
(J1 and J3). The pin header names are shown in Figure ESP32-C6-DevKitC-1 - front. The numbering is the same as
in the ESP32-C6-DevKitC-1 Schematic (PDF).
J1
No. Name TypePage 43, 1
Function
1 3V3 P 3.3 V power supply
2 RST I High: enables the chip; Low: disables the chip.
3 4 I/O/T MTMS3 , GPIO4, LP_GPIO4, LP_UART_RXD, ADC1_CH4, FSPIHD
4 5 I/O/T MTDIPage 43, 3 , GPIO5, LP_GPIO5, LP_UART_TXD, ADC1_CH5,
FSPIWP
5 6 I/O/T MTCK, GPIO6, LP_GPIO6, LP_I2C_SDA, ADC1_CH6, FSPICLK
6 7 I/O/T MTDO, GPIO7, LP_GPIO7, LP_I2C_SCL, FSPID
7 0 I/O/T GPIO0, XTAL_32K_P, LP_GPIO0, LP_UART_DTRN, ADC1_CH0
8 1 I/O/T GPIO1, XTAL_32K_N, LP_GPIO1, LP_UART_DSRN, ADC1_CH1
9 8 I/O/T GPIO82Page 43, 3
10 10 I/O/T GPIO10
11 11 I/O/T GPIO11
12 2 I/O/T GPIO2, LP_GPIO2, LP_UART_RTSN, ADC1_CH2, FSPIQ
13 3 I/O/T GPIO3, LP_GPIO3, LP_UART_CTSN, ADC1_CH3
14 5V P 5 V power supply
15 G G Ground
16 NC – No connection
J3
No. Name Type Function
1 G G Ground
2 TX I/O/T U0TXD, GPIO16, FSPICS0
3 RX I/O/T U0RXD, GPIO17, FSPICS1
4 15 I/O/T GPIO153
5 23 I/O/T GPIO23, SDIO_DATA3
6 22 I/O/T GPIO22, SDIO_DATA2
7 21 I/O/T GPIO21, SDIO_DATA1, FSPICS5
8 20 I/O/T GPIO20, SDIO_DATA0, FSPICS4
9 19 I/O/T GPIO19, SDIO_CLK, FSPICS3
10 18 I/O/T GPIO18, SDIO_CMD, FSPICS2
11 9 I/O/T GPIO93
12 G G Ground
13 13 I/O/T GPIO13, USB_D+
14 12 I/O/T GPIO12, USB_D-
15 G G Ground
16 NC – No connection
Pin Layout
Related Documents
• ESP32-C6 Datasheet (PDF)
• ESP32-C6-WROOM-1 Datasheet (PDF)
• ESP32-C6-DevKitC-1 Schematic (PDF)
• ESP32-C6-DevKitC-1 PCB Layout (PDF)
1 P: Power supply; I: Input; O: Output; T: High impedance.
3 MTMS, MTDI, GPIO8, GPIO9, and GPIO15 are strapping pins of the ESP32-C6 chip. These pins are used to control several chip functions
depending on binary voltage values applied to the pins during chip power-up or system reset. For description and application of the strapping pins,
please refer to ESP32-C6 Datasheet > Section Strapping Pins.
2 Used to drive the RGB LED.
1.1.5 ESP32-C6-DevKitM-1
ESP32-C6-DevKitM-1
This user guide will help you get started with ESP32-C6-DevKitM-1 and will also provide more in-depth information.
ESP32-C6-DevKitM-1 is an entry-level development board based on ESP32-C6-MINI-1(U), a general-purpose mod-
ule with a 4 MB SPI flash in the chip’s package. This board integrates complete Wi-Fi, Bluetooth LE, Zigbee, and
Thread functions.
Most of the I/O pins are broken out to the pin headers on both sides for easy interfacing. Developers can either
connect peripherals with jumper wires or mount ESP32-C6-DevKitM-1 on a breadboard.
The document consists of the following major sections:
• Getting Started: Overview of ESP32-C6-DevKitM-1 and hardware/software setup instructions to get started.
• Hardware Reference: More detailed information about the ESP32-C6-DevKitM-1’s hardware.
• Hardware Revision Details: Revision history, known issues, and links to user guides for previous versions (if
any) of ESP32-C6-DevKitM-1.
• Related Documents: Links to related documentation.
Getting Started This section provides a brief introduction of ESP32-C6-DevKitM-1, instructions on how to do
the initial hardware setup and how to flash firmware onto it.
Description of Components The key components of the board are described in a clockwise direction.
Start Application Development Before powering up your ESP32-C6-DevKitM-1, please make sure that it is in
good condition with no obvious signs of damage.
Required Hardware
• ESP32-C6-DevKitM-1
• USB-A to USB-C cable
• Computer running Windows, Linux, or macOS
Note: Be sure to use a good quality USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Software Setup Please proceed to ESP-IDF Get Started, which will quickly help you set up the development
environment then flash an application example onto your board.
Retail orders If you order a few samples, each ESP32-C6-DevKitM-1 comes in an individual package in either
antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please check Espressif Product Ordering Information (PDF)
Hardware Reference
Block Diagram The block diagram below shows the components of ESP32-C6-DevKitM-1 and their intercon-
nections.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• USB Type-C to UART Port and ESP32-C6 USB Type-C Port (either one or both), default power supply
(recommended)
• 5V and GND pin headers
• 3V3 and GND pin headers
Note: When using 3V3 and GND pin headers to power the board, please remove the J5 jumper, and connect an
ammeter in series to the external circuit to measure the module’s current.
Header Block The two tables below provide the Name and Function of the pin headers on both sides of the board
(J1 and J3). The pin header names are shown in Figure ESP32-C6-DevKitM-1 - front. The numbering is the same as
in the ESP32-C6-DevKitM-1 Schematic (PDF).
J1
No. Name TypePage 48, 1
Function
1 3V3 P 3.3 V power supply
2 RST I High: Power up; Low: Power down.
3 2 I/O/T GPIO2, LP_GPIO2, LP_UART_RTSN, ADC1_CH2, FSPIQ
4 3 I/O/T GPIO3, LP_GPIO3, LP_UART_CTSN, ADC1_CH3
5 4 I/O/T MTMS3 , GPIO4, LP_GPIO4, LP_UART_RXD, ADC1_CH4, FSPIHD
6 5 I/O/T MTDIPage 48, 3 , GPIO5, LP_GPIO5, LP_UART_TXD, ADC1_CH5,
FSPIWP
7 0/N I/O/T GPIO0, XTAL_32K_P, LP_GPIO0, LP_UART_DTRN, ADC1_CH0
8 1/N I/O/T GPIO1, XTAL_32K_N, LP_GPIO1, LP_UART_DSRN, ADC1_CH1
9 8 I/O/T GPIO82Page 48, 3
10 6 I/O/T MTCK, GPIO6, LP_GPIO6, LP_I2C_SDA, ADC1_CH6, FSPICLK
11 7 I/O/T MTDO, GPIO7, LP_GPIO7, LP_I2C_SCL, FSPID
12 14 I/O/T GPIO14
13 G G Ground
14 5V P 5 V power supply
15 G G Ground
J3
No. Name Type Function
1 G G Ground
2 TX I/O/T U0TXD, GPIO16, FSPICS0
3 RX I/O/T U0RXD, GPIO17, FSPICS1
4 23 I/O/T GPIO23, SDIO_DATA3
5 22 I/O/T GPIO22, SDIO_DATA2
6 21 I/O/T GPIO21, SDIO_DATA1, FSPICS5
7 20 I/O/T GPIO20, SDIO_DATA0, FSPICS4
8 19 I/O/T GPIO19, SDIO_CLK, FSPICS3
9 18 I/O/T GPIO18, SDIO_CMD, FSPICS2
10 15 I/O/T GPIO153
11 9 I/O/T GPIO93
12 G G Ground
13 13 I/O/T GPIO13, USB_D+
14 12 I/O/T GPIO12, USB_D-
15 G G Ground
Pin Layout
Note: The PW number can be found in the product label on the large cardboard boxes for wholesale orders.
Related Documents
• ESP32-C6 Datasheet (PDF)
• ESP32-C6-MINI-1 Datasheet (PDF)
• ESP32-C6-DevKitM-1 Schematic (PDF)
• ESP32-C6-DevKitM-1 PCB Layout (PDF)
• ESP32-C6-DevKitM-1 Dimensions (PDF)
• ESP32-C6-DevKitM-1 Dimensions source file (DXF) - You can view it with Autodesk Viewer online
For further design documentation for the board, please contact us at [email protected].
1.1.6 ESP32-H2-DevKitM-1
ESP32-H2-DevKitM-1 is an entry-level development board based on Bluetooth® Low Energy and IEEE 802.15.4
combo module ESP32-H2-MINI-1 or ESP32-H2-MINI-1U. This user guide will help you get started with ESP32-
H2-DevKitM-1 and will also provide more in-depth information.
ESP32-H2-DevKitM-1
This user guide will help you get started with ESP32-H2-DevKitM-1 and will also provide more in-depth information.
ESP32-H2-DevKitM-1 is an entry-level development board based on Bluetooth® Low Energy and IEEE 802.15.4
combo module ESP32-H2-MINI-1 or ESP32-H2-MINI-1U.
Most of the I/O pins on the ESP32-H2-MINI-1/1U module are broken out to the pin headers on both sides of
this board for easy interfacing. Developers can either connect peripherals with jumper wires or mount ESP32-H2-
DevKitM-1 on a breadboard.
The document consists of the following major sections:
• Getting Started: Overview of ESP32-H2-DevKitM-1 and hardware/software setup instructions to get started.
• Hardware Reference: More detailed information about the ESP32-H2-DevKitM-1’s hardware.
• Hardware Revision Details: Revision history, known issues, and links to user guides for previous versions (if
any) of ESP32-H2-DevKitM-1.
• Related Documents: Links to related documentation.
Getting Started This section provides a brief introduction of ESP32-H2-DevKitM-1, instructions on how to do
the initial hardware setup and how to flash firmware onto it.
Description of Components The description of components starts from the ESP32-H2-MINI-1/1U module on
the left side and then goes clockwise.
Start Application Development Before powering up your ESP32-H2-DevKitM-1, please make sure that it is in
good condition with no obvious signs of damage.
Required Hardware
• ESP32-H2-DevKitM-1
• USB-A to USB-C (Type C) cable
• Computer running Windows, Linux, or macOS
Note: Some USB cables can only be used for charging, not data transmission and programming. Please choose
accordingly.
Software Setup Please proceed to Get Started, where Section Installation will quickly help you set up the devel-
opment environment and then flash an application example onto your ESP32-H2-DevKitM-1.
Ordering Information The development board has a variety of variants to choose from, as shown in the table
below.
Retail Orders If you order one or several samples, each ESP32-H2-DevKitM-1 comes in an individual package
in either antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Hardware Reference
Block Diagram The block diagram below shows the components of ESP32-H2-DevKitM-1 and their intercon-
nections.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• USB Type-C to UART port, default power supply
• 5V and GND pin headers
• 3V3 and GND pin headers
Note: When using 3V3 and GND pin headers to power the board, please remove the J5 jumper, and connect an
ammeter in series to the external circuit to measure the module’s current.
Header Block The two tables below provide the Name and Function of the pin headers on both sides of the board
(J1 and J3). The pin header names are shown in Pin Layout. The numbering is the same as in the ESP32-H2-
DevKitM-1 Schematic. (see attached PDF).
J1
J3
No. Name Type1 Function
1 G P Ground
2 TX I/O/T GPIO24, FSPICS2, U0TXD
3 RX I/O/T GPIO23, FSPICS1, U0RXD
4 10 I/O/T GPIO10, ZCD0
5 11 I/O/T GPIO11, ZCD1
6 25 I/O/T GPIO25, FSPICS3
7 12 I/O/T GPIO12
8 8 I/O/T GPIO84 , LOG
9 22 I/O/T GPIO22
10 G P Ground
11 9 I/O/T GPIO9, BOOT
12 G P Ground
13 27 I/O/T GPIO27, FSPICS5, USB_D+
14 26 I/O/T GPIO26, FSPICS4, USB_D-
15 G P Ground
1 P: Power supply; I: Input; O: Output; T: High impedance.
2 When connected to XTAL_32K_P inside the module, this pin cannot be used for other purpose.
3 When connected to XTAL_32K_N inside the module, this pin cannot be used for other purpose.
For more information about pin description, please see ESP32-H2 Datasheet.
Pin Layout
Note: The PW number can be found in the product label on the large cardboard boxes for wholesale orders.
Related Documents
• ESP32-H2 Datasheet (PDF)
• ESP32-H2-MINI-1/1U Datasheet (PDF)
• ESP32-H2-DevKitM-1 Schematics v1.3 (Applies to boards of and after PW-2024-02-0362) (PDF)
• ESP32-H2-DevKitM-1 Schematics v1.2 (Applies to boards before PW-2024-02-0362) (PDF)
• ESP32-H2-DevKitM-1 PCB Layout (PDF)
• ESP32-H2-DevKitM-1 Dimensions (PDF)
• ESP32-H2-DevKitM-1 Dimensions source file (DXF)
For further design documentation for the board, please contact us at [email protected].
1.1.7 ESP8684-DevKitM-1
ESP8684-DevKitM-1 v1.1
Getting Started This section provides a brief introduction of ESP8684-DevKitM-1, instructions on how to do the
initial hardware setup and how to flash firmware onto it.
Description of Components The key components of the board are described in a counter-clockwise direction.
Start Application Development Before powering up your board, please make sure that it is in good condition with
no obvious signs of damage.
Required Hardware
• ESP8684-DevKitM-1
• USB 2.0 cable (Standard-A to Micro-B)
• Computer running Windows, Linux, or macOS
Note: Be sure to use an appropriate USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Software Setup Please proceed to Get Started, where Section Installation Step by Step will quickly help you set
up the development environment then flash an application example onto your board.
ESP-AT Support The ESP8684-DevKitM-1 supports ESP-AT software that provides a set of AT commands
with which you can quickly integrate wireless connectivity features into your product without a need for embedded
application development of the module on this development board .
The software is available as a pre-built binary that can be downloaded from ESP-AT repository.
For more information about using ESP-AT, including information on how to customize pre-built binaries, please refer
to ESP-AT User Guide.
Retail Orders If you order a few samples, each board comes in an individual package in either antistatic bag or
any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Hardware Overview
Block Diagram The block diagram below shows the components of ESP8684-DevKitM-1 and their interconnec-
tions.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• Micro-USB Port, default power supply (recommended)
• 5V and G (GND) pins
• 3V3 and G (GND) pins
Header Block The two tables below provide the Name and Function of the pins on both sides of the board (J1 and
J3). The pin names are shown in ESP8684-DevKitM-1 - front. The numbering is the same as in the Board Schematic
(PDF).
J1
No. Name Type1 Function
1 G G Ground
2 3V3 P 3.3 V power supply
3 3V3 P 3.3 V power supply
4 2 I/O/T GPIO2, ADC1_CH2, FSPIQ
5 3 I/O/T GPIO3, ADC1_CH3
6 G G Ground
7 RST I Reset; High: enable; Low: powers off
8 G G Ground
9 0 I/O/T GPIO0, ADC1_CH0, LED Red
10 1 I/O/T GPIO1, ADC1_CH1, LED Green
11 10 I/O/T GPIO10, FSPICS0
12 G G Ground
13 5V P 5 V power supply
14 5V P 5 V power supply
15 G G Ground
J3
No. Name Type? Function
1 G G Ground
2 TX I/O/T GPIO20, U0TXD
3 RX I/O/T GPIO19, U0RXD
4 G G Ground
5 9 I/O/T GPIO92
6 8 I/O/T GPIO82 , LED Blue
7 G G Ground
8 7 I/O/T GPIO7, FSPID, MTDO
9 6 I/O/T GPIO6, FSPICLK, MTCK
10 5 I/O/T GPIO5, ADC2_CH0, FSPIWP ,MTDI
11 4 I/O/T GPIO4, ADC1_CH4, FSPIHD ,MTMS
12 G G Ground
13 18 I/O/T GPIO18
14 G G Ground
15 G G Ground
Pin Layout
Related Documents
• ESP8684 Datasheet (PDF)
• ESP8684-DevKitM-1 Schematic (PDF)
• ESP8684-DevKitM-1 PCB layout (PDF)
• ESP8684-DevKitM-1 Dimensions (PDF)
• ESP8684-DevKitM-1 Dimensions source file (DXF) - You can view it with Autodesk Viewer online
For further design documentation for the board, please contact us at [email protected].
ESP8684-DevKitM-1
The latest version: ESP8684-DevKitM-1 v1.1.
This user guide will help you get started with ESP8684-DevKitM-1 and will also provide more in-depth information.
The ESP8684-DevKitM-1 is an entry-level development board based on ESP8684-MINI-1, a general-purpose mod-
ule with 1 MB/2 MB/4 MB SPI flash. This board integrates complete Wi-Fi and Bluetooth LE functions.
Most of the I/O pins on the module are broken out to the pin headers on both sides of this board for easy interfacing.
Developers can either connect peripherals with jumper wires or mount ESP8684-DevKitM-1 on a breadboard.
The document consists of the following major sections:
• Getting Started: Overview of the board and hardware/software setup instructions to get started.
• Hardware Overview: More detailed information about the board’s hardware.
• Hardware Revision Details: Hardware revision history, known issues, and links to user guides for previous
versions (if any) of the board.
• Related Documents: Links to related documentation.
Getting Started This section provides a brief introduction of ESP8684-DevKitM-1, instructions on how to do the
initial hardware setup and how to flash firmware onto it.
Description of Components The key components of the board are described in a counter-clockwise direction.
Start Application Development Before powering up your board, please make sure that it is in good condition with
no obvious signs of damage.
Required Hardware
• ESP8684-DevKitM-1
• USB 2.0 cable (Standard-A to Micro-B)
• Computer running Windows, Linux, or macOS
Note: Be sure to use an appropriate USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Software Setup Please proceed to Get Started, where Section Installation Step by Step will quickly help you set
up the development environment then flash an application example onto your board.
ESP-AT Support The ESP8684-DevKitM-1 supports ESP-AT software that provides a set of AT commands
with which you can quickly integrate wireless connectivity features into your product without a need for embedded
application development of the module on this development board.
The software is available as a pre-built binary that can be downloaded from ESP-AT repository.
For more information about using ESP-AT, including information on how to customize pre-built binaries, please refer
to ESP-AT User Guide.
Retail Orders If you order a few samples, each board comes in an individual package in either antistatic bag or
any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Hardware Overview
Block Diagram The block diagram below shows the components of ESP8684-DevKitM-1 and their interconnec-
tions.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• Micro-USB Port, default power supply (recommended)
• 5V and G (GND) pins
• 3V3 and G (GND) pins
Header Block The two tables below provide the Name and Function of the pins on both sides of the board (J1 and
J3). The pin names are shown in ESP8684-DevKitM-1 - front. The numbering is the same as in the Board Schematic
(PDF).
J1
No. Name Type1 Function
1 G G Ground
2 3V3 P 3.3 V power supply
3 3V3 P 3.3 V power supply
4 2 I/O/T GPIO2, ADC1_CH2, FSPIQ
5 3 I/O/T GPIO3, ADC1_CH3
6 G G Ground
7 RST I Reset; High: enable; Low: powers off
8 G G Ground
9 0 I/O/T GPIO0, ADC1_CH0
10 1 I/O/T GPIO1, ADC1_CH1
11 10 I/O/T GPIO10, FSPICS0
12 G G Ground
13 5V P 5 V power supply
14 5V P 5 V power supply
15 G G Ground
J3
No. Name Type? Function
1 G G Ground
2 TX I/O/T GPIO20, U0TXD
3 RX I/O/T GPIO19, U0RXD
4 G G Ground
5 9 I/O/T GPIO92
6 8 I/O/T GPIO8Page 63, 2 , RGB LED
7 G G Ground
8 7 I/O/T GPIO7, FSPID , MTDO
9 6 I/O/T GPIO6, FSPICLK , MTCK
10 5 I/O/T GPIO5, ADC2_CH0, FSPIWP ,MTDI
11 4 I/O/T GPIO4, ADC1_CH4, FSPIHD ,MTMS
12 G G Ground
13 18 I/O/T GPIO18
14 G G Ground
15 G G Ground
Pin Layout
Hardware Revision Details This is the first revision of this board released.
Related Documents
• ESP8684-DevKitM-1 Schematic (PDF)
• ESP8684-DevKitM-1 PCB layout (PDF)
• ESP8684-DevKitM-1 Dimensions (PDF)
• ESP8684-DevKitM-1 Dimensions source file (DXF) - You can view it with Autodesk Viewer online
For further design documentation for the board, please contact us at [email protected].
1.1.8 ESP8684-DevKitC-02
ESP8684-DevKitC-02 v1.0
Getting Started This section provides a brief introduction of ESP8684-DevKitC-02, instructions on how to do the
initial hardware setup and how to flash firmware onto it.
Description of Components The key components of the board are described in a counter-clockwise direction.
Start Application Development Before powering up your board, please make sure that it is in good condition with
no obvious signs of damage.
Required Hardware
• ESP8684-DevKitC-02
• USB 2.0 cable (Standard-A to Micro-B)
• Computer running Windows, Linux, or macOS
Note: Be sure to use an appropriate USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Software Setup Please proceed to Get Started, where Section Installation Step by Step will quickly help you set
up the development environment then flash an application example onto your board.
ESP-AT Support The ESP8684-DevKitC-02 supports ESP-AT software that provides a set of AT commands
with which you can quickly integrate wireless connectivity features into your product without a need for embedded
application development of the module on this development board.
The software is available as a pre-built binary that can be downloaded from ESP-AT repository.
For more information about using ESP-AT, including information on how to customize pre-built binaries, please refer
to ESP-AT User Guide.
Retail Orders If you order a few samples, each board comes in an individual package in either antistatic bag or
any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Hardware Overview
Block Diagram The block diagram below shows the components of ESP8684-DevKitC-02 and their interconnec-
tions.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• Micro-USB Port, default power supply (recommended)
• 5V and G (GND) pins
• 3V3 and G (GND) pins
Header Block The two tables below provide the Name and Function of the pins on both sides of the board (J1 and
J3). The pin names are shown in ESP8684-DevKitC-02 - front. The numbering is the same as in the Board Schematic
(PDF).
J1
No. Name Type1 Function
1 G G Ground
2 3V3 P 3.3 V power supply
3 3V3 P 3.3 V power supply
4 RST I Reset; High: enable; Low: powers off; Pull up by default
5 G G Ground
6 4 I/O/T GPIO4, ADC1_CH4, FSPIHD, MTMS
7 5 I/O/T GPIO5, FSPIWP, MTDI
8 6 I/O/T GPIO6, FSPICLK, MTCK
9 7 I/O/T GPIO7, FSPID , MTDO
10 G G Ground
11 8 I/O/T GPIO82 , LED Blue
12 9 I/O/T GPIO92
13 5V P 5 V power supply
14 5V P 5 V power supply
15 G G Ground
J3
No. Name Type? Function
1 G G Ground
2 0 I/O/T GPIO0, ADC1_CH0, LED Red
3 1 I/O/T GPIO1, ADC1_CH1, LED Green
4 2 I/O/T GPIO2, ADC1_CH2, FSPIQ
5 3 I/O/T GPIO3, ADC1_CH3
6 G G Ground
7 10 I/O/T GPIO10, FSPICS0
8 G G Ground
9 RX I/O/T GPIO19, U0RXD
10 TX I/O/T GPIO20, U0TXD
11 G G Ground
12 18 I/O/T GPIO18
13 NC – –
14 G G Ground
15 G G Ground
Pin Layout
Hardware Revision Details This is the first revision of this board released.
1 P: Power supply; I: Input; O: Output; T: High impedance.
2 GPIO8 and GPIO9 are strapping pins of the ESP8684 chip. These pins are used to control several chip functions depending on binary voltage
values applied to the pins during chip power-up or system reset. For description and application of the strapping pins, please refer to ESP8684
Datasheet > Section Strapping Pins.
Related Documents
• ESP8684 Datasheet (PDF)
• ESP8684-DevKitC-02 Schematic (PDF)
• ESP8684-DevKitC-02 PCB layout (PDF)
• ESP8684-DevKitC-02 Dimensions (PDF)
• ESP8684-DevKitC-02 Dimensions source file (DXF) - You can view it with Autodesk Viewer online
For further design documentation for the board, please contact us at [email protected].
1.1.9 ESP32-S3-USB-OTG
ESP32-S3-USB-OTG is a development board that focuses on USB-OTG function verification and application devel-
opment.
Application examples for this board can be found at Examples .
ESP32-S3-USB-OTG
ESP32-S3-USB-OTG is a development board that focuses on USB-OTG function verification and application devel-
opment. It is based on ESP32-S3 SoC, supports Wi-Fi and BLE 5.0 wireless functions, and supports USB host and
USB device functions. It can be used to develop applications such as wireless storage devices, Wi-Fi network cards,
LTE MiFi, multimedia devices, virtual keyboards and mice. The development board has the following features:
• Onboard ESP32-S3-MINI-1-N8 module, with built-in 8 MB flash
• Onboard USB Type-A host and device interface, with built-in USB interface switching circuit
• Onboard USB to serial debugging chip (Micro USB interface)
• Onboard 1.3-inch LCD color screen, supports GUI
• Onboard SD card interface, compatible with SDIO and SPI interfaces
• Onboard charging IC, can be connected to lithium battery
The document consists of the following major sections:
• Getting Started: Provides a brief overview of ESP32-S3-USB-OTG and necessary hardware and software in-
formation.
• Hardware Reference: Provides detailed hardware information of ESP32-S3-USB-OTG.
• Related Documents: Provides links to related documents.
Getting Started This section describes how to start using ESP32-S3-USB-OTG. It includes introduction to basic
information about ESP32-S3-USB-OTG first, and then on how to start using the development board for application
development, as well as board packaging and retail information.
Description of Components The ESP32-S3-USB-OTG development board includes the following parts:
• Motherboard: ESP32-S3-USB-OTG motherboard is the core of the kit. The motherboard integrates the
ESP32-S3-MINI-1 module and provides an interface of the 1.3-inch LCD screen.
The following table starts with the USB_HOST Interface on the left, and introduces the main components in the
above figure in an anticlockwise order.
The following table starts with the Yellow LED on the left, and introduces the main components in the above figure
in an anticlockwise order.
Start Application Development Before powering on the ESP32-S3-USB-OTG, please make sure that the devel-
opment board is intact.
Required Hardware
• ESP32-S3-USB-OTG
• A USB 2.0 data cable (standard A to Micro-B)
• Computer (Windows, Linux or macOS)
Software Setup Please proceed to Get Started, where Section Installation Step by Step will quickly help you set
up the development environment and then flash an application example onto your board.
Project Option An example is provided for ESP32-S3-USB-OTG under the folder Examples .
You can configure project options by entering idf.py menuconfig in the example directory.
Retail Orders If you order a few samples, each board comes in an individual package in either an antistatic bag or
any packaging depending on your retailer.
Wholesale Order If purchased in bulk, the development board will be packaged in a large cardboard box.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Hardware Reference
Block Diagram The block diagram below shows the components of ESP32-S3-USB-OTG and their interconnec-
tions.
Please note that the external interface corresponding to the USB_HOST D+ D- signal in the functional block diagram
is USB DEV, which means that ESP32-S3 is used as a device to receive signals from other USB hosts. The external
interface corresponding to the USB_DEV D+ D- signal is USB HOST, which means that ESP32-S3 acts as a host
to control other devices.
Power Supply Options There are three power supply methods for the development board:
1. Power supply through the Micro_USB interface
• Use the USB cable (standard A to Micro-B) to connect the motherboard to a power supply device, and
set battery switch to OFF. Please note that in this power supply mode, only the motherboard and display
are powered.
2. Power supply through the USB_DEV interface
• Set DEV_VBUS_EN to high level, and set the battery switch to OFF. This mode can supply power to the
USB HOST interface. The lithium battery will be charged at the same time (if the lithium battery is
installed)
3. Power supply through the battery
• Set BOOST_EN to high level, and set the battery switch to ON. You should solder a 1-Serial lithium
battery (3.7 V ~ 4.2 V) to the power solder joint reserved on the back of the motherboard first. This
mode can supply power to the USB HOST interface at the same time. The battery interface description
is as follows:
USB HOST Interface Power Options The USB HOST interface (Type-A female port) can supply power to the
connected USB device. The power supply voltage is 5 V and the maximum current is 500 mA.
• There are two power supply methods for the USB HOST interface:
1. Power is supplied through the USB_DEV interface, and the 5 V power is directly from the power source
connected to the interface.
2. Power is supplied through the lithium battery, and the 3.6 V ~ 4.2 V voltage of the lithium battery
is boosted to 5 V through the Boost circuit. The working status of Boost IC can be controlled by
BOOST_EN/GPIO13, set high to enable Boost.
• USB HOST interface power supply selection:
• When USB_SEL (GPIO18) is set to high level, the USB D+/D- Pin (GPIO19, 20) will be connected to
USB_DEV D+ D-. Then you can use the USB HOST interface (Type-A female Port) to connect other USB
devices.
• When USB_SEL (GPIO18) is set to low level, the USB D+/D- Pin (GPIO19, 20) will be connected to
USB_HOST D+ D-. Then you can use the USB DEV interface (Type-A male port) to connect to a host like
a PC.
• USB_SEL is pulled low level by default.
LCD Interface Please note that this interface supports connecting SPI interface screens. The screen controller
used by this development board is :project:` ST7789 <esp32-s3-usb-otg/datasheet/ST7789VW_datasheet.pdf>`, and
LCD_BL (GPIO9) can be used to control the screen backlight.
SD Card Interface Please note that the SD card interface is compatible with 1-wire, 4-wire SDIO mode and SPI
mode. After being powered on, the card will be in 3.3 V signaling mode. Please send the first CMD0 command to
select the bus mode: SD mode or SPI mode.
Charging Circuit Please note that the Type-A male port can be connected to a power adapter that outputs 5 V.
When charging the battery, the red indicator LED is on, after fully charged, the red indicator LED is off. When using
the charging circuit, please set the battery switch to OFF. The charging current is 212.7 mA.
Extended pin:
Related Documents
• ESP32-S3 Datasheet (PDF)
• ESP32-S3-MINI-1/1U Datasheet (PDF)
• Espressif Product Selection Tool
• ESP32-S3-USB-OTG Schematic Diagram (PDF)
• ESP32-S3-USB-OTG PCB Layout Drawing (PDF)
• ST7789VW Datasheet (PDF)
1.1.10 ESP32-S3-LCD-EV-Board
ESP32-S3-LCD-EV-Board is a development board for evaluating and verifying esp32s3 screen interactive applica-
tions. It has the functions of touchscreen interaction and voice interaction.
Note: Please check the version number of your ESP32-S3-LCD-EV-Board-MB indicated by the silk marking on
the back. For boards of the v1.5 version, please refer to ESP32-S3-LCD-EV-Board v1.5. For boards of the v1.4 and
below versions, please refer to ESP32-S3-LCD-EV-Board v1.4.
ESP32-S3-LCD-EV-Board v1.5
Note: Please check the version number of your ESP32-S3-LCD-EV-Board-MB indicated by the silk marking on
the back. For boards of the v1.5 version, please refer to this user guide. For boards of the v1.4 and below versions,
please refer to ESP32-S3-LCD-EV-Board v1.4.
This user guide will help you get started with ESP32-S3-LCD-EV-Board and will also provide more in-depth infor-
mation.
The document consists of the following sections:
• Board Overview: Overview of the board hardware/software.
• Start Application Development: How to set up hardware/software to develop applications.
• Hardware Reference: More detailed information about the board’s hardware.
• Hardware Revision Details: This is the first revision of this board released.
• Sample Request: How to get a sample board.
• Related Documents: Links to related documentation.
screen and voice interaction. The board caters to development needs for touchscreen products with different resolu-
tions and interfaces. Currently, we have two boards available: ESP32-S3-LCD-EV-Board with 480x480 LCD and
ESP32-S3-LCD-EV-Board-2 with 800x480 LCD.
Feature List The main features of the board are listed below:
• Module Embedded: ESP32-S3-WROOM-1 module with 16 MB flash and 16 MB PSRAM
• Display: Compatibility with various subboards and support for displays with RGB, 8080, SPI, and I2C
interfaces. Please refer to LCD Subboards for more information
• Audio: Audio Codec + ADC amplifier and dual microphones
• USB: USB to serial port chip plus USB Type-C download/debug
Block Diagram The block diagram below shows the components of ESP32-S3-LCD-EV-Board and their inter-
connections.
Mainboard ESP32-S3-LCD-EV-Board-MB is the core of the kit, which integrates the ESP32-S3-WROOM-1
module and provides ports for connection to the LCD subboard.
LCD Subboards The mainboard can be used together with three different kinds of subboards:
• ESP32-S3-LCD-EV-Board-SUB1 subboard has two interfaces, which support connection to a 2.4-inch dis-
play with the SPI interface or a 0.96-inch display with the I2C interface. This board is not yet configured, so
it is not further explained here.
• ESP32-S3-LCD-EV-Board-SUB2 subboard has two interfaces, which support connection to a display with
the RGB interface or a display with the 8080 parallel interface. The current subboard has a 3.95-inch touch-
screen with the RGB565 interface and 480x480 resolution. The LCD driver IC is GC9503CV and the touch-
screen driver IC is FT5x06.
• ESP32-S3-LCD-EV-Board-SUB3 subboard only supports a 4.3-inch touchscreen with the RGB565 interface
and 800x480 resolution. The LCD driver IC is ST7262E43 and the touchscreen driver IC is GT1151.
Start Application Development This section provides instructions on how to do hardware and software setup and
flash firmware onto the board to develop your own application.
Required Hardware
• 1 x ESP32-S3-LCD-EV-Board-MB
• 1 x LCD subboard
• 1 x USB 2.0 cable (standard Type-A to Type-C)
• 1 x PC (Windows, Linux, or macOS)
Note: Please make sure to use the appropriate USB cable. Some cables can only be used for charging, not for data
transfer or program flashing.
Optional Hardware
• 1 x Speaker
Hardware Setup Prepare the board for loading of the first sample application:
1. Connect the LCD subboard to the LCD Board Connector.
2. Plug in the USB cable to connect the PC with the board.
3. The LCD lights up and you can start to interact with it.
Now the board is ready for software setup.
Note:
• ESP-IDF v5.1.2 is required. It is recommended to use the latest release/v5.1 branch for development.
• For more information about developing LCD applications, please refer to ESP-IoT-Solution Programming
Guide.
Hardware Reference This section provides more detailed information about the board’s hardware.
GPIO Allocation The table below provides the allocation of GPIOs exposed on terminals of ESP32-S3-WROOM-
1 module to control specific components or functions of the board.
The pins on the I/O expander connected to the module can be used for different functions.
Power Distribution
Power Supply over USB There are two ways to power the development board via USB power port.
• Via USB-to-USB port
Independent Audio and Digital Power Supply ESP32-S3-LCD-EV-Board features independent power supplies
for the audio components and ESP module. This should reduce noise in the audio signal from digital components and
improve the overall performance of the components.
AEC Path The acoustic echo cancellation (AEC) path provides reference signals for AEC algorithm.
ESP32-S3-LCD-EV-Board provides two compatible echo reference signal source designs. One is Codec (ES8311)
DAC output (DAC_AOUTLP/DAC_AOUTLP), the other is PA (NS4150) output (PA_OUT+/PA_OUT+). The
former is a default and the recommended selection. Resistors R54 and R56 shown in the figure below should not be
installed.
The echo reference signal is collected by ADC_MIC3P/ADC_MIC3N of ADC (ES7210) and then sent back to
ESP32-S3 for AEC algorithm.
Automatic Download There are two ways to put the development board into the download mode.
• Press the Boot and Reset buttons. Release the Reset button first and then the Boot button.
• The download is performed automatically by the software. The software uses the DTR and RTS signals from
the serial port to control the status of the EN and IO0 pins.
ESP32-S3-LCD-EV-Board v1.5
• The following pins are re-allocated for the ESP32-S3-WROOM-1-N16R16V module:
– I2C_SCL: from IO18 to IO48
– I2C_SDA: from IO8 to IO47
– LCD_DATA6: from IO47 to IO8
– LCD_DATA7: from IO48 to IO18
• Level-shifting circuits are added to IO47 and IO48 for converting the 1.8 V logic level to a 3.3 V logic level.
ESP32-S3-LCD-EV-Board v1.4
• Initial Release
Sample Request This development board is suitable for evaluating Espressif’s high-performance HMI Smart
Displays Solution. For placing orders, please proceed to the Espressif Online Shop.
Related Documents
• ESP32-S3 Datasheet
• ESP32-S3-WROOM-1 Datasheet
• ESP Product Selector
• ESP32-S3-LCD-EV-Board-MB Schematics
• ESP32-S3-LCD-EV-Board-MB PCB Layout
• ESP32-S3-LCD-EV-Board-SUB1 Schematics
• ESP32-S3-LCD-EV-Board-SUB1 PCB Layout
• ESP32-S3-LCD-EV-Board-SUB2 Schematics
• ESP32-S3-LCD-EV-Board-SUB2 PCB Layout
• ESP32-S3-LCD-EV-Board-SUB3 Schematics
• ESP32-S3-LCD-EV-Board-SUB3 PCB Layout
• TCA9554 Datasheet
For further design documentation for the board, please contact us at [email protected].
ESP32-S3-LCD-EV-Board v1.4
Note: Please check the version number of your ESP32-S3-LCD-EV-Board-MB indicated by the silk marking on
the back. For boards of the v1.4 and below versions, please refer to this user guide. For boards of the v1.5 version,
please refer to ESP32-S3-LCD-EV-Board v1.5.
This user guide will help you get started with ESP32-S3-LCD-EV-Board and will also provide more in-depth infor-
mation.
The document consists of the following sections:
• Board Overview: Overview of the board hardware/software.
• Start Application Development: How to set up hardware/software to develop applications.
• Hardware Reference: More detailed information about the board’s hardware.
• Hardware Revision Details: This is the first revision of this board released.
• Sample Request: How to get a sample board.
• Related Documents: Links to related documentation.
Feature List The main features of the board are listed below:
• Module Embedded: ESP32-S3-WROOM-1 module with 16 MB flash and 8 MB PSRAM
• Display: Compatibility with various subboards and support for displays with RGB, 8080, SPI, and I2C
interfaces. Please refer to LCD Subboards for more information
• Audio: Audio Codec + ADC amplifier and dual microphones
• USB: USB to serial port chip plus USB Type-C download/debug
Block Diagram The block diagram below shows the components of ESP32-S3-LCD-EV-Board and their inter-
connections.
Mainboard ESP32-S3-LCD-EV-Board-MB is the core of the kit, which integrates the ESP32-S3-WROOM-1
module and provides ports for connection to the LCD subboard.
LCD Subboards The mainboard can be used together with three different kinds of subboards:
• The ESP32-S3-LCD-EV-Board-SUB1 subboard has two interfaces, which support connection to a 2.4-inch
display with the SPI interface or a 0.96-inch display with the I2C interface. This board is not yet configured,
so it is not further explained here.
• The ESP32-S3-LCD-EV-Board-SUB2 subboard has two interfaces, which support connection to a display
with the RGB interface or a display with the 8080 parallel interface. The current subboard has a 3.95-inch
touchscreen with the RGB565 interface and 480x480 resolution. The LCD driver IC is GC9503CV and the
touchscreen driver IC is FT5x06.
• The ESP32-S3-LCD-EV-Board-SUB3 subboard only supports a 4.3-inch touchscreen with the RGB565
interface and 800x480 resolution. The LCD driver IC is ST7262E43 and the touchscreen driver IC is GT1151.
Start Application Development This section provides instructions on how to do hardware and software setup and
flash firmware onto the board to develop your own application.
Required Hardware
• 1 x ESP32-S3-LCD-EV-Board-MB
• 1 x LCD subboard
• 1 x USB 2.0 cable (standard Type-A to Type-C)
• 1 x PC (Windows, Linux, or macOS)
Note: Please make sure to use the appropriate USB cable. Some cables can only be used for charging, not for data
transfer or program flashing.
Optional Hardware
• 1 x Speaker
Hardware Setup Prepare the board for loading of the first sample application:
1. Connect the LCD subboard to the LCD Board Connector.
2. Plug in the USB cable to connect the PC with the board.
3. The LCD lights up and you can start to interact with it.
Now the board is ready for software setup.
Note:
• ESP-IDF v5.1.2 is required. It is recommended to use the latest release/v5.1 branch for development.
• For more information about developing LCD applications, please refer to ESP-IoT-Solution Programming
Guide.
Hardware Reference This section provides more detailed information about the board’s hardware.
GPIO Allocation The table below provides the allocation of GPIOs exposed on terminals of ESP32-S3-WROOM-
1 module to control specific components or functions of the board.
The pins on the I/O expander connected to the module can be used for different functions.
Power Distribution
Power Supply over USB There are two ways to power the development board via USB power port.
• Via USB-to-USB port
Independent Audio and Digital Power Supply ESP32-S3-LCD-EV-Board features independent power supplies
for the audio components and ESP module. This should reduce noise in the audio signal from digital components and
improve the overall performance of the components.
AEC Path The acoustic echo cancellation (AEC) path provides reference signals for AEC algorithm.
ESP32-S3-LCD-EV-Board provides two compatible echo reference signal source designs. One is Codec (ES8311)
DAC output (DAC_AOUTLP/DAC_AOUTLP), the other is PA (NS4150) output (PA_OUT+/PA_OUT+). The
former is a default and the recommended selection. Resistors R54 and R56 shown in the figure below should not be
installed.
The echo reference signal is collected by ADC_MIC3P/ADC_MIC3N of ADC (ES7210) and then sent back to
ESP32-S3 for AEC algorithm.
Automatic Download There are two ways to put the development board into the download mode.
• Press the Boot and Reset buttons. Release the Reset button first and then the Boot button.
• The download is performed automatically by the software. The software uses the DTR and RTS signals from
the serial port to control the status of the EN and IO0 pins.
Sample Request This development board is suitable for evaluating Espressif’s high-performance HMI Smart
Displays Solution. For placing orders, please proceed to the Espressif Online Shop.
Related Documents
• ESP32-S3 Datasheet
• ESP32-S3-WROOM-1 Datasheet
• ESP Product Selector
• ESP32-S3-LCD-EV-Board-MB Schematics
• ESP32-S3-LCD-EV-Board-MB PCB Layout
• ESP32-S3-LCD-EV-Board-SUB1 Schematics
• ESP32-S3-LCD-EV-Board-SUB1 PCB Layout
• ESP32-S3-LCD-EV-Board-SUB2 Schematics
• ESP32-S3-LCD-EV-Board-SUB2 PCB Layout
• ESP32-S3-LCD-EV-Board-SUB3 Schematics
• ESP32-S3-LCD-EV-Board-SUB3 PCB Layout
• TCA9554 Datasheet
For further design documentation for the board, please contact us at [email protected].
1.1.11 ESP32-S3-USB-Bridge
ESP32-S3-USB-Bridge can act as an alternative to USB-to-UART chips like CP210x or debuggers by establishing a
bridge between the computer and existing microcontrollers.
ESP32-S3-USB-Bridge
This user guide will help you get started with ESP32-S3-USB-Bridge and will also provide more in-depth information.
The document consists of the following sections:
• Board Overview: Overview of the board hardware/software
• Start Application Development: How to set up hardware/software to develop applications
• Hardware Reference: More detailed information about the board’s hardware
• Hardware Revision Details: This is the first revision of this board released
• Sample Request: How to get a sample board
• Related Documents: Links to related documentation
– MSC Storage Device: updates firmware by storing the UF2 firmware files in the USB storage device of
the board.
– Wireless Bridge: realizes wireless flashing and wireless serial data transmission and reception through
ESP-NOW.
The development board also supports a USB Type-A interface that is convenient for replacement.
Feature List The main features of the board are listed below:
• Module Embedded: ESP32-S3-MINI-1 module with 4 MB flash and 2 MB PSRAM
• LED Indicators: on-board WS2812 LED indicator with two serial data LED indicators
• USB: on-board USB-to-UART bridge and JTAG adapter, with support for USB download/debugging
Block Diagram The block diagram below shows the components of ESP32-S3-USB-Bridge and their intercon-
nections.
Software Support Development of applications for ESP32-S3-USB-Bridge can be done using ESP-IDF frame-
work. ESP-IDF is a FreeRTOS-based SoC development framework with several components including LCD, ADC,
RMT, and SPI. An example is provided for ESP32-S3-LCD-EV-Board under the folder Examples . You can config-
ure project options by entering idf.py menuconfig in the example directory.
Note:
• The current supported ESP-IDF version is release/5.0.
• To prevent the default firmware from being replaced, please avoid pressing and holding the module’s own
Boot button while powering the board up/down.
Start Application Development This section provides instructions on how to do hardware and software setup and
flash firmware onto the board to develop your own application.
Required Hardware
• 1 x ESP32-S3-USB-Bridge
• 1 x LCD subboard
• 1 x USB 2.0 cable (standard Type-A to Type-C)
• 1 x PC (Windows, Linux, or macOS)
Note: Please make sure to use the appropriate USB cable. Some cables can only be used for charging, not for data
transfer or program flashing.
Hardware Setup Prepare the board for loading of the first sample application:
1. Plug in the USB cable to connect the PC with the USB port on the board.
2. Make sure the board is in the download mode.
3. The LED lights up indicating the completion of flashing.
Now the board is ready for software setup.
Software Setup Please proceed to Get Started, where Section Installation will quickly help you set up the devel-
opment environment.
Hardware Reference This section provides more detailed information about the board’s hardware.
GPIO Allocation The table below provides the GPIO allocation of the ESP32-S3-MINI-1 module and its 12-pin
expansion connector, which is used to control specific components or functions on the development board as well as
the externally connected target chip.
Note: Pin 3 to Pin 14 are the corresponding pins of the 12-pin expansion connector. Apart from the features in the
above table, all these IO pins support to be configured for other purposes. Note that GPIO5 and GPIO8 should be
connected to external keys.
Power Distribution
Power Supply over USB There are two ways to power the development board via the USB power port:
• Via the Type-A port
Voltage Conversion Circuit The ESP32-S3-USB-Bridge supports converting 5 V to 3.3 V for the module.
Automatic Download Press the Boot button on the module and re-power up the board, then release the Boot button
to allow the board to enter the download mode.
Sample Request This board has been open-sourced to OSHWHub. Please sample it according to your needs.
Related Documents
• ESP32-S3 Datasheet
• ESP32-S3-MINI-1 Datasheet
• ESP Product Selector
• ESP32-S3-USB-Bridge PCB Layout
• ESP32-S3-USB-Bridge Schematics
For further design documentation for the board, please contact us at [email protected].
1.1.12 ESP32-S2-DevKitC-1
ESP32-S2-DevKitC-1 is an entry-level development board. This board integrates complete Wi-Fi functions. Most
of the I/O pins are broken out to the pin headers on both sides for easy interfacing. Developers can either connect
peripherals with jumper wires or mount ESP32-S2-DevKitC-1 on a breadboard.
ESP32-S2-DevKitC-1
This user guide will help you get started with ESP32-S2-DevKitC-1 and will also provide more in-depth information.
ESP32-S2-DevKitC-1 is an entry-level development board. This board integrates complete Wi-Fi functions. Most
of the I/O pins are broken out to the pin headers on both sides for easy interfacing. Developers can either connect
peripherals with jumper wires or mount ESP32-S2-DevKitC-1 on a breadboard.
Getting Started This section provides a brief introduction of ESP32-S2-DevKitC-1, instructions on how to do the
initial hardware setup and how to flash firmware onto it.
Description of Components The key components of the board are described in a clockwise direction.
Start Application Development Before powering up your ESP32-S2-DevKitC-1, please make sure that it is in
good condition with no obvious signs of damage.
Required Hardware
• ESP32-S2-DevKitC-1
Note: Be sure to use an appropriate USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Hardware Setup Connect the board with the computer using USB-to-UART Port or ESP32-S2 USB Port. In
subsequent steps, USB-to-UART Port will be used by default.
Software Setup Please proceed to Get Started, where Section Installation will quickly help you set up the devel-
opment environment and then flash an application example into your ESP32-S2-DevKitC-1.
Ordering Information The development board has a variety of variants to choose from, as shown in the table
below.
Retail Orders If you order a few samples, each ESP32-S2-DevKitC-1 comes in an individual package in either
antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/contact-us/get-samples.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Hardware Reference
Block Diagram The block diagram below shows the components of ESP32-S2-DevKitC-1 and their interconnec-
tions.
1 The ESP32-S2-SOLO-2 and ESP32-S2-SOLO-2U modules use chip revision v1.0, and the rest use chip revision v0.0. For more information
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• USB-to-UART Port and ESP32-S2 USB Port (either one or both), default power supply (recommended)
• 5V and G (GND) pins
• 3V3 and G (GND) pins
Header Block The two tables below provide the Name and Function of the pin headers on both sides of the board
(J1 and J3). The pin header names are shown in ESP32-S2-DevKitC-1 - front. The numbering is the same as in the
ESP32-S2-DevKitC-1 Schematic (PDF).
J1
J3
Pin Layout
Hardware Revision Details This is the first revision of this board released.
Related Documents
• ESP32-S2 Series Chip Revision v1.0 Datasheet (PDF)
• ESP32-S2 Series Chip Revision v0.0 Datasheet (PDF)
• ESP32-S2 Series SoC Errata (PDF)
• ESP32-S2-SOLO-2 & ESP32-S2-SOLO-2U Module Datasheet (PDF)
• ESP32-S2-SOLO & ESP32-S2-SOLO-U Module Datasheet (PDF)
• ESP32-S2-DevKitC-1 Schematic (PDF)
• ESP32-S2-DevKitC-1 PCB Layout (PDF)
• ESP32-S2-DevKitC-1 Dimensions (PDF)
• ESP32-S2-DevKitC-1 Dimensions source file (DXF) - You can view it with Autodesk Viewer online
For further design documentation for the board, please contact us at [email protected].
1.1.13 ESP32-S2-DevKitM-1
ESP32-S2-DevKitM-1 is entry-level development board. Most of the I/O pins on the module are broken out to the
pin headers on both sides for easy interfacing. Developers can either connect peripherals with jumper wires or mount
ESP32-S2-DevKitM-1 on a breadboard.
ESP32-S2-DevKitM-1
This user guide provides information on Espressif’s small-sized development board ESP32-S2-DevKitM-1.
ESP32-S2-DevKitM-1 is entry-level development board. Most of the I/O pins on the module are broken out to the
pin headers on both sides for easy interfacing. Developers can either connect peripherals with jumper wires or mount
ESP32-S2-DevKitM-1 on a breadboard.
ESP32-S2-DevKitM-1 ESP32-S2-DevKitM-1U
Getting Started This section describes how to get started with ESP32-S2-DevKitM-1. It begins with a few intro-
ductory sections about the ESP32-S2-DevKitM-1, then Section Start Application Development provides instructions
on how to get the ESP32-S2-DevKitM-1 ready and flash firmware into it.
Ordering Information The development board has a variety of variants to choose from, as shown in the table
below.
Retail Orders If you order a few samples, each ESP32-S2-DevKitM-1 comes in an individual package in either
antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/contact-us/get-samples.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Description of Components The key components of the board are described in a clockwise direction.
1 The ESP32-S2-MINI-2 and ESP32-S2-MINI-2U modules use chip revision v1.0, and the rest use chip revision v0.0. For more information
Start Application Development Before powering up your ESP32-S2-DevKitM-1, please make sure that it is in
good condition with no obvious signs of damage.
Required Hardware
• ESP32-S2-DevKitM-1
• USB 2.0 cable (Standard-A to Micro-B)
• Computer running Windows, Linux, or macOS
Note: Be sure to use an appropriate USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Software Setup Please proceed to Get Started, where Section Installation will quickly help you set up the devel-
opment environment and then flash an application example into your ESP32-S2-DevKitM-1.
Note: ESP32-S2 series of chips only is only supported in ESP-IDF master or version v4.2 and higher.
Hardware Reference
Block Diagram A block diagram below shows the components of ESP32-S2-DevKitM-1 and their interconnec-
tions.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• Micro-USB Port, default power supply
• 5V and GND pin headers
• 3V3 and GND pin headers
It is recommended to use the first option: micro USB Port.
Header Block The two tables below provide the Name and Function of the pin headers on both sides of the board
(J1 and J3). The pin header names are shown in ESP32-S2-DevKitM-1 - front. The numbering is the same as in the
ESP32-S2-DevKitM-1 Schematics (PDF).
J1
No. Name Type2 Function
1 3V3 P 3.3 V power supply
2 0 I/O/T RTC_GPIO0, GPIO0
3 1 I/O/T RTC_GPIO1, GPIO1, TOUCH1, ADC1_CH0
4 2 I/O/T RTC_GPIO2, GPIO2, TOUCH2, ADC1_CH1
5 3 I/O/T RTC_GPIO3, GPIO3, TOUCH3, ADC1_CH2
6 4 I/O/T RTC_GPIO4, GPIO4, TOUCH4, ADC1_CH3
7 5 I/O/T RTC_GPIO5, GPIO5, TOUCH5, ADC1_CH4
8 6 I/O/T RTC_GPIO6, GPIO6, TOUCH6, ADC1_CH5
9 7 I/O/T RTC_GPIO7, GPIO7, TOUCH7, ADC1_CH6
10 8 I/O/T RTC_GPIO8, GPIO8, TOUCH8, ADC1_CH7
11 9 I/O/T RTC_GPIO9, GPIO9, TOUCH9, ADC1_CH8, FSPIHD
12 10 I/O/T RTC_GPIO10, GPIO10, TOUCH10, ADC1_CH9, FSPICS0, FSPIIO4
13 11 I/O/T RTC_GPIO11, GPIO11, TOUCH11, ADC2_CH0, FSPID, FSPIIO5
14 12 I/O/T RTC_GPIO12, GPIO12, TOUCH12, ADC2_CH1, FSPICLK, FSPIIO6
15 13 I/O/T RTC_GPIO13, GPIO13, TOUCH13, ADC2_CH2, FSPIQ, FSPIIO7
16 14 I/O/T RTC_GPIO14, GPIO14, TOUCH14, ADC2_CH3, FSPIWP, FSPIDQS
17 15 I/O/T RTC_GPIO15, GPIO15, U0RTS, ADC2_CH4, XTAL_32K_P
18 16 I/O/T RTC_GPIO16, GPIO16, U0CTS, ADC2_CH5, XTAL_32K_N
19 17 I/O/T RTC_GPIO17, GPIO17, U1TXD, ADC2_CH6, DAC_1
20 5V P 5 V power supply
21 G G Ground
J3
Pin Layout
Hardware Revision Details This is the first revision of this board released.
Related Documents
• ESP32-S2 Series Chip Revision v1.0 Datasheet (PDF)
• ESP32-S2 Series Chip Revision v0.0 Datasheet (PDF)
• ESP32-S2 Series SoC Errata (PDF)
• ESP32-S2-MINI-2 & ESP32-S2-MINI-2U Module Datasheet (PDF)
• ESP32-S2-MINI-1 & ESP32-S2-MINI-1U Module Datasheet (PDF)
• ESP32-S2-DevKitM-1 Schematics (PDF)
• ESP32-S2-DevKitM-1 PCB Layout (PDF)
• ESP32-S2-DevKitM-1 Dimensions (PDF)
• ESP Product Selector
For other design documentation for the board, please contact us at [email protected].
1.1.14 ESP32-LCDKit
ESP32-LCDKit is an HMI (Human Machine Interface) development board with the ESP32-DevKitC at its core.
ESP32-LCDKit
Overview ESP32-LCDKit is an HMI (Human Machine Interface) development board with the ESP32-DevKitC at
its core. ESP32-LCDKit is integrated with such peripherals as SD-Card, DAC-Audio, and can be connected to an
external display. The board is mainly used for HMI-related development and evaluation.Development board reserved
screen interface type: SPI serial interface, 8-bit parallel interface, 16-bit parallel interface.
You may find HMI-related examples running with ESP32-LCDKit in HMI Example.
For more information on ESP32, please refer to ESP32 Series Datasheet.
Block Diagram The figure below shows the block diagram for ESP32-LCDKit.
PCB Layout The figure below shows the layout of ESP32-LCDKit PCB.
Descriptions of PCB components are shown in the following table:
Components Description
Display connection module Allows to connect serial or parallel LCD displays (8/16 bit)
ESP32 DevKitC connection mod- Offers connection to an ESP32 DevKitC development board
ule
SD-Card module Provides an SD-Card slot for memory expansion
DAC-Audio module Features an audio power amplifier and two output ports for external speak-
ers
Functional Modules This section introduces the functional modules (interfaces) of ESP32-LCDKit and their hard-
ware schematics.
• Schematic
• PCB Layout
ESP32 DevKitC Connection Module For the HMI-related development with ESP32-LCDKit, you also need the
ESP32 DevKitC development board.
The figure below shows the schematics for the ESP32 DevKitC connection module.
Power Supply Management Module The figure below shows the schematics for the USB power supply manage-
ment module.
Display Connection Module The display connection module supports the following interfaces:
• SPI serial interface
• 8-bit parallel interface
• 16-bit parallel interface
With this module, you can connect ESP32-LCDKit to an external display and interact with the pre-programmed GUI
if the display has a touchscreen.
The figure below shows the schematics for this module.
SD-Card and DAC-Audio Modules The SD-Card module provides an SD Card slot for memory expansion. The
DAC-Audio module features the MIX3006 power amplifier and two output ports for connection of external speakers.
The figure below shows the schematics for the SD-Card and DAC-Audio modules.
Related Documents
• ESP32-LCDKit Schematic
• ESP32-LCDKit PCB Layout
1.1.15 ESP-Prog
ESP-Prog is one of Espressif’s development and debugging tools, with functions including automatic firmware
downloading, serial communication, and JTAG online debugging.
ESP-Prog
This user guide will help you get started with ESP-Prog and will also provide more in-depth information.
ESP-Prog is one of Espressif’s development and debugging tools, with functions including automatic firmware
downloading, serial communication, and JTAG debugging. ESP-Prog’s automatic firmware downloading and serial
communication functions are supported on ESP8266, ESP32, ESP32-S2, ESP32-S3, and ESP32-C3, while the JTAG
debugging is supported only on ESP32, ESP32-S2, ESP32-S3, and ESP32-C3.
ESP-Prog can be easily connected to a PC with the use of only one USB cable. Then, the PC can identify the board’
s Program and JTAG interfaces (functions) by their port numbers.
Given that the power supply voltage may vary on different user boards, either of the ESP-Prog interfaces can provide
5 V or 3.3 V power supply through pin headers, in order to ensure power compatibility. Power on ESP-Prog could
be toggled between 3.3 V and 5 V, but the RX/TX & JTAG signals will always be at the 3.3 V level.
The document consists of the following major sections:
• Getting started: Overview of the board and hardware/software setup instructions to get started.
• Hardware Reference: More detailed information about the board’s hardware.
• Related Documents: Links to related documentation.
Getting Started This section provides a brief introduction of ESP-Prog on how to do the initial hardware setup.
Description of Components The key components of the board are described in a clockwise direction.
Start Application Development Before powering up your board, please make sure that it is in good condition with
no obvious signs of damage.
Required Hardware
• ESP-Prog
• USB 2.0 cable (Standard-A to Micro-B)
• Computer running Windows, Linux, or macOS
• Dupont lines or flat cables provided by Espressif for connecting the development board to ESP-Prog
Note: Be sure to use an appropriate USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Hardware Setup
1. Connect the ESP-Prog board and the PC USB port via a USB cable.
2. The PC then detects the two ports of ESP-Prog, indicating that the board is connected successfully. If the ports
are not detected install the FT2232HL chip driver on your PC.
3. Select the output power voltage for the Program/JTAG interfaces, using PROG PWR SEL/JTAG PWR SEL
pin headers.
4. Connect the ESP-Prog and ESP user board with the flat cables provided by Espressif.
5. Start programming (downloading) or JTAG debugging, using the official software tools or scripts provided by
Espressif.
Software Setup Please proceed to Get Started with ESP-IDF, where Section Installation Step by Step will quickly
help you set up the development environment.
• Cables
Two flexible flat cables:
– One cable to connect to 2*5-PIN 2.54 mm male shrouded box header.
– One cable to connect to 2*3-PIN 1.27 mm male shrouded box header.
If you order a few samples, each board comes in an individual package in either antistatic bag or any packaging
depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Hardware Reference
Block Diagram The block diagram below shows the components of ESP-Prog and their interconnections.
Power Supply Options There are three mutually exclusive ways to provide power to the board:
• ESP-Prog USB Port, default power supply (recommended)
• 5 V and G (GND) pins
• 3.3 V and G (GND) pins
Header Block The two tables below provide the Name and Function of the pins on both sides of the board
(Program Interface and JTAG Interface). The pin names are shown in the front view of the ESP-Prog board. The
numbering is the same as in the ESP-Prog Schematic (PDF).
Program Interface
JTAG Interface
Related Documents
• ESP-Prog Schematic (PDF)
• ESP-Prog PCB Layout (PDF)
• ESP-Prog Dimensions (PDF)
For further design documentation for the board, please contact us at [email protected].
Reference Documentation
Introduction to Functions
The Working Mode of USB Bridge ESP-Prog uses FT2232HL, which is provided by FTDI, as its USB Bridge
Controller chip. The board can be configured to convert the USB 2.0 interface to serial and parallel interfaces that
support a wide range of industry standards. ESP-Prog uses FT2232HL’s default dual-asynchronous serial interface
mode available after installing the FT2232HL chip driver on their PCs.
Note: The PC is able to identify the ESP-Prog’s two ports by their port numbers. The bigger port number represents
the Program interface, while the other one represents the JTAG interface.
Communication Interface ESP-Prog can connect to ESP32 user boards using both the Program interface and the
JTAG interface.
• Program Interface
The Program interface has six pins, including the UART interface (ESP_TXD, ESP_RXD), boot mode selec-
tion pin (ESP_IO0) and reset pin (ESP_EN). The design for the Program interface on the user board should
follow the reference provided in the figure below.
• JTAG Interface
The design for the JTAG interface on the user board should follow the reference provided in the figure below.
• Fool-proof Design
The ESP-Prog board uses header connectors (DC3-6P/DC3-10P) which support reverse-current circuitry pro-
tection. In such cases, it is recommended that users also use header connectors on their user boards, such as
FTSH-105-01-S-DV-* or DC3-*P.
Note: Keying of the plugs and sockets to insert the plug is in one specific orientation, which means each socket
of ESP-Prog corresponds to the plugs on the cable and using a mismatched cable might lead to a wrong order of
connection. Please use the cables provided by Espressif.
Automatic Downloading Function ESP-Prog supports automatic downloading. After connecting the Program
interface of ESP-Prog to the user board, the downloading program can download data or run programs automatically
by controlling the states of the start-mode selection pin (ESP_IO0) and reset pin (ESP_EN), which spares the users
from manually restarting the device and selecting the downloading modes. The two buttons on the ESP-Prog board
enable users to reset and control the boot mode of the device manually.
The schematics of the automatic downloading circuit is displayed below.
Delay Circuit The delay circuit of ESP-Prog includes the bus buffer, inverter, MOSFET, first-order RC circuit,
and other components. This delay circuit ensures that the ESP32 chip can power up or reset itself before connecting
with the JTAG signal, thus protecting the chip from the influence of JTAG on power-up or reset.
Pin Headers Users can select the power supply for the Program and JTAG interfaces via the Pin Header to Select
Power Supply, and select the boot modes of ESP8266 and ESP32 via the IO0 On/Off Pin.
• Pin Header to Select Power Supply
The pin header in the middle is the power input pin for each interface. When this pin is connected to 5 V, the
power output of the interface is 5 V. When this pin is connected to 3.3 V, the power output of the interface is
3.3 V.
• IO0 On/Off Pin
Pin IO0 can be set to select ESP8266’s and ESP32’s boot modes. This pin can be used as a common
GPIO, after the chip is powered on. By removing a jumper from the pin header, users can disconnect Pin IO0
manually to protect the operation of the user board from the influence of ESP-Prog’s automatic downloading
circuit.
For further design documentation for the board, please contact us at [email protected].
1.1.16 ESP-Module-Prog-1(R)
ESP-Module-Prog-1 and ESP-Module-Prog-1R (R stands for WROVER) are two flashing mainboards produced by
Espressif. They can be used to flash modules without soldering the module to the power supply and signal lines. The
only difference between ESP-Module-Prog-1 and ESP-Module-Prog-1R lies in the layout of the spring pins, which
are used to fit different modules.
ESP-Module-Prog-1 supports specific modules for ESP32, ESP32-S2, ESP32-S3, ESP32-C6, while ESP-Module-
Prog-1R supports ESP32-WROVER modules. For details about the fitting modules for corresponding mainboard
supports, please refer to the fitting module list.
ESP-Module-Prog-1(R)
This user guide will help you get started with ESP-Module-Prog-1(R) and will also provide more in-depth information.
ESP-Module-Prog-1 and ESP-Module-Prog-1R (R stands for WROVER) are two flashing mainboards produced by
Espressif. They can be used to flash modules without soldering the module to the power supply and signal lines.
The mainboard can be used independently or in combination with a subboard. Espressif supports two subboards:
ESP-Module-Prog-SUB-02 and ESP-Module-Prog-SUB-01&04, which cannot be used independently and must be
used in conjunction with any of the above-mentioned mainboards.
This user guide will introduce ESP-Module-Prog-1(R) Mainboard. For detailed information about the subboards,
please click the links below and check the corresponding user guides.
• ESP-Module-Prog-SUB-01&04
• ESP-Module-Prog-SUB-02
This user guide consists of the following sections:
• Board Overview: Overview of the board hardware/software.
• Start Application Development: How to set up hardware/software to develop applications.
• Hardware Reference: More detailed information about the board’s hardware.
• Sample Request: How to get a sample board.
• Related Documents: Links to related documentation.
Board Overview ESP-Module-Prog-1(R) is an Espressif flashing mainboard designed specifically for modules.
With a module mounted, it can also be used as a mini development board like ESP32-DevKitC. The only difference
between ESP-Module-Prog-1 and ESP-Module-Prog-1R lies in the layout of the spring pins, which are used to fit
different modules.
ESP-Module-Prog-1R:
• ESP32-WROVER (PCB & IPEX)
• ESP32-WROVER-B
• ESP32-WROVER-IB
• ESP32-WROVER-E
• ESP32-WROVER-IE
For information about the above modules, please refer to Espressif Series Modules.
Description of Components The key components of the board are described in a clockwise direction.
Start Application Development Before powering up your ESP-Module-Prog-1(R), please make sure that it is in
good condition with no obvious signs of damage.
Required Hardware
Note: Please make sure to use the appropriate USB cable. Some cables can only be used for charging, not for data
transfer or program flashing.
Software Setup
Recommended Approach It is recommended to use the ESP-IDF development framework to flash the binary file
(*.bin) to ESP-Module-Prog-1(R). Please refer to ESP-IDF Get Started to get a quick overview of setting up your
development environment and flashing applications.
Alternative Approach For Windows systems, you can also use the Flash Download Tool to flash the binary files.
Note:
1. To flash binary files, the chip should be set to Firmware Download mode. This can be done either by the flash
tool automatically, or by holding down the Boot button and tapping the Reset button.
2. After flashing binary files, the Flash Download Tool restarts your module and boots the flashed application by
default.
Hardware Reference This section provides more detailed information about the board’s hardware.
Block Diagram The block diagram below shows the components of ESP-Module-Prog-1(R) and their intercon-
nections.
Power Source Select There are three mutually exclusive ways to provide power to the board:
• USB Type-C to UART port (default and recommended)
• 5V and GND header pins
• 3V3 and GND header pins
Strapping Pin Configuration J4 on ESP-Module-Prog-1(R) is a 2-Pin header, with one end being P7 and one
end being High (i.e. pull-up):
• For some modules, the corresponding pin of P7 is not a strapping pin and no pull-up is needed for downloading.
In this case, a jump cap is not required for J4.
• For some modules, the corresponding pin of P7 is a strapping pin and a pull-up is needed for downloading. In
this case, a jump cap is required for J4.
Note: For the corresponding pin of P7 on Espressif modules, please refer to ESP-Module-Prog-1(R) GPIO Map.
Measuring Current J5 on ESP-Module-Prog-1(R) can be used to measure the current of the module.
• Remove the J5 jumper cap: At this time, the peripherals and modules on the board are disconnected from the
power supply, and the module current can be measured after the J5 pin is connected to the ammeter.
• Install the J5 jump cap (factory default): the board functions normally.
Note: When using the 3V3 and GND header pins to power up the board, you need to remove the J5 jumper cap
and connect an ammeter in series with the external circuit to measure the current of the module.
Pin Descriptions The two tables below provide the Name and Signal of female headers on both sides of the board
(J2 and J3). The pin names are shown in Figure ESP-Module-Prog-1 - Front. The numbering is the same as in the
ESP-Module-Prog-1(R) Schematics (PDF). For the corresponding pin of each signal on Espressif modules, please
refer to ESP-Module-Prog-1(R) GPIO Map.
J2
No. Name Signal
1 3V3 3.3 V power supply
2 EN CHIP_EN (High: enables the chip; Low: disables the chip. Pulled up by default.)
3 1 P1
4 2 P2
5 3 P3
6 4 P4
7 5 P5
8 6 P6
9 7 P7
10 8 P8
11 9 P9
12 10 P10
13 11 P11
14 12 P12
15 13 P13
16 14 P14
17 15 P15
18 16 P16
19 17 P17
20 18 P18
21 19 P19
22 20 P20
23 21 P21
24 22 P22
25 5V 5 V power supply
J3
No. Name Signal
1 G Ground
2 44 P44
3 43 P43
4 TX TXD0
5 RX RXD0
6 42 P42
7 41 P41
8 40 P40
9 39 P39
10 38 P38
11 37 P37
12 36 P36
13 35 P35
14 34 P34
15 33 P33
16 32 P32
17 31 P31
18 30 P30
19 29 P29
20 28 P28
21 27 P27
22 26 P26
23 25 P25
24 24 P24
25 23 P23
Sample Request
Retail Orders If you order a few samples, each ESP-Module-Prog-1(R) comes in an individual package in either
antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Related Documents
• ESP-Module-Prog-1(R) GPIO Map (XLS)
• ESP-Module-Prog-1(R) Schematics (PDF)
• ESP-Module-Prog-1(R) PCB Layout (PDF)
• ESP-Module-Prog-1(R) Dimensions (PDF)
• ESP-Module-Prog-1(R) Dimensions source file (DXF) - You can view it with Autodesk Viewer online
• Espressif Modules Datasheet
• Espressif Product Selector
1.1.17 ESP-Module-Prog-SUB-01&04
ESP-Module-Prog-SUB-01&04 is an Espressif flashing subboard designed specifically for modules. It can be used
to flash modules without soldering the module to the power supply and signal lines.
Note: As a subboard, ESP-Module-Prog-SUB-01&04 cannot be used alone, but must be used together with the
ESP-Module-Prog-1 or ESP-Module-Prog-1R mainboard.
ESP-Module-Prog-SUB-01&04
This user guide will help you get started with ESP-Module-Prog-SUB-01&04 and will also provide more in-depth
information. For detailed information about the mainboard and the other subboard, please click the links below and
check the corresponding user guides.
• ESP-Module-Prog-1(R)
• ESP-Module-Prog-SUB-02
This user guide consists of the following sections:
• Board Overview: Overview of the board hardware/software.
• Start Application Development: How to set up hardware/software to develop applications.
• Hardware Reference: More detailed information about the board’s hardware.
• Sample Request: How to get a sample board.
• Related Documents: Links to related documentation.
Board Overview ESP-Module-Prog-SUB-01&04 is an Espressif flashing subboard designed specifically for mod-
ules. It can be used to flash modules without soldering the module to the power supply and signal lines. With a module
mounted, ESP-Module-Prog-SUB-01&04 can also be used as a mini development board like ESP32-DevKitC. Note
that as a subboard, ESP-Module-Prog-SUB-01&04 cannot be used alone, but must be used together with the ESP-
Module-Prog-1 or ESP-Module-Prog-1R mainboard.
• ESP-Module-Prog-SUB-01&04 fits the following Espressif modules:
– ESP8685-WROOM-01
– ESP8684-WROOM-01C
– ESP8685-WROOM-04
– ESP8684-WROOM-04C
For information about the above modules, please refer to Espressif Series Modules.
Description of Components The key components of the board are described in a clockwise direction.
Start Application Development Before powering up your ESP-Module-Prog-SUB-01&04, please make sure that
it is in good condition with no obvious signs of damage.
Required Hardware
• Any one of the above-mentioned Espressif modules
• USB-A to USB-C cable
• PC (Windows, Linux, or macOS)
Note: Please make sure to use the appropriate USB cable. Some cables can only be used for charging, not for data
transfer or program flashing.
Software Setup
Recommended Approach It is recommended to use the ESP-IDF development framework to flash the binary file
(*.bin) to ESP-Module-Prog-SUB-01&04. Please refer to ESP-IDF Get Started to get a quick overview of setting
up your development environment and flashing applications.
Alternative Approach For Windows systems, you can also use the Flash Download Tool to flash the binary files.
Note:
1. To flash binary files, the chip should be set to Firmware Download mode. This can be done either by the flash
tool automatically, or by holding down the Boot button and tapping the Reset button.
2. After flashing binary files, the Flash Download Tool restarts your module and boots the flashed application by
default.
Hardware Reference This section provides more detailed information about the board’s hardware.
Block Diagram The block diagram below shows the components of ESP-Module-Prog-SUB-01&04 and their
interconnections.
Strapping Pin Configuration J4 on ESP-Module-Prog-SUB-01&04 is a 2-Pin header, with one end being P14
and one end being High (i.e. pull-up):
• For some modules, the corresponding pin of P14 is not a strapping pin and no pull-up is needed for download-
ing. In this case, a jump cap is not required for J4.
• For some modules, the corresponding pin of P14 is a strapping pin and a pull-up is needed for downloading.
In this case, a jump cap is required for J4.
Note:
1. For the corresponding pin of P14 on Espressif modules, please refer to ESP-Module-Prog-SUB-01&04 GPIO
Map.
2. ESP-Module-Prog-SUB-01&04 is currently fitted to ESP8684 series modules, where P14 needs to be pulled
up. So, J4 requires a jump cap by default.
Pin Descriptions The two tables below provide the Name and Signal of pin headers on both sides of the board
(J2 and J3). The pin names are shown in Figure ESP-Module-Prog-SUB-01&04 - Front. The numbering is the same
as in the ESP-Module-Prog-SUB-01&04 Schematics (PDF). For the corresponding pin of each signal on Espressif
modules, please refer to ESP-Module-Prog-SUB-01&04 GPIO Map.
J2
No. Name Signal
1 3V3 3.3 V power supply
2 EN CHIP_EN (High: enables the chip; Low: disables the chip. Pulled up by default.)
3 4 P4
4 5 P5
5 6 P6
6 13 P13
7 NC No connection
8 NC No connection
9 14 P14
10 7 P7
11 8 P8
12 9 P9
13 10 P10
14 NC No connection
J3
No. Name Signal
1 G Ground
2 1 P1
3 2 P2
4 TX TXD0
5 RX RXD0
6 3 P3
7 17 P17
8 16 P16
9 NC No connection
10 NC No connection
11 12 P12
12 11 P11
13 NC No connection
14 15 P15
Sample Request
Retail Orders If you order a few samples, each ESP-Module-Prog-SUB-01&04 comes in an individual package
in either antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Related Documents
• ESP-Module-Prog-SUB-01&04 GPIO Map (XLS)
• ESP-Module-Prog-SUB-01&04 Schematics (PDF)
• ESP-Module-Prog-SUB-01&04 PCB Layout (PDF)
• ESP-Module-Prog-SUB-01&04 Dimensions (PDF)
• ESP-Module-Prog-SUB-01&04 Dimensions source file (DXF) - You can view it with Autodesk Viewer online
• Espressif Modules Datasheet
• Espressif Product Selector
1.1.18 ESP-Module-Prog-SUB-02
ESP-Module-Prog-SUB-02 is an Espressif flashing subboard designed specifically for modules. It can be used to flash
modules without soldering the module to the power supply and signal lines.
Note: As a subboard, ESP-Module-Prog-SUB-02 cannot be used alone, but must be used together with the ESP-
Module-Prog-1 or ESP-Module-Prog-1R mainboard.
ESP-Module-Prog-SUB-02
This user guide will help you get started with ESP-Module-Prog-SUB-02 and will also provide more in-depth infor-
mation. For detailed information about the mainboard and the other subboard, please click the links below and check
the corresponding user guides.
• ESP-Module-Prog-1(R)
• ESP-Module-Prog-SUB-01&04
Board Overview ESP-Module-Prog-SUB-02 is an Espressif flashing subboard designed specifically for modules.
It can be used to flash modules without soldering the module to the power supply and signal lines. With a module
mounted, ESP-Module-Prog-SUB-02 can also be used as a mini development board like ESP32-DevKitC. Note that
as a subboard, ESP-Module-Prog-SUB-02 cannot be used alone, but must be used together with the ESP-Module-
Prog-1 or ESP-Module-Prog-1R mainboard.
Description of Components The key components of the board are described in a clockwise direction.
Start Application Development Before powering up your ESP-Module-Prog-SUB-02, please make sure that it is
in good condition with no obvious signs of damage.
Required Hardware
• Any one of the above-mentioned Espressif modules
• USB-A to USB-C cable
• PC (Windows, Linux, or macOS)
• ESP-Module-Prog-1 or ESP-Module-Prog-1R mainboard
Note: Please make sure to use the appropriate USB cable. Some cables can only be used for charging, not for data
transfer or program flashing.
Software Setup
Recommended Approach It is recommended to use the ESP-IDF development framework to flash the binary file
(*.bin) to ESP-Module-Prog-SUB-01&04. Please refer to ESP-IDF Get Started to get a quick overview of setting
up your development environment and flashing applications.
Alternative Approach For Windows systems, you can also use the Flash Download Tool to flash the binary files.
Note:
1. To flash binary files, the chip should be set to Firmware Download mode. This can be done either by the flash
tool automatically, or by holding down the Boot button and tapping the Reset button.
2. After flashing binary files, the Flash Download Tool restarts your module and boots the flashed application by
default.
Hardware Reference This section provides more detailed information about the board’s hardware.
Block Diagram The block diagram below shows the components of ESP-Module-Prog-SUB-02 and their inter-
connections.
Strapping Pin Configuration J4 on ESP-Module-Prog-SUB-02 is a 2-Pin header, with one end being P5 and one
end being High (i.e. pull-up):
• For some modules, the corresponding pin of P5 is not a strapping pin and no pull-up is needed for downloading.
In this case, a jump cap is not required for J4.
• For some modules, the corresponding pin of P5 is a strapping pin and a pull-up is needed for downloading. In
this case, a jump cap is required for J4.
J5 on ESP-Module-Prog-SUB-02 is a 2-Pin header, with one end being P4 and one end being Low (i.e. pull-down):
• For some modules, the corresponding pin of P4 is not a strapping pin and no pull-up is needed for downloading.
In this case, a jump cap is not required for J5.
• For some modules, the corresponding pin of P4 is a strapping pin and a pull-up is needed for downloading. In
this case, a jump cap is required for J5.
Note: For the corresponding pin of P4 and P5 on Espressif modules, please refer to ESP-Module-Prog-SUB-02
GPIO Map。
Pin Descriptions The two tables below provide the Name and Signal of pin headers on both sides of the board
(J2 and J3). The pin names are shown in Figure ESP-Module-Prog-SUB-02 - Front. The numbering is the same as in
the ESP-Module-Prog-SUB-02 Schematics (PDF). For the corresponding pin of each signal on Espressif modules,
please refer to ESP-Module-Prog-SUB-02 GPIO Map.
J2
No. Name Signal
1 3V3 3.3 V power supply
2 EN CHIP_EN (High: enables the chip; Low: disables the chip. Pulled up by default.)
3 1 P1
4 2 P2
5 3 P3
6 4 P4
7 NC No connection
8 NC No connection
9 5 P5
10 NC No connection
11 NC No connection
12 8 P8
13 9 P9
14 NC No connection
J3
No. Name Signal
1 G Ground
2 13 P13
3 12 P12
4 TX TXD0
5 RX RXD0
6 11 P11
7 10 P10
8 7 P7
9 NC No connection
10 NC No connection
11 NC No connection
12 NC No connection
13 NC No connection
14 6 P6
Sample Request
Retail Orders If you order a few samples, each ESP-Module-Prog-SUB-02 comes in an individual package in
either antistatic bag or any packaging depending on your retailer.
For retail orders, please go to https://www.espressif.com/en/company/contact/buy-a-sample.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Related Documents
• ESP-Module-Prog-SUB-02 GPIO Map (XLS)
• ESP-Module-Prog-SUB-02 Schematics (PDF)
• ESP-Module-Prog-SUB-02 PCB Layout (PDF)
• ESP-Module-Prog-SUB-02 Dimensions (PDF)
• ESP-Module-Prog-SUB-02 Dimensions source file (DXF) - You can view it with Autodesk Viewer online
• Espressif Modules Datasheet
• Espressif Product Selector
1.1.19 ESP32-S2-HMI-DevKit-1
ESP32-S2-HMI-DevKit-1 has been specifically designed for human-machine interfaces in smart-home automation
controllers, smart speakers with display, smart alarm clocks, etc.
Application examples for this board can be found at Examples .
ESP32-S2-HMI-DevKit-1 V1.0
This user guide will help you get started with ESP32-S2-HMI-DevKit-1 and will also provide more in-depth infor-
mation.
ESP32-S2-HMI-DevKit-1 has been specifically designed for human-machine interfaces in smart-home automation
controllers, smart speakers with display, smart alarm clocks, etc. This development kit supports rapid secondary
development, since developers can take advantage of the kit’s various onboard resources and expansion interfaces,
in order to develop various functions.
The main features of the board are listed below:
• Module Embedded: ESP32-S2-WROVER module with 4 MB flash and 2 MB PSRAM
• Display: 4.3-inch TFT-LCD which uses 16-bit 8080 parallel port with 480×800 resolution and 256-level
hardware DC backlight adjustment circuit, connected to an I2C capacitive touch panel
• Audio: Audio amplifier, built-in microphone, speaker connector
• Storage: microSD card connector
• Sensors: 3-axis accelerometer, 3-axis gyroscope, ambient light sensor, temperature and humidity sensors
• Expansion: SPI header, TWAI interface (compatible with CAN 2.0), I2C ADC, UART/Prog header
• LEDs: Programmable RGB LED and IR LED
• Buttons: Wake Up and Reset buttons
• USB: 1 x USB-C OTG (DFU/CDC) port, 1 x USB-C debug port
• Power Supply: 5V and 3.3V power headers
• Optional Rechargeable Battery: 1,950 mAh single-core lithium battery with a charge IC
Getting Started This section provides a brief introduction of ESP32-S2-HMI-DevKit-1, instructions on how to
do the initial hardware setup and how to flash firmware onto it.
Start Application Development Before powering up your board, please make sure that it is in good condition with
no obvious signs of damage.
Required Hardware
• 1 x PC loaded with Windows, macOS or Linux (Linux operating system is recommended)
• 1 x ESP32-S2-HMI-DevKit-1
• 1 x USB-C cable (it is recommended to prepare two USB-C cables if you want to evaluate MCU’s USB
functions)
• 1 x Speaker (8 Ohm, 2 W)
• 1 x microSD card (some examples may have large storage needs)
Note: Be sure to use an appropriate USB cable. Some cables are for charging only and do not provide the needed
data lines nor work for programming the boards.
Hardware Setup To facilitate your quick evaluation of all examples, please follow these steps to set up the board:
1. Insert microSD card into the connector. Please make sure all the important data is backed up, as the microSD
card may be formatted if its partition format is not FAT.
2. If you need to evaluate the audio playback function, please connect the speaker pad near the USB port on the
bottom of the board to the supplied speaker, or to another speaker with a similar size (8 Ohm, 2 W).
Software Setup First, please make sure you have configured the ESP-IDF development environment correctly.
To ensure this, please enter idf.py --version in your terminal and if the output is similar to ESP-IDF
v4.2-dev-2084-g98d5b5dfd, it means you have installed ESP-IDF correctly. For detailed information about
installation and configuration, please refer to ESP-IDF Get Started.
After configuration completed, you can switch back to the esp-dev-kits/esp32-s2-hmi-devkit-1 di-
rectory. All code examples are placed under the examples directory, you can build projects by running idf.py
build.
Project Options Various examples are provided for ESP32-S2-HMI-DevKit-1 as shown below:
• Printing “Hello world!”on screen: esp32-s2-hmi-devkit-1/examples/get-started/hello_world
• Blinking WS2812 LED and showing the color on screen: esp32-s2-hmi-devkit-1/examples/get-
started/led_blink
• Starting a UI to configure Wi-Fi credential: esp32-s2-hmi-devkit-1/examples/get-started/provision
• Acquiring audio with ADC from the output of analog MIC: esp32-s2-hmi-devkit-
1/examples/audio/audio_record
• Playing music: esp32-s2-hmi-devkit-1/examples/audio/music_player
• Shutting down selected board area into a deep sleep: esp32-s2-hmi-devkit-1/examples/power
• Using Freetype to render fonts: esp32-s2-hmi-devkit-1/examples/freetype
• Using on-board sensors: esp32-s2-hmi-devkit-1/examples/sensors
• Using smart panel: esp32-s2-hmi-devkit-1/examples/smart-panel
• Viewing files on SD card: esp32-s2-hmi-devkit-1/examples/storage/sdcard_fatfs
• USB flash disk: esp32-s2-hmi-devkit-1/examples/storage/usb_msc
You can configure project options by entering idf.py menuconfig in each example directory.
Please make sure to correctly configure the following options in menuconfig:
• (Top) > HMI Board Config > HMI board: Select board version. By default, please select
ESP32-S2-HMI-DevKit-V2;
• (Top) > HMI Board Config > Audio HAL: Select audio output interface, whether to use PWM or
DAC;
• (Top) > HMI Board Config > LCD Drivers: Select display IC type for LCD. By default,
ESP32-S2-HMI-DevKit-1 uses RM68120 as its display IC;
• In (Top) > Component config > ESP32S2-specific, please go to the Support for
external, SPI-connected RAM option:
– Go to SPI RAM config > Set RAM clock speed, and set the PSRAM clock as 80 MHz
clock speed;
• (Top) -> Component config -> FreeRTOS: set Tick rate (Hz) as 1000.
In each example folder, we have provided a default configuration file named sdkconfig.defaults, with above
options configured correctly.
Retail Orders If you order one or several samples of the kit, each ESP32-S2-HMI-DevKit-1 development kit
comes in an individual package.
Wholesale Orders If you order in bulk, the boards come in large cardboard boxes.
For wholesale orders, please go to https://www.espressif.com/en/contact-us/sales-questions.
Hardware Reference
Block Diagram The block diagram below shows the components of ESP32-S2-HMI-DevKit-1 and their intercon-
nections.
Power Supply Options The power of the ESP32-S2-HMI-DevKit-1 development board is divided into a 5 V power
domain and a 3.3 V power domain, so as to reduce power consumption, improve power efficiency and support battery
charging, part of which can be controlled by software whereas the other part is fixed in the hardware design.
To reduce current consumption, the preloaded firmware will power off all controlled power domains and put all ICs
in low-power mode.
For more information, please refer to Power.
Connectors It provides multiple extended interfaces for customized development. The connectors of the board are
described in a clockwise direction. Please refer to ESP32-S2-HMI-DevKit-1 key on-board resources.
Connectors Description
Speaker Connector To connect a speaker.
4.3”LCD FPC Connector (Reserved) Connect to the supported 4.3”LCD extension board using the FPC
cable.
USB DFU/CDC 1 x USB-C OTG (DFU/CDC) port, 1 x USB-C debug port.
3.3 V Connector 3.3 V power header.
5 V Connector 5 V power header.
I2C Connector I2C connector with 5 V/3.3 V power supply options.
TWAI interface (compatible Two-wire automotive interface.
with CAN 2.0)
SPI Can connect devices on the SPI bus if the SD card is not in use.
Prog/UART This interface is used to observe log output and firmware flash.
microSD Connector Insert microSD card to expand the storage space of the device.
Battery Connector To connect a battery.
Related Documents
• ESP32-S2 Datasheet (PDF)
• ESP32-S2-WROVER Datasheet (PDF)
• ESP32-S2-HMI-DevKit-1 Schematic (PDF)
• ESP32-S2-HMI-DevKit-1 PCB Layout (PDF)
• ESP32-S2-HMI-DevKit-1 Dimensions (PDF)
• ESP32-S2-HMI-DevKit-1 Dimensions Source File (DXF) - You can view it with Autodesk Viewer online
For further design documentation for the board, please contact us at [email protected].
Reference Documentation
Audio
The ESP32-S2-HMI-DevKit-1 development board supports audio playback and recording. You can find such exam-
ples under the esp32-s2-hmi-devkit-1/examples/audio/ directory.
Audio Playback The ESP32-S2-HMI-DevKit-1 development board can output audio via DAC or PWM. It is
recommended to use PWM for audio output since it has lower noise and higher resolution (DAC has 8-bit resolution,
while PWM can reach up to 12-bit resolution at 19.2 kHz of sampling rate).
The output signal generated through the IO port goes to the digital potentiometer TPL0401 first for lossless volume
adjustment, and then passes the 100 nF isolation capacitor C33 and the 200 kOhm resistor R52. This RC circuit
controls the cut-off frequency at around 8 Hz. On top of that, this signal will be sent to the 3 W class-D audio power
amplifier NS4150 to set the gain to 1.5 times, thus amplifying the maximum output signal from 3.3 V to 4.95 V
(slightly lower than the PA supply, 5 V) so as to maximize the output volume while minimizing saturation distortion.
The audio PA is powered by the 5 V power domain. Before using the audio playback function, please make sure this
power domain is powered on (refer to 5 V Power Domain section).
Audio Recording The ESP32-S2-HMI-DevKit-1 development board can record audio data from the analog mi-
crophone via an internal ADC.
The board is equipped with an analog microphone with a sensitivity of -38 dB. And it will send the output signal to
the operational amplifier TLV6741 with a fixed gain to amplify the signal.
The microphone and operational amplifier mentioned above are powered by a controlled 3.3 V power domain. Before
using the audio recording function, please make sure this power domain is powered on (refer to 3.3 V Power Domain
section).
Please use the Timer Group interrupt to record audio data. Do not use code such as the following format in tasks for
audio recording:
size_t index = 0;
uint16_t audio_data[configMAX_ACQUIRE_COUNT];
do {
audio_data[index] = adc1_get_raw(CONFIG_AUDIO_CHANNEL);
ets_delay_us(1000000 / CONFIG_AUDIO_FREQ);
} while (++index < CONFIG_MAX_ACQUIRE_COUNT)
The above format will cause the CPU to be occupied, thus triggering the task watchdog (if it is not disabled), and
make other tasks with lower priorities (e.g., IDLE Task) not able to operate normally.
When recording data via ADC with the interrupt function, you need to re-write the ADC recording function to
IRAM_ATTR so as to reduce response time, and place the variables to DRAM. Also, please do not use any semaphore
in this function. For more information about implementation examples, please refer to audio/audio_record
under the examples directory.
ADC Accuracy The ADC of ESP32-S2 has a high level of repeatability despite the fact that the lack of reference
voltage and using Buck power supply may result a high overall noise.
The ADC is configured with 13-bit resolution and 11 dB attenuation, corresponding to a full-scale voltage of 2.6
V. After polling the 2.5 V voltage of the AD584T reference voltage via ADC1_CH8, we convert the 4096-time
uncalibrated raw values into voltage values and get the following data:
As shown in the above figure, most of the uncalibrated data error is within the range of ±0.005 V with a standard
deviation (σ) of 3.339 LSB (0.00106 V). These errors are mainly from the absolute accuracy, i.e., the bias. Therefore,
the distortion and noise of sounds sampled via ADC can be kept at a relatively low level.
The AD584T has a peak output noise of 50 uV at 10 V within the range of 0.1 ~ 10 Hz, and a peak output noise
divided by the internal high-precise laser-adjusted resistor at 2.5 V. And an up to 30 mA push-pull capability is
provided by the transistor measured at 10 V. Its output noise at 2.5 V is lower than the resolving power of a 16-bit
ADC, which therefore can be used as a testing reference.
Communication The display IC of the LCD used in ESP32-S2-HMI-DevKit-1 has been configured for 16-bit
8080 parallel communication, with a total of 18 GPIOs used, i.e., 16 data lines (LCD_D0…LCD_D15), a bit clock
signal (LCD_WR) and a data/command distinguish signal (LCD_DC/LCD_RS).
The touch IC uses the I2C interface to communicate with MCU and can share this interface with other I2C’s ICs,
and thus does not need to use additional GPIOs. The touch IC supports interrupt signal output. The interrupt signal is
first sent to the P2 pin of the IO expander, and the falling edge from this pin will generate a low level in the interrupt
output pin of the IO expander, so that the MCU receives this interrupt signal. In this case, you can read the input level
register of the IO expander to check whether this interrupt is from the touch IC. Once a read operation completed,
the interrupt flag will be cleared.
Backlight As the LEDs are connected in series, they need to be drived by constant current via the Booster circuit.
The rated current is 18 mA and the voltage is approximately 24 V (may not be accurate, only for reference). To prevent
the feedback voltage of the Booster circuit always being 0 when the display is not connected, and thus causing high
voltage loaded to both ends of the backlight filter capacitor C21, please make sure this capacitor can withstand 38 V.
Since PWM dimming may cause display flicker and some Booster IC do not support high-frequency PWM signal
control, this development board provides an option to use DC dimming circuit to reach high performance, as shown
in the figure below:
This DC dimming circuit inputs the VFB voltage to the operational amplifier TLV6741, whose gain resistor is a
digital potentiometer that can be modified via the I2C bus. This digital potentiometer is CAT5171, with 256 levels
of resolution and a maximum resistance value of 50 kOhm.
The EN pin of the Booster IC is controlled by the P7 pin of the IO expander in high level. If you want to keep the
contents while turning off the display, please set this pin to low level so as to disable backlight.
Touch The capacitive touch panel on the development board uses a touch IC with a resolution of 800×480 and
supports up to 5-point touch and hardware gesture recognition.
The hardware of this display IC does not support screen rotation itself. Therefore, for scenarios where the panel is
needed to be rotated, you may need to convert the data read by the touch IC through calculating its relative value to
the resolution or via certain software. Multi-touch is supported by hardware and we provide some APIs for reading
the multiple touch points. However, since the LVGL used in the GUI library does not support multi-touch processing
for now, you may need to handle the data of these touch points in the application layer yourself.
Power
The power of the ESP32-S2-HMI-DevKit-1 development board is divided into a 5 V power domain and a 3.3 V
power domain, so as to reduce power consumption, improve power efficiency and support battery charging. Part
of the power domain can be controlled by software whereas the other part is configured as permanently enabled in
hardware design.
To reduce current consumption, the preloaded firmware will power off all controlled power domains and put all ICs
to low-power mode.
3.3 V Power Domain Most of the ICs and modules are powered by the 3.3 V power domain, which can be divided
into an uncontrolled 3.3 V power domain and a controlled 3.3 V power domain.
The uncontrolled 3.3 V power domain cannot be powered off via software, and provides power for the Buck circuit.
When there is a power supply from USB, this power domain will obtain power from the 5 V input through the USB
cable; when USB is disconnected, it will obtain 3.6 ~ 4.2 V power from the lithium battery. This power domain
mainly provides power for the ESP32-S2-WROVER module and other devices which can enter low-power mode via
software control.
The controlled 3.3 V power domain comes from the uncontrolled 3.3 V power domain and is turned on/off via a
PMOS control switch, which is connected to the P4 pin of the IO expander. This power domain mainly provides
power for ICs with higher static power consumption and cannot enter low-power mode.
5 V Power Domain The 5 V power domain of the development board provides power for the audio amplifier and
the TWAI® transceiver. It obtains power from the following resources:
• The USB port
• The power input from external 5 V power port
• The power passing through the Booster circuit from the lithium battery
The power obtained from USB and the external 5 V power input supplies power for all devices (except CP2102N)
that require 5 V power and cannot be disconnected by software. When obtaining power from the lithium battery, the
EN pin level of the Booster IC can be controlled via the P5 pin of the IO expander to enable 5 V power in high level.
The power input through the USB port on the bottom of the board is split into two lines: one provides power for
CP2102N while the other becomes USB_5V after passing through a diode. The CP2102N will only be powered up
when this USB port is connected, since it only needs to be in operation when the PC is connected. Any 5 V power
input will cause the Booster IC to be powered off and charge the on-board lithium battery via the charging IC.
Power State When the development board is connected via the USB cable, the 5 V power domain is powered on
automatically and the charging IC outputs voltage to supply power for the battery. In this case, the controlled 3.3 V
power domain is controlled by the P4 pin of the IO expander.
When the development board is powered by the battery, the controlled 3.3 V power domain is controlled by the P4
pin of the IO expander while the 5 V power domain is controlled by the P5 pin of the IO expander, and the charging
IC will not work.
1.1.20 ESP32-Sense-Kit
The ESP32 touch sensor development kit, ESP32-Sense-Kit, is used for evaluating and developing ESP32 touch
sensor system.
ESP32-Sense-Kit
Overview The ESP32 touch sensor development kit, ESP32-Sense-Kit, is used for evaluating and developing
ESP32 touch sensor system. ESP32-Sense-Kit consists of one motherboard and multiple daughterboards. The moth-
erboard contains a display unit, a main control unit and a debug unit. The daughterboards have touch electrodes in
different combinations or shapes, such as linear slider, wheel slider, matrix buttons and spring buttons, depending on
the application scenarios. Users can design and add their own daughterboards for special usage cases.
The following image shows the whole ESP32-Sense-Kit.
Preparation
• Install overlay
If plastic is used for the overlay, the recommended thickness is 3 mm or less. Because air reduces touch
sensitivity, any air gaps between the daughterboard and overlay must be eliminated. You can use double-sided
adhesive tape to fill in the air gap. For the daughterboard with metal springs, 7 mm stud bolts should be used
to install the overlay.
• Install daughterboard
Use a connector to connect motherboard with daughterboard. You can use four 7 mm plastic stud bolts to have
the daughterboard steadily parallel to the motherboard, as shown in the image below:
Hardware Resources
Motherboard
• Function Block Diagram
The image below shows the function block diagram of the motherboard.
• Motherboard Components
The display unit includes three segment displays and an RGB circuit. The debug unit includes the ESP-Prog
debugger interface. The main control unit includes the ESP32 module. The mini USB is the power supply.
Daughterboard
• Divided resistance
The touch electrodes are arranged in different combinations depending on the application scenario. Each
daughterboard has a voltage divider that has a unique value. The program running on motherboard reads the
divider value through ADC and thus each daughterboard can be identified. The voltage divider is shown below:
Daughterboard Divided resistance (Kohm) ADC reading (Min) ADC reading (Max)
Spring button 0 0 250
Linear slider 4.7 805 1305
Matrix button 10 1400 1900
Duplex slider 19.1 1916 2416
Wheel slider 47 2471 2971
Application Programs ESP32-Sense Project within ESP32 IoT Solution repository contains the application pro-
grams for ESP32-Sense Kit. The directory structure is shown below:
.
├── main
│ ├── evb_adc.c //Identifies different daughterboards through ADC.␣
,→Sets unique ADC threshold for each daughterboard.
Configure Settings When using overlays of different thicknesses or materials, users need to reset the change rate
of touch readings on each channel, that is, the sensitivity. This parameter is calculated from the pulse count value.
The calculation formula is: (Non-touch value - Touch value) / Non-touch value, where “Non-touch value”refers to
the pulse count value when there is no touch event, and “Touch value”refers to the pulse count value when a touch
event occurs. Users need to take a measurement and obtain these two values. When the system is initialized, the
touch threshold is automatically calculated from the change rate of touch readings. The touch threshold is directly
proportional to the change rate.
When the change rate is set, users can write it into evb.h file.
Demo
Related Resources
• Schematic
– ESP32-Sense-Kit Mainboard Schematic
– ESP32-Sense-Kit Subboard Schematic
• PCB Layout
– ESP32-Sense-Kit Mainboard PCB Layout
– ESP32-Sense-Kit Subboard PCB Layout
• Set up Software Environment
– ESP-IDF is the SDK for ESP32. You can refer to Get Started for how to set up the ESP32 software
environment.
– ESP-Prog is the debugger for ESP32 that features download and debugging functions.
• ESP32 IoT Solution
– ESP32 IoT Solution project is based on ESP-IDF and contains multiple projects.
– ESP32-Sense Project contains the programs for ESP32-Sense Kit that can be downloaded to the devel-
opment board to enable touch sensor function.
• Hardware Manuals
– Please click ESP32-Sense Kit Reference Design to download the hardware resources including schemat-
ics, PCB reference design, BOM and other files.
• Useful References
– Espressif website.
– ESP32 programming guide: It hosts extensive documentation for ESP-IDF ranging from hardware guides
to API reference.
– ESP32 touch sensor design: It is the reference design manual for the ESP32 touch sensor system.
• Technical Support
– If you need technical support regarding ESP32-Sense-Kit, please submit a new issue referring to the
ESP32-Sense Project.
• How to buy
– WeChat Account: espressif_systems.
– Purchase consulting.
1.1.21 ESP32-S2-Touch-Devkit-1
ESP32-S2-Touch-Devkit-1 is a development kit that is aimed at helping evaluate and develop capacitive touch sensor
applications on ESP32-S2. It is made up of a Motherboard-Subboard structure.
ESP32-S2-Touch-Devkit-1
Overview ESP32-S2-Touch-Devkit-1 is a development kit that is aimed at helping evaluate and develop capacitive
touch sensor applications on ESP32-S2. It is made up of Motherboard-Subboard structure. The motherboard of
ESP32-S2-Touch-Devkit-1 integrates ESP32-S2-MINI-1 controller module and several useful little components such
as buzzer, digital tube, RGB light, and so on. There are several kinds of subboards in ESP32-S2-Touch-Devkit-1 with
different kinds of capacitive touch sensor pads, developers can choose one of them and connect it with motherboard
so that they could develop different kinds of capacitive touch sensor applications. The motherboard and subboard use
the pin header/female pin header as the socket connector which makes it plug in and plug out smoothly.
Motherboard
Subboards
• Button-board: Three capacitive touch buttons with waterproof sensor.
• Slider-board: Capacitive touch linear slider, the relative distance of slider has up to 8-bit precision.
Slider-board Slider
• Matrix-board: 3 x 4 capacitive touch matrix button, 7 channels of touch sensor make up of 12 capacitive touch
buttons.
Touchpad-board Touchpad
Proximity-board Sensor
cd esp-dev-kits/esp32-s2-touch-devkit-1
├── CMakeLists.txt
├── components #components' driver
│ ├── board_detect #subboard detector
│ ├── buzzer #buzzer driver
│ ├── digital_tube #digital tube controller driver
│ ├── rgb_light #RGB light driver(ws2812)
│ ├── subboards #Subboards' application source file
│ └── touch_element #Touch element library
├── main #Main application demo logic
│ ├── CMakeLists.txt
│ └── main.c
cd esp-idf
. ./export.sh
cd esp-dev-kits/esp32-s2-touch-devkit-1
idf.py set-target esp32s2 #Enable esp32s2 platform
idf.py build flash
idf.py monitor
Example output:
Notes
• Some new Touch Sensor features (Touchpad, Touch proximity) are not supported in ESP-IDF Touch Element
library, so we copy Touch Element from ESP-IDF components into this demo project’s components’folder
and add the necessary features. They will appear in the future version of ESP-IDF.
Troubleshooting Q1: Why Proximity-board is connected with Motherboard, they don’t work or work abnormally?
A1: Though all of those subboards are hot-swappable theoretically, the Proximity-board needs to startup in an ideal
environment(Far away from your hands). If it goes wrong, you can reset it mandatorily by releasing the power-switch.
Related Documents
Schematic
• ESP32-S2-Touch-Devkit-1 Motherboard Schematic
• Button Subboard Schematic
• Slider Subboard Schematic
• Matrix Button Subboard Schematic
• Touchpad Subboard Schematic
• Proximity Subboard Schematic
Other Documents
• Touch Element Library Programming Guide
• ESP32-S2-MINI-1 Datasheet
• ESP32-S2 Datasheet
• ESP32-S2 Technical Reference Manual
1.1.22 ESP32-MeshKit-Sense
ESP32-MeshKit-Sense is a development board with an ESP32 module at its core. It features peripherals, such as a
temperature and humidity sensor, an ambient light sensor, etc. The board can be interfaced with screens. The board
is mainly used to detect the current consumption of ESP32 modules in a normal operation state or in sleep mode,
when connected to different peripherals.
ESP32-MeshKit-Sense
Overview ESP32-MeshKit-Sense is a development board with an ESP32 module at its core. It features peripherals,
such as a temperature and humidity sensor, an ambient light sensor, etc. The board can be interfaced with screens.
The board is mainly used to detect the current consumption of ESP32 modules in a normal operation state or in sleep
mode, when connected to different peripherals.
For more information on ESP32, please refer to ESP32 Datasheet.
Block Diagram The figure below shows the block diagram of ESP32.
PCB Layout The figure below shows the layout of ESP32-MeshKit-Sense PCB.
Functional Descriptions of PCB Layout are shown in the following table:
Functional Modules This chapter mainly introduces each functional module (interface) and the hardware schemat-
ics for them.
Power Supply Management Module The development board can be powered by battery and the AP5056 power
supply management chip can be used to charge the battery. The AP5056 is a complete constant current constant volt-
age linear charger for single cell lithium-ion batteries. It has 4.2 V of preset charge voltage and 1 A of programmable
charge current.
When both the USB power supply and the battery power supply are available, the system selection of power supply
will be: VBUS is high, Q4 is in cut-off state, VBAT (battery power) is automatically cut off from the system power
supply, and the USB supplies power for the system.
The figure below shows the schematics for USB/BAT power supply management.
Power Supply Management for Peripherals First of all, the input from the USB or BAT is converted by the
power management chip into a 3.3 V voltage to power the circuit. The power management chip on the board is
ETA3425, which has an output voltage of 3.3 V and a maximum output current of 600 mA.
The figure below shows the schematics for peripheral power supply.
The main VDD33 circuit has two branches:
• ESP32_VDD33, used to power the ESP32 module module
• VDD33_PeriP, used to power all peripherals.
The connection between them can be controlled via the pin header and jumper cap. The figure below shows the
schematics for ESP32_VDD33.
The VDD33_PeriP branch circuit also has two sub-branches
• VDD33_PeriP_Screen, dedicated power supply for the external screen
• VDD33_PeriP_Sensor, power supply for the three sensors
The connection of the two can be controlled by the module GPIO+MOS. The figure below shows the schematics for
VDD33_PeriP.
Boot & UART The development board is integrated with a PROG Header, which can be connected to a ESP-
PROG development board via a cable. Users can then connect the micro USB of the ESP-PROG development board
to a PC for ESP32-MeshKit-Sense firmware download and debugging.
The figure below shows the schematics for Boot & UART Circuit.
Module for Wakeup from Sleep The board has a button connected to the pin IO34, which is a pin in the RTC
domain. When the chip is in sleep, pressing the button will wake up ESP32.
The figure below shows the schematics for wakeup-from-sleep module.
External Screens The development board is integrated with a screen connector that can connect different external
screens to the board via cables.
The figure below shows the schematics for external screens.
Sensors
Temperature and Humidity Sensor The HTS221 is an ultra-compact sensor for relative humidity and tempera-
ture. A 3.3 V power supply and I2C interface on the board are dedicated to HTS221.
The figure below shows the schematics for the temperature and humidity sensor.
Ambient Light Sensor The BH1750FVI is a digital ambient light sensor. A 3.3 V power supply and I2C interface
on the board are dedicated to HTS221.
The figure below shows the schematics for the ambient light sensor.
Ambient Brightness Sensor The APDS-9960 is a ambient brightness sensor featuring advanced gesture detection,
proximity detection, digital Ambient Light Sense (ALS) and Color Sense (RGBC). It also incorporates an IR LED
driver. The development board uses 3.3V power supply and I2C interface. It should be noted that this device is not
surface-mounted by default.
The figure below shows the schematics for the ambient brightness sensor.
Related Documents
• ESP32-MeshKit-Sense Schematic
• ESP32-MeshKit-Sense PCB Layout
1.1.23 ESP32-S2-Kaluga-1
ESP32-S2-Kaluga-1
Reference Documentation
Schematic
• ESP32-S2-Kaluga-1 v1.2 Mainboard (PDF)
• ESP-LyraT-8311A v1.2 Audio Board (PDF)
• ESP-LyraP-LCD32 v1.2 Screen (PDF)
• ESP-LyraP-TOUCHA v1.2 Touchpad (PDF)
• ESP-LyraP-CAM v1.2 Camera (PDF)
Datasheet
• ESP32-S2 Datasheet
• LCD ST7789
• Camera OV2640
• Audio ES8311
How to Contribute
Contributions to esp-dev-kits - fixing bugs, adding features, adding documentation - are welcome. We accept contri-
butions via Github Pull Requests.
Before Contributing
After you open the Pull Request, there will probably be some discussion in the comments field of the request itself.
Once the Pull Request is ready to merge, it will first be merged into our internal git system for in-house automated
testing.
If this process passes, it will be merged onto the public github repository.
Legal Part
Before a contribution can be accepted, you will need to sign our contributor-agreement. You will be prompted for
this automatically as part of the Pull Request process.
Related Documents
esp-dev-kits 编码规范
总体原则
• 简洁明了,结构清晰
• 统一风格,易于维护
• 充分注释,易于理解
• 继承 ESP-IDF 已有规范
• 继承第三方代码已有规范
目录结构
• components:总体上按照功能分类,大类下如果存在多级目录,应包含一个 README 做综述和索引;
• docs:rst 格式文档,包括各个组件的使用指南,API 说明;
• examples:总体上按照与组件对应的功能分类;
• tools:CI 脚本、调试工具。
头文件
• 尽量每一 .c 对应一个同名的 .h 文件;
• 单个组件存在多个 .h ,主要对外 .h 命名尽量与组件名保持一致;
• 头文件中主要放函数声明,不放函数实现;
• 尽量不在头文件定义任何形式的变量;
• 头文件应按照注释规范,对函数接口进行充分注释;
• 添加宏定义避免重复引用,宏定义名为大写的头文件名加下划线填充:
#ifndef _IOT_I2C_BUS_H_
#define _IOT_I2C_BUS_H_
#endif
#ifdef __cplusplus
extern "C"
{
#endif
//c code
#ifdef __cplusplus
}
#endif
注释
• 安装 VSCODE 插件 Doxygen Documentation Generator 可自动生成注释框架;
• 注释中避免使用单词缩写;
• 函数声明处注释需要描述函数功能、性能或用法,输入和输出参数、函数返回值说明。
自动生成的注释框架:
/**
* @brief
*
* @param port
* @param conf
* @return i2c_bus_handle_t
*/
i2c_bus_handle_t iot_i2c_bus_create(i2c_port_t port, i2c_config_t* conf);
补充信息和参数方向:
/**
* @brief Create an I2C bus instance then return a handle if created successfully.
* @note Each I2C bus works in a singleton mode, which means for an i2c port only␣
,→one group parameter works. When
* iot_i2c_bus_create is called more than one time for the same i2c port, following␣
,→parameter will override the previous one.
*
* @param[in] port I2C port number
* @param[in] conf Pointer to I2C parameters
* @return i2c_bus_handle_t Return the I2C bus handle if created successfully,␣
,→return NULL if failed.
*/
i2c_bus_handle_t iot_i2c_bus_create(i2c_port_t port, i2c_config_t* conf);
• 版权声明注释(第三方代码,请保留版权声明信息)
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
函数规范
• 多处重复使用的代码尽量设计为函数;
• 作用域仅限于当前文件的函数必须声明为静态 static;
• 设计使用静态全局变量、静态局部变量的函数时,需要考虑重入问题;
• 尽量在一个固定函数中操作静态全局变量;
• 如果函数存在重入或线程安全问题,需在注释中说明;
• 同一组件内的公有函数名,应保持同一前缀;
• 函数名统一使用 snake_case 格式,只使用小写字母,单词之间加 _ ;
• 函数命名指引(应保持与已有代码风格一致,不严格约束):
函数名格式 函数示例 说明
iot_type_xxx iot_sensor_xxx; iot_board_xxx; 高度抽象的 iot 组件
iot_storage_…
type_xxx imu_xxx; light_xxx; eeprom_xxx 对一类外设的抽象
name_xxx mpu6050_xxx; 底层 driver,由于可能来自第三方,不约束
函数名
xxx_creat / 创建和销毁
xxx_delete
xxx_read / 数据操作
xxx_write
变量规范
• 避免使用全局变量,可声明为静态全局变量,使用 get_ set_ 等接口进行变量操作;
• 作用域仅限于当前文件的变量必须声明为静态变量 static;
• 静态全局变量请添加 g_ 前缀,静态局部变量请添加 s_ 前缀;
• 局部变量设计大小时,应考虑栈溢出的问题;
• 任何变量定义时,必须赋初值;
• 变量功能要明确,避免将单一变量做多个用途;
• 句柄类型变量,在对象销毁后,应重新赋值为 NULL;
• 变量统一使用 snake_case 格式,只使用小写字母,单词之间加 _;
• 避免不必要的缩写,例如 data 不必缩写为 dat;
• 变量应尽量使用有意义的词语,或者已经达成共识的符号或 词语缩写;
• 变量命名指引:
类型 规范 示例
全局变量 避免使用 x
静态全局变量 static 标识,g_ 前缀,赋初值 static uint32_t g_connect_num = 0;
静态局部变量 static 标识,s_ 前缀,赋初值 static uint32_t s_connect_num= 0;
迭代计数变量 使用通用的 i j k
常用缩写 abbreviations-in-code addr,buf ,cfg , cmd, , ctrl,
• 常用缩写列表
缩写 全称 缩写 全称 缩写 全称 缩写 全称
addr address id identifier len length ptr pointer
buf buffer info information obj object ret return
cfg command hdr header param parameter temp temporary、temperature
cmd command init initialize pos position ts timestamp
类型定义
• 使用加 snake_case 格式加 _t 后缀
typedef enum {
MODULE_FOO_ONE,
MODULE_FOO_TWO,
MODULE_FOO_THREE
} module_foo_t;
2. 垂直间隔 在函数之间放置一个空行,不要以空行开始或结束函数。
void function1()
{
do_one_thing();
do_another_thing();
// INCORRECT, don't place empty line here
}
// place empty line here
void function2()
{
// INCORRECT, don't use an empty line here
int var = 0;
while (var < SOME_CONSTANT) {
do_stuff(&var);
}
}
3. 水平间隔 总是在条件和循环关键字之后添加单个空格。
if (condition) { // correct
// ...
}
在二元操作符两端添加单个空格,一元运算符不需要空格,可以在乘法运算符和除法运算符之间省略空
格。
. 和 -> 操作符的周围不需要任何空格。
有时,在一行中添加水平间隔有助于提高代码的可读性。如下,可以添加空格来对齐函数参数:
• 但是请注意,如果有人添加了一个新行,第一个参数是一个更长的标识符(例如 PIN_CAM_VSYNC)
,
它将不适合。因为必须重新对齐其他行,这添加了无意义的更改。因此,尽量少使用这种对齐,特
别是如果您希望稍后将新行添加到这列中。
• 不要使用制表符进行水平对齐,不要在行尾添加尾随空格。
4. 括号 函数定义的大括号应该在单独的行上。
// This is correct:
void function(int arg)
{
在函数中,将左大括号与条件语句和循环语句放在同一行。
if (condition) {
do_one();
} else if (other_condition) {
do_two();
}
5. 注释 // 用于单行注释。对于多行注释,可以在每行上使用 // 或 / * * / 块注释。
虽然与格式没有直接关系,但下面是一些关于有效使用注释的注意事项。
• 不要使用一个注释来禁用某些功能。
void init_something()
{
setup_dma();
// load_resources(); // WHY is this thing commented, asks the␣
,→reader?
start_timer();
}
void init_something()
{
setup_dma();
// TODO: we should load resources here, but loader is not fully integrated yet.
// load_resources();
start_timer();
}
void init_something()
{
setup_dma();
// XXX add 2016-09-01
init_dma_list();
fill_dma_item(0);
// end XXX add
start_timer();
}
dos2unix FILENAME
然后运行
tools/format.sh components/my_component/file.c
CMake 代码风格
• 缩进是 4 个空格
• 最大行长为 120 个字符。分割行时,请尝试尽可能集中于可读性(例如,通过在单独的行上配对关
键字/参数对) 。
• 不要在 endforeach()、endif() 等后面的可选括号中放入任何内容。
• 对命令、函数和宏名使用小写 ( with_underscores )。
• 对于局部作用域的变量,使用小写字母 ( with_underscores )。
• 对于全局作用域的变量,使用大写 ( WITH_UNDERSCORES )。
• 其他,请遵循 cmake-lint 项目的默认设置。
[A] Boards with the PW number before PW-2024-02-0362 (before February 2024) does not populate a 32.768 kHz
crystal by default.
[B] The flash is integrated in the chip’s package.
203