Hardware Design Guidelines: Espressif Systems
Hardware Design Guidelines: Espressif Systems
Version 3.0
Espressif Systems
Copyright © 2020
www.espressif.com
About This Document
The guidelines outline recommended design practices when developing standalone or add-on systems based on
the ESP32 series of products, including ESP32 SoCs, ESP32 modules and ESP32 development boards.
Document Updates
Please always refer to the latest version on https://www.espressif.com/en/support/download/documents.
Revision History
For the revision history of this document, please refer to the last page.
Certification
Download certificates for Espressif products from www.espressif.com/en/certificates.
1 Overview 1
2 Schematic Checklist 2
2.1 Power Supply 3
2.1.1 Digital Power Supply 3
2.1.2 Analog Power Supply 3
2.2 Power-on Sequence and System Reset 4
2.2.1 Power-on Sequence 4
2.2.2 Reset 5
2.3 Flash (compulsory) and PSRAM (optional) 5
2.4 Crystal Oscillator 5
2.4.1 External Clock Source (compulsory) 6
2.4.2 RTC (optional) 6
2.5 RF 7
2.6 ADC 8
2.7 External Capacitor 8
2.8 UART 9
2.9 SDIO 9
2.10 Touch Sensor 10
4 Hardware Development 23
5 Applications 24
5.1 ESP32 Smart Audio Platform 24
5.1.1 ESP32-LyraT Audio Development Board 24
5.1.2 ESP32-LyraTD-MSC Audio Development Board 25
5.2 ESP32 Touch Sensor Application—ESP32-Sense Kit 26
5.3 ESP-Mesh Application—ESP32-MeshKit 27
Revision History 28
List of Figures
1 ESP32 Schematics (ESP32-D0WD used as an example for all illustrations in this section) 2
2 ESP32 Digital Power Supply Pins 3
3 ESP32 Analog Power Supply Pins 4
4 ESP32 Flash and PSRAM 5
5 ESP32 Crystal Oscillator 6
6 Schematic for ESP32’s External Crystal (RTC) 7
7 Schematic of External Oscillator 7
8 ESP32 RF Matching Schematics 8
9 ESP32 External Capacitor 9
10 ESP32 UART 9
11 ESP32 PCB Layout 11
12 ESP32 Module Antenna Position on Base Board 12
13 Keepout Zone for ESP32 Module’s Antenna on the Base Board 13
14 ESP32 Power Traces in a Four-layer PCB Design 14
15 Nine-Grid Design for EPAD 14
16 ESP32 Power Traces in a Two-layer PCB Design 15
17 ESP32 Crystal Oscillator Layout 16
18 ESP32 RF Layout in a Four-layer PCB Design 17
19 ESP32 RF Layout in a Two-layer PCB Design 17
20 ESP32 Flash and PSRAM Layout 18
21 ESP32 UART Design 18
22 A Typical Touch Sensor Application 19
23 Electrode Pattern Requirements 19
24 Sensor Track Routing Requirements 20
25 PAD/TV Box Layout 21
26 Top View of ESP32-LyraT 24
27 Bottom View of ESP32-LyraT 25
28 ESP32-LyraTD-MSC 26
29 ESP32-Sense Kit 26
30 ESP32-MeshKit-Light � 27
31 ESP32-MeshKit-Sense Development Board 27
1. Overview
ESP32 is a single 2.4 GHz Wi-Fi and Bluetooth combo chip designed with TSMC ultra-low-power 40 nm technol-
ogy. It is designed to achieve the best power and RF performance, robustness, versatility, and reliability in a wide
variety of applications and different power profiles.
ESP32 is a highly-integrated solution for Wi-Fi + Bluetooth applications in the IoT industry with around 20 external
components. ESP32 integrates the antenna switch, RF balun, power amplifier, low noise receive amplifier, filters,
and power management modules. As such, the entire solution occupies minimal Printed Circuit Board (PCB)
area.
ESP32 uses CMOS for single-chip fully-integrated radio and baseband, and also integrates advanced calibration
circuitries that allow the solution to dynamically adjust itself to remove external circuit imperfections or adjust to
changes in external conditions. As such, the mass production of ESP32 solutions does not require expensive and
specialized Wi-Fi test equipment.
GND CON1
J7
1
GND GND
3
U1
CON1
GND
GND XOUT
C1 C2 J10
TBD TBD 1
XIN
VDD33
CON1
2
C3 C20 J13
GND 1
100pF 1uF R1 20K(5%)
R2 GND
GND GND C5 C6 0R 40MHz+/-10ppm CON1
VDD33
GPIO21 J16
10nF/6.3V(10%) 3.3nF/6.3V(10%) R3 499R U0TXD 1
C9 U0RXD
GND GPIO22
0.1uF CON1
49
48
47
46
45
44
43
42
41
40
39
CAP1
CAP2
VDDA
XTAL_P
XTAL_N
VDDA
GPIO21
U0TXD
U0RXD
GPIO22
8
PCB ANT SENSOR_VP 5 34 GPIO5
TBD TBD 270pF(NC) 6 SENSOR_VP GPIO5 33 SDI/SD1 SCS/CMD 1 5 SDI/SD1 1
VCC
7 SENSOR_CAPP SD_DATA_1 32 SDO/SD0 /CS DI
270pF(NC) SENSOR_VN8 SENSOR_CAPN SD_DATA_0 31 SCK/CLK SCK/CLK 6 2 SDO/SD0
GND GND GND CHIP_PU 9 SENSOR_VN SD_CLK 30 SCS/CMD CLK DO CON1
GND
C17 GPIO34 10 CHIP_PU SD_CMD 29 SWP/SD3 SHD/SD2 7 3 SWP/SD3
VDET_1 SD_DATA_3 /HOLD /WP J28
GPIO35 11 28 SHD/SD2
GPIO32 12 VDET_2 SD_DATA_2 27 GPIO17 U3 FLASH 1
4
GPIO33 13 32K_XP GPIO17 26
VDD3P3_RTC
MTDO
MTCK
1
MTDI
1uF
U2 ESP32-D0WD CON1
J33
15
16
17
18
19
20
21
22
23
24
GND VDD33
1
C19 CON1
GPIO26
GPIO27
GPIO14
GPIO12
GPIO13
GPIO15
GPIO2
GPIO0
GPIO4
0.1uF J35
1
GND
CON1
Figure 1: ESP32 Schematics (ESP32-D0WD used as an example for all illustrations in this section) J37
1
CON1
Any basic ESP32 circuit design may be broken down into 10 major sections:
• Power supply
• Crystal oscillator
• RF
• ADC
• External capacitors
• UART
• SDIO
• Touch Sensor
• When VDD_SDIO operates at 1.8 V, it can be generated from ESP32’s internal LDO. The maximum current
GND
this LDO can offer is 40 mA, and the output voltage range is 1.65 V ~ 2.0 V. When the VDD_SDIO outputs
1.8 V, the value of GPIO12 should be set to 1 when the chip boots and it is recommended that users add a
GND GND
4
U1
2 kΩ ground resistor and a 4.7 µF filter capacitor close to VDD_SDIO.
GND
GND XOUT
there will be some voltage drop from VDD3P3_RTC. When the VDD_SDIO outputs 3.3 V, the value of GPIO12
is 0 (default) when the chip boots and it is recommended that users add a 1 µF capacitor close to VDD_SDIO.
1
C3 C20
GND
100pF 1uF
VDD_SDIO can also
R1 be driven
20K(5%) by an external power supply. When using VDD_SDIO as the power supply pin for
R2 GND
C5 C6
GND the
GND external 3.3 V flash/PSRAM, the
0R supply voltage should be 3.0 V or above, so as to meet the requirements of
40MHz+/-10ppm
10nF/6.3V(10%) GPIO21
3.3nF/6.3V(10%) R3 499R U0TXD
flash/PSRAM’s
C9
working voltage. The schematic for ESP32 digital power supply pins is shown in Figure 2.
U0RXD
GND GPIO22
0.1uF
49
48
47
46
45
44
43
42
41
40
39
GND
L5 2.0nH GND
GND
CAP1
CAP2
VDDA
XTAL_P
XTAL_N
VDDA
GPIO21
U0TXD
U0RXD
GPIO22
C10 C21
C4
0.1uF NC VDD33
0.1uF
GND GND VDD_SDIO
1 38 GPIO19
TBD 2 VDDA GPIO19 37
3 LNA_IN VDD3P3_CPU 36 GPIO23
C14 4 VDD3P3 GPIO23 35 GPIO18
C16
VDD3P3 GPIO18
8
SENSOR_VP 5 34 GPIO5
TBD 270pF(NC) 6 SENSOR_VP GPIO5 33 SDI/SD1 SCS/CMD 1 5 SDI/SD1
VCC
MTDO
MTCK
MTDI
1uF
U2 ESP32-D0WD
15
16
17
18
19
20
21
22
23
24
GND VDD33
C19
GPIO26
GPIO27
GPIO14
GPIO12
GPIO13
GPIO15
GPIO2
GPIO0
GPIO4
0.1uF
GND
GND
recommended to add another 10 µF capacitor to the power trace, which can work in conjunction with the 0.1 µF
capacitor. LC filter circuit needs to be added near the power pin so as to suppress high-frequency harmonics.
GND GND
3
U1
The inductor’s rated current is preferably 500 mA and above.
GND
GND XOUT
The schematic for ESP32 analog power supply pins is shown in Figure 3. C1 C2
TBD TBD
XIN
VDD33
2
C3 C20
GND
100pF 1uF R1 20K(5%)
R2 GND
GND GND C5 C6 0R 40MHz+/-10ppm
VDD33
10nF/6.3V(10%) 3.3nF/6.3V(10%) R3 499R
C9
GND
0.1uF
49
48
47
46
45
44
43
42
41
40
39
VDD33 GND
L5 2.0nH
GND
CAP1
CAP2
VDDA
XTAL_P
VDDA
GPIO21
XTAL_N
U0TXD
U0RXD
GPIO22
C13 C12 C11 C10 C21
10uF NC 1uF 0.1uF NC
VDD3P3_RTC
• The recommended voltage of the power supply for ESP32 is 3.3 V, and
GPIO25 32K_XN
14 its recommended output current is 500 mA VDD_SDIO
GPIO25 GPIO16
or more.
GPIO26
GPIO27
GPIO2
GPIO0
GPIO4
MTMS
MTDO
MTCK
• It is suggested that users add an ESD protection diode at the power entrance. MTDI
U2 ESP32-D0WD
15
16
17
18
19
20
21
22
23
24
GPIO13
GPIO15
GPIO2
GPIO0
GPIO4
Notice:
To ensure the power supply to the ESP32 chip during power-up, it is advised to add an RC delay circuit at the
CHIP_PU pin. The recommended setting for the RC delay circuit is usually R = 10 kΩ and C = 1 µF. However,
specific parameters should be adjusted based on the power-up timing of the power supply and the power-up and
reset sequence timing of the chip.
Notice:
CHIP_PU pin must not be left floating.
C4
VDD33
0.1uF/6.3V(10%)
SCK/CLK R17 0R(5%) FLASH_CLK
GPIO19
R16 0R(5%) SRAM_CLK
GPIO23
GPIO18 VDD_SDIO
GPIO5 VDD_SDIO
SDI/SD1
SDO/SD0
SCK/CLK
SCS/CMD R10
8
U3
SWP/SD3 SCS/CMD 1 5 SDI/SD1 10K(5%)
VCC
SHD/SD2 /CS DI U4
GPIO17 FLASH_CLK 6 2 SDO/SD0 GPIO16 1 8
CLK DO SDO/SD0 2 CS# VDD 7 SHD/SD2
GND
PSRAM (Optional)
R4
GND
2K(5%)(NC)
GND
VDD33
ND
C19
0.1uF/6.3V(10%)
F(NC)
2.0nH
GND
GND
GND
NC
C21
0.1uF
C9
1uF
C20
GPIO25
GPIO33
GPIO32
GPIO35
GPIO34
CHIP_PU
SENSOR_VP 5
10nF/6.3V(10%)
GND
14
13
12
11
10
9
7
6
4
3
2
1
Currently, the ESP32 Wi-Fi/BT firmware only supports 40 MHz crystal oscillator. In circuit design, capacitors C1 and
C5
GND
GPIO25
32K_XN
32K_XP
VDET_2
VDET_1
CHIP_PU
SENSOR_VN
SENSOR_CAPN
SENSOR_CAPP
SENSOR_VP
VDD3P3
VDD3P3
LNA_IN
VDDA
C2 which connect to the ground are added to the input and output terminals of the crystal oscillator respectively.
49
The specific capacitive values
GNDdepend on further testing of, and adjustment to, the overall performance of the whole
3.3nF/6.3V(10%)
C6
R1
circuit. It is recommended that users reserve a series resistor of 0 Ω on the XTAL_P clock trace to reduce the drive
strength of the crystal, as well as to minimize the impact of crystal harmonics on RF performance. Note that the
20K(5%)
accuracy of the selected crystal is ±10 ppm. The schematic for crystal oscillator is shown in Figure 5.
48
CAP1 47
CAP2
TBD
46
C1
VDDA
GND
45
XTAL_P 44
0R 40MHz+/-10ppm
R2
RTC XTAL_N 43
VDDA
GND
42 1 4
GPIO21 41 XIN GND
U0TXD 40
U1
U0RXD
R3
39
GPIO22
GND
2 3
GND XOUT
VDD3P3_CPU
SD_DATA_2
SD_DATA_3
SD_DATA_0
SD_DATA_1
VDD_SDIO
499R
GND
SD_CMD
SD_CLK
GPIO16
GPIO17
GPIO18
GPIO23
GPIO19
GPIO5
TBD
C2
Figure 5: ESP32 Crystal Oscillator
25
26
27
28
29
30
31
32
33
34
35
36
37
38
0.1uF
C4
GND
Notice:
GPIO16
GPIO17
SHD/SD2
SWP/SD3
SCS/CMD
SCK/CLK
SDO/SD0
SDI/SD1
GPIO5
GPIO18
GPIO23
GPIO19
GPIO22
U0RXD
U0TXD
GPIO21
• If an oscillator is used, its output should be connected to XTAL_P on the chip through a DC blocking capacitor
(about 10 pF). XTAL_N can be floating. Please make sure that the oscillator output is stable and its accuracy is
VDD33
within ±10 ppm. The amplitude into XTAL_P can not exceed 1.1 V. It is also recommended that the circuit design
for the oscillator is compatible with the use of crystal, in case that if there is a defect in the circuit design, users can
still use the crystal.
SHD/SD2
SCK/CLK
SCS/CMD
• Defects in the craftsmanship of the crystal oscillators (for example, frequency deviation more than ±10 ppm) and
unstable operating temperature may lead to the malfunction of ESP32, resulting in a decrease of the overall per-
formance.
7
1
U3
/HOLD
CLK
/CS
VDD_SDIO
4 2.4.2 RTC
8 (optional)
GND VCC
FLASH
ESP32 supports an external 32.768 kHz crystal or an external 32.768 kHz signal (e.g., an oscillator) to act as the
/WP
DO
DI
Figure 6 shows the schematic for the external 32.768 kHz crystal.
SWP/SD3
SDO/SD0
SDI/SD1
CON1
J28
CON1
J25
CON1
J22
CON1
J19
CON1
J16
CON1
J13
CON1
J10
CON1
J7
CON1
J4
CON1
J1
1
1
SENSOR_VN
SENSOR_VP
GPIO33
GPIO32
GPIO35
GPIO34
ESD3.3
D1
V
1 R15 0R(5%) L4 2.0nH(±0.1nH) 2 37
2 3 LNA_IN VDD3P3_CPU 36
4 VDD3P3 GPIO23 35
C15 C14
PCB ANT SENSOR_VP 5 VDD3P3 GPIO18 34
2.4pF±0.25pF 3.3pF±0.25pF 6 SENSOR_VP GPIO5 33
7 SENSOR_CAPP SD_DATA_1 32
SENSOR_VN 8 SENSOR_CAPN SD_DATA_0 31
GND GND
GND CHIP_PU 9 SENSOR_VN SD_CLK 30
GPIO34 10 CHIP_PU SD_CMD 29
GPIO35 11 VDET_1 SD_DATA_3 28
C17 TBD
GPIO32 12 VDET_2 SD_DATA_2 27
GND 32K_XP GPIO17
GPIO33 13 26
VDD3P3_RTC
GPIO25 14 32K_XN VDD_SDIO 25
GPIO25 GPIO16
R18
GPIO26
GPIO27
1
GPIO2
GPIO0
GPIO4
MTMS
MTDO
MTCK
MTDI
X1
32.768kHz
2
TBD U2 ESP32-D0WD
15
16
17
18
19
20
21
22
23
24
GND G
C18 TBD
GPIO26
GPIO27
GPIO14
GPIO12
GPIO13
GPIO15
GPIO2
GPIO0
GPIO4
Figure 6: Schematic for ESP32’s External Crystal (RTC) G
Notice:
• Please note the requirements for the 32.768 kHz crystal.
– Equivalent series resistance (ESR) ⩽ 70 kΩ.
– Load capacitance at both ends should be configured according to the crystal’s specification.
• The parallel resistor R4 is used for biasing the crystal circuit (5 MΩ < R4 ⩽ 10 MΩ).
• When ESP32-D0WD-V3 connects to an external 32.768 kHz crystal, the parallel resistor must be populated. For
other ESP32 series chips, the resistor can be reserved.
• If the RTC source is not required, then pin12 (32K_XP) and pin13 (32K_XN) can be used as GPIOs.
32K_XN
32768 kHz signal
ESP32
32K_XP
C1
The value of C1 should be larger than 200 pF. The signal should meet the following requirements:
2.5 5 RF 4
The output impedance of the RF pins of ESP32 (QFN 6*6) and ESP32 (QFN 5*5) are (30+j10) Ω and (35+j10) Ω,
respectively. A π-type matching network is essential for antenna matching in the circuit design. CLC structure is
recommended for the matching network. The schematic for ESP32 RF circuitry is shown in Figure 8.
Note:
The parameters of the components in the matching network are subject to the actual antenna and PCB layout.
2.6 ADC
It is recommended that users add a 0.1 µF filter capacitor to a pad when using the ADC function.
• Pins SENSOR_VP or SENSOR_VN will trigger an input glitch lasting for 80 ns once SARADC1, or SARADC2,
or Hall sensor is initialized.
• If SENSOR_VP and SENSOR_VN are used as GPIOs, while ADC is supported by other pins in the circuit
design, users need to do settings in software to avoid the input glitch.
• ADC1 is recommended over ADC2 as the latter cannot be used when Wi-Fi function is enabled.
• Currently, high-precision ADCs are not supported. The two 270 pF sampling resistors between SENSOR_VP
and SENSOR_CAPP, SENSOR_VN and SENSOR_CAPN, can be removed. In such case, the four pins can
be used as general ADCs or GPIOs.
• The recommended input voltage of the ADC is below 2450 mV, and preferably within the range of 100 to
950 mV for higher calibration accuracy. For details, please refer to Section ADC in ESP32 Datasheet.
C5 C6
10nF/6.3V(10%) 3.3nF/6.3V(10%)
GND
49
48
47
46
CAP1
CAP2
GND
VDDA
Figure 9: ESP32 External Capacitor
2.8 UART
Users need to connect a 499 Ω resistor to the U0TXD line in order to suppress the 80 MHz harmonics. The
schematic for ESP32 UART is shown in Figure 10.
R3 499R U0TXD
U0RXD
GPIO22
41
40
39
GPIO21
GPIO22
U0TXD
U0RXD
2.9 SDIO
There are two sets of GPIOs (slot0 and slot1) that can be assigned to SDIO on ESP32, as shown in the table below.
When ESP32 works as an SDIO host or slave, connect GPIOs in slot1 to signal lines.
• When ESP32 works as SDIO host, add pull-up resistors on used pins, unused pins can be used for other
purposes.
• When ESP32 works as an SDIO slave, add pull-up resistors on all pins, whether these pins are used for SDIO
or not; unused pins cannot be used for other purposes.
While the high level of integration makes the PCB design and layout process simple, the performance of the system
strongly depends on system design aspects. To achieve the best overall system performance, please follow the
guidelines specified in this document for circuit design and PCB layout. All the common rules associated with
good PCB design still apply and this document is not an exhaustive list of good design practices.
The PCB layout design guidelines are applicable to cases when the
• The first layer is the TOP layer for signal traces and components.
• The third layer is the POWER layer where a GND plane should be applied to better isolate the RF and crystal
oscillator part. It is acceptable to route signal traces on this layer, provided that there is a complete GND
plane under the RF and crystal oscillator.
• The fourth layer is the BOTTOM layer, where power traces are routed. Placing any components on this layer
is not recommended.
• The first layer is the TOP layer for traces and components.
• The second layer is the BOTTOM layer. Please do not place any components on this layer and keep traces
to a minimum. Ideally, it should be a complete GND plane.
The module should be placed as close to the edge of the base board as possible. The PCB antenna area should
be placed outside the base board whenever possible. In addition, the feed point of the antenna should be closest
to the board, as Figure 12 shows.
If there is base board under the antenna area, it is recommended to cut it off to minimize its impact on the antenna.
When designing the whole device, pay attention to the impact of the device shell on the antenna. As shown in
Figure 12, positions 3 and 4 are highly recommended on the base board, while positions 1, 2, and 5 are not
recommended.
1 2 3 ✅
Base Board
5 4 ✅
Clearance
15 mm
15 mm
15 mm
Base Board
Figure 13: Keepout Zone for ESP32 Module’s Antenna on the Base Board
– Four-layer PCB design is recommended over two-layer design. Route the power traces on the fourth
(bottom) layer whenever possible. Vias are required for the power traces to go through the layers and
get connected to the pins on the top layer. There should be at least two vias where the main power
traces cross layers. The drill diameter on other power traces should be no smaller than the width of the
power traces.
– The 3.3 V power traces, highlighted in yellow, are routed as shown in Figure 14. The width of the main
power traces should be greater than 25 mil. The width of the power traces for pin3 and pin4 should be
at least 20 mil. The width of other power traces should be within the range of 12 ~ 15 mil.
– As shown in Figure 14, an ESD protection diode is placed close to the power port (marked in red circle).
A 10 µF capacitor is required before the power trace connects the ESP32 chip, to be used in conjunction
with a 0.1 µF capacitor. Then the power routing is divided into two ways. The power rails of pin3 and
pin4 should be routed together to reduce the coupling between different power pins.
– It is required to place C (capacitor) and L (inductor) near the power pins pin3 and pin4. As shown in
Figure 14, C13 (10 µF) is placed at the entrance of the power, and C10, L5, and C21 are placed near
the chip’s analog power pins. When possible, add a 0.1 µF capacitor to each digital power supply pin.
Note that all decoupling capacitors should be placed close to the power pin, and ground vias should
be added adjacent to the ground pin for the decoupling capacitors to ensure a short return path.
– The ground pad at the bottom of the chip should be connected to the ground plane through at least
nine ground vias.
Other good practices for routing power traces in four-layer PCB designs still apply to two-layer PCB designs.
• The crystal oscillator should be placed far from the clock pin. The recommended gap is 2.7 mm. It is good
practice to add high-density ground via stitching around the clock trace for containing the high-frequency
clock signal.
• There should be no vias for the clock input and output traces, which means the traces cannot cross layers.
• When possible, the external regulating capacitor should be placed on the near left or right side of the crystal
oscillator, and at the end of the clock trace, to make sure the ground pad of the capacitor is close to that of
the crystal oscillator.
• Do not route high-frequency digital signal traces under the crystal oscillator. It is best not to route any signal
trace under the crystal oscillator. The vias on the power traces on both sides of the crystal clock trace
should be placed as far away from the clock trace as possible, and the two sides of the clock trace should
be surrounded by grounding copper.
• As the crystal oscillator is a sensitive component, do not place any magnetic components nearby that may
cause interference, for example large inductance component, and ensure that there is a clean large-area
ground plane around the crystal oscillator.
3.1.5 RF
• Four-layer PCB design
In a four-layer PCB design, the RF trace is routed as shown highlighted in pink in Figure 18. The characteristic
RF impedance must be 50 Ω. The ground plane on the adjacent layer needs to be complete. Make sure to
keep the width of the RF trace consistent, and do not branch the trace. The RF trace should be as short as
possible with dense ground via stitching around it for isolation.
However, there should be no vias for the RF trace. The RF trace should be routed at a 135° angle, or with
circular arcs if trace bends are required.
π-type matching circuitry should be reserved on the RF trace and placed close to the chip.
No high-frequency signal traces should be routed close to the RF trace. The RF antenna should be placed
away from high-frequency transmitting devices, such as crystal oscillators, DDR, and clocks (SDIO_CLK),
etc.
In addition, the USB port, USB-to-UART chip, UART signal lines (including traces, vias, test points, header
pins, etc.) must be as far away from the antenna as possible. It is good practice to add ground vias around
the UART signal line.
Other good practices for routing RF traces in four-layer PCB designs still apply to two-layer board designs.
3.1.7 External RC
External resistors and capacitors should be placed close to the chip pins, and there should be no vias around the
traces. Please ensure that 10 nF capacitors are placed close to the pins.
3.1.8 UART
The series resistor on the U0TXD line needs to be placed as close to the chip and away from the crystal oscillator
as possible. Figure 21 below shows an example of UART design.
In order to prevent capacitive coupling and other electrical interference to the sensitivity of the touch sensor system,
the following factors should be taken into account.
Electrode Pattern
The proper size and shape of an electrode improves system sensitivity. Round, oval, or shapes similar to a hu-
man fingertip is commonly applied. Large size or irregular shape might lead to incorrect responses from nearby
electrodes.
Note:
The examples illustrated in Figure 23 are not of actual scale. It is suggested that users use a human fingertip as reference.
• The trace width (W) can not be larger than 0.18 mm (7 mil).
• The traces should be isolated well and routed away from the antenna.
Note:
For more details on the hardware design of ESP32 touch sensor, please refer to ESP32 Touch Sensor Application Note.
The digital signals between the CPU and DDR are the main producers of the high-frequency noise that interferes
with Wi-Fi radio. Therefore, the following should be noted with regards to the PCB design.
• As can be seen in Figure 25, ESP32 should be placed near the edge of the PCB and away from the CPU
and DDR, the main high-frequency noise sources. The distance between the chip and the noise sources
decreases the interference and reduces the coupled noise.
• It is suggested that a series resistor be reserved on the six signal traces when ESP32 communicates with
the CPU via SDIO to decrease the drive current and any interference, and also to eliminate the sequencing
problem caused by the inconsistent length of the SDIO traces.
• On-board PCB antenna is not recommended, as it receives much interference and coupling noise, both of
which impact the RF performance. We suggest that you use an external antenna which should be directed
away from the PCB board via a cable, in order to weaken the high frequency interference with Wi-Fi.
• The high-frequency signal traces between the CPU and associated memory should be routed strictly ac-
cording to the routing guidelines (please refer to the DDR trace routing guidelines). We recommend that you
add ground vias around the CLK traces separately, and around the parallel data or address buses.
• The GND of the Wi-Fi circuit and that of other high-power devices should be separated and connected
through wires if there are high-power components, such as motors, in the design.
• The antenna should be kept away from high-frequency noise sources, such as LCD, HDMI, Camera Sensor,
USB, etc.
The current ripple has a strong impact on the RF TX performance. It should be noted that the ripple must be
tested when ESP32 is in the normal working mode. The ripple increases when the power gets high in a different
mode.
Generally, the peak-to-peak value of the ripple should be <80 mV when ESP32 sends MCS7@11n packets, and
<120 mV when ESP32 sends 11b/11m packets.
Solution:
Add a 10 µF filter capacitor to the branch of the power trace (the branch powering the ESP32 analog power
pin). The 10 µF capacitor should be as close to the analog power pin as possible for small and stable current
ripples.
The RF TX performance can be affected not only by power ripples, but also by the crystal oscillator itself. Poor
quality and big frequency offsets of the crystal oscillator decrease the RF TX performance. The crystal oscillator
clock may be corrupted by other interfering signals, such as high-speed output or input signals. In addition, high-
frequency signal traces, such as the SDIO trace and UART trace under the crystal oscillator, could also result in the
malfunction of the crystal oscillator. Besides, sensitive components or radiation components, such as inductors
and antennas, may also decrease the RF performance.
Solution:
This problem is caused by improper layout and can be solved by re-layout. Please see section 3 for details.
3.3.3 Q: When ESP32 sends data packages, the power value is much higher or lower
than the target power value, and the EVM is relatively poor.
Analysis:
The disparity between the tested value and the target value may be due to signal reflection caused by the impedance
mismatch on the transmission line connecting the RF pin and the antenna. Besides, the impedance mismatch will
affect the working state of the internal PA, making the PA prematurely access the saturated region in an abnormal
way. The EVM becomes poor as the signal distortion happens.
Solution:
Match the antenna’s impedance with the reserved π-type circuit on the RF trace, so that impedance of the antenna
as seen from the RF pin matches closely with that of the chip. This reduces reflections to the minimum.
Good TX performance indicates proper RF impedance matching. External coupling to the antenna can affect the
RX performance. For instance, the crystal oscillator signal harmonics could couple to the antenna. If the TX and
RX traces of UART cross over with RF trace, then, they will affect the RX performance, as well. If ESP32 serves
as a slave device, there will be other high-frequency interference sources on the board, which may affect the Rx
performance.
Solution:
Keep the antenna away from crystal oscillators. Do not route high-frequency signal traces close to the RF trace.
High performance digital circuitry should be placed away from the RF block on large board designs. Please see
section 3 for details.
For a list of the latest versions of ESP32 modules and development boards, please refer to ESP32 Modules and
Boards.
To review module reference designs please check Documentation section of Espressif website.
• The module uses one single pin as the power supply pin. Users can connect the module to a 3.3 V power
supply. The 3.3 V power supply works both for the analog circuit and the digital circuit.
• The EN pin is used for enabling the chip. Set the EN pin high for normal working mode. There is no RC
delay circuit on the module. It is recommended that users add an external RC delay circuit to the module.
For details please refer to Section 2.2.
• Lead the GND, RXD, TXD pins out and connect them to a USB-to-UART tool for firmware download, log-
printing and communication.
By default, the initial firmware has already been downloaded in the flash. If users need to re-download the firmware,
they should follow the steps below:
1. Set the module to UART Download mode by pulling IO0 (pulled up by default) and IO2 (pulled down by
default) low. The chip IOs are pulled down internally by default.
2. Power on the module and check through the serial terminal if the UART Download mode is enabled.
4. After downloading, pull IO0 high or just leave it floating and use the internal weak pull-up to enable the SPI
Boot mode.
5. Power on the module again. The chip will read and execute the firmware during initialization.
Notice:
• During the whole process, users can check the status of the chip with the log printed through UART. If the firmware
cannot be downloaded or executed, users can check if the working mode is normal during the chip initialization by
looking at the log.
• The serial tool cannot be used for both the log-print and flash-download tools simultaneously.
• Various mainstream, both lossy and lossless, compressed audio formats, including M4A, AAC, FLAC, OGG,
OPUS, MP3, etc.
• BLE network configuration, and smart network configuration with apps, such as WeChat.
• Two microphones for the development of near-field and far-field voice recognition applications.
Figure 26 and 27 show the top view and bottom view of ESP32-LyraT.
• Access to multiple cloud platforms including DuerOS, Amazon, Tmall Genie, Turing, JD and iFLYTEK.
• Three digital MICs support far-field voice pick-up (from a distance of one to five meters).
• The dual-board design integrates an LED light strip and fully-functional buttons.
• Multiple audio formats including M4A, AAC, FLAC, OGG, OPUS, MP3, AMR.
Note:
Espressif provides design guidelines for audio products based on ESP32. For details please refer to
ESP32 Audio Design Guidelines.
ESP32-MeshKit-Lights are smart lights besed on ESP-Mesh. Users can control the lights either with the ESP-Mesh
app, or the ESP32-MeshKit-Sense board that automatically switches on/off the lights by sensing the surrounding
temperature. ESP32-MeshKit-Lights also supports secondary development.
ESP32-MeshKit-Sense is a development board with an ESP32 module at its core. It integrates a temperature and
humidity sensor and an ambient light sensor. The board can be connected to display screens. The integrated
sensors on the board can automatically switch on/off the ESP32-MeshKit-Lights by sensing the surrounding en-
vironment. Apart from smart lights, the development board can also form a mesh network with other devices.
In addition, the ESP32-MeshKit-Sense development board is a low-power sensing solution that can be used to
detect the current consumption of ESP32 modules in a normal operation state or in sleep mode, when connected
to different peripherals. Figure 31 shows an ESP32-MeshKit-Sense development board.
Revision History