Espressif Systems ESP Installation guide

ESP-FAQ Handbook
Release master
Espressif Systems
Aug 24, 2023

Table of contents
Table of contents i
1 Instruction 3
1.1 Question search ............................................ 3
1.1.1 Question Search Techniques ................................. 3
1.1.2 Question Classication Categories .............................. 4
1.2 Document contribution ........................................ 4
1.2.1 Commit process ....................................... 4
1.2.2 Create a new branch ..................................... 4
1.2.3 Branch naming conventions ................................. 5
1.2.4 Q&A Guidelines ...................................... 5
1.2.5 Local build environment ................................... 6
1.2.6 Commit message standards ................................. 7
1.2.7 Submit a merge request ................................... 7
2 Development environment 9
2.1 IDE plugins .............................................. 9
2.1.1 How to add ESP32 development board on Arduino IDE? .................. 9
2.1.2 When using the Arduino IDE development platform, how to read the MAC address of the
Wi-Fi that comes with ESP32? ............................... 9
2.1.3 How to use the ash download tool to ash the bin le generated by Arduino to ESP32? . 9
2.2 Debugging .............................................. 9
2.2.1 What is the serial port name of ESP devices?....................... 10
2.2.2 How to block debugging messages sent through UART0 by default in ESP32? ....... 10
2.2.3 How to modify the default method of RF calibration in ESP32? .............. 10
2.2.4 How to modify the default method of RF calibration in ESP8266? ............. 10
2.2.5 How to troubleshoot in ESP32 Boot mode?........................ 11
2.2.6 When debugging with ESP32 JLINK, an ERROR occurs as: No Symbols For Freertos.
How can I resolve such issue? ................................ 11
2.2.7 How to monitor the free space of the task stack? ...................... 11
2.2.8 Is it possible to use JTAG to debug with ESP32-S2?................... 11
2.2.9 How to modify the log output without changing the output level of menucong?. . . . . 11
2.2.10 ESP8266 enters boot mode (2,7) and hits a watchdog reset. What could be wrong? . . . . 12
2.2.11 When using the ESP-WROVER-KIT board with OpenOCD, an error occurred as: Can’t
nd board/esp32-wrover-kit-3.3v.cfg. How can I resolve such issue? ............ 12
2.2.12 The RTC_watch_dog keeps resetting during ESP32 SPI boot. What could be the reason? . 12
2.2.13 How to obtain and parse coredump with ESP32? ...................... 12
2.2.14 How to do RF performance test with ESP32, ESP8266, and ESP32S2? .......... 13
2.2.15 My PC cannot recognize the device connected in Win10 system. What could be the reason? 13
2.2.16 One error occurred with ESP32 as: Core 1 paniced (Cache disabled but cache memory
region accessed). What could be the reason? ........................ 13
2.2.17 How to read the ash model information of the modules? ................. 13
2.2.18 When debugging the Ethernet Example in ESP-IDF, the following exception log appears.
How can I resolve such issue? ................................ 13
2.2.19 I found a “Brownout detector was triggered”failure on my ESP32. How to resolve such
issue? ............................................ 14
i

2.2.20 After imported the protocol_examples_common.h header le, how come it cannot be found
while compling? ....................................... 14
2.2.21 When using ESP8266 NonOS v3.0 SDK, the following error occurred. What could be the
reason? ........................................... 14
2.3 Environment setup .......................................... 14
2.3.1 When setting up ESP32-S2 environment using command idf.py set-target
esp32s2, an error occurred as “Error: No such command ‘set-target’”. What could
be the reason? ........................................ 14
2.3.2 When installing ESP-IDF version master using ESP-IDF Tools 2.3 in Windows system, an
error occurred as: Installation has failed with exit code 2. What could be the reason? . . . 15
2.3.3 When setting up environment using esp-idf-tools-setup-2.3.exe on Windows, errors oc-
curred when make menuconfig is executed: ...................... 15
2.3.4 When using esp-idf-tools-setup-2.2.exe in Windows system, a python error occurred during
the installation: ....................................... 15
2.3.5 What should I do if I get Download failed: security channel support
error when installing build environment in the Windows system? ............ 15
2.3.6 When executing export.bat in Windows system, what should I do if I get CMake and gdbgui
version errors? ........................................ 15
2.3.7 Errors occurred when using idf.menucong and idf.build after updating the ESP-IDF ver-
sion from v3.3 to the latest one: ............................... 16
2.3.8 How to congure PATH and IDF_PATH when developing ESP32 and ESP8266 simulta-
neously? ........................................... 16
2.3.9 Do I need to use command idf.py set-target every time when switching to another
project? ........................................... 16
2.3.10 How to know the version of ESP-IDF, is it recorded in a certain document? ........ 17
2.3.11 How to optimize ESP-IDF compilation in Windows environment? ............. 17
2.3.12 Is there an esptool that can be used directly on Windows? ................. 17
2.4 Firmware update ........................................... 17
2.4.1 How does the host MCU ash ESP32 via serial interfaces? ................. 17
2.4.2 How to download rmware for ESP32 series modules using the USB-Serial tool? . . . . . 17
2.4.3 How to ash rmware in macOS and Linux systems? .................... 18
2.4.4 Does ESP32 support programming using JTAG pins directly? ............... 18
2.4.5 Does ESP_Flash_Downloader_Tool support customized programming control?. . . . . 18
2.4.6 Can I enable the Security Boot function for ESP32 via OTA? ............... 18
2.4.7 How to resolve the following error occured when ashing rmware to ESP32-S2 based on
ESP-IDF v4.1? ....................................... 18
2.4.8 How to download rmware based on ESP-IDF using ash_download_tool? ........ 19
2.4.9 What is the communication protocol for ashing ESP chips? ................ 19
2.4.10 How to program ESP32-C3’s rmware oine? ...................... 19
2.4.11 How does ESP32 set Flash SPI to QIO mode? ....................... 19
2.4.12 After downloading program and powering on EPS8266, the serial port printed the following
log. What is the reason? ................................... 19
2.4.13 What are the Espressif module programming tools? .................... 20
2.4.14 What is the dierence between the Factory mode and Developer mode of the ash download
tool? ............................................. 20
2.4.15 Why does the programming failed for the jig with a 4-port hub in factory mode ? . . . . . 20
2.4.16 I’m using an ESP32-WROVER-B module to download the AT rmware via the ash
download tool. However, an error occurred after writing to ash. But the same operation
succeeded when replacing the module with ESP32-WEOVER-E, what is the reason? . . . 20
2.4.17 The encrypted device cannot be re-ashed via the ash download tool. What could be the
reason? ........................................... 21
2.4.18 When updating ESP32 rmware through UART interface based on esptool serial port pro-
tocol, can I add a new app partation? ............................ 21
2.4.19 I am using ESP8266 to download the rmware via ash download tool. After downloading
the rmware, there is no programming output log, and the serial port printed the following
messages. What could be the reason? ............................ 21
2.4.20 Why does my USB driver failed to be recognized by the Windows7 system? ........ 21
ii

2.4.21 After using the ESP32-WROVER-E module to download the program, the following log
is printed after powered on. What could be the reason? ................... 21
2.4.22 When using the Flash Download Tools to ash ESP32-C3 via USB, 8-download data fail
occurs repeatedly. How can I solve it? ........................... 21
3 application solution 23
3.1 Android application .......................................... 23
3.2 Articial intelligence ......................................... 23
3.2.1 What types of cameras are supported on AI image recognition products? ......... 23
3.2.2 Which versions of ESP-IDF are supported by ESP-WHO? ................. 23
3.2.3 Is there any information about the WeChat mini program of ESP-EYE? .......... 23
3.2.4 What languages are supported by the esp-skainet demo? .................. 23
3.2.5 What model frameworks does ESP-DL support? ...................... 24
3.2.6 Does ESP-DL support all models of the three platforms mentioned above (mxnet, pytorch,
and tensorow)? ....................................... 24
3.2.7 Can the model les of ESP-SKAINET be stored in the SD card? .............. 24
3.2.8 How to customize command words in ESP-SKAINET? .................. 24
3.2.9 How to reduce the system footprint of AI speech models? ................. 24
3.2.10 What is the dierence between a 16-bit quantization model and an 8-bit quantization model? 24
3.2.11 How does the AI voice model modify the number of microphone channels? ........ 24
3.2.12 How do I get the actual audio captured in the development board? ............. 24
3.2.13 Do you have relevant study materials for ESP-SR GitHub? ................. 25
3.2.14 Do you have relevant study materials for ESP-DL? ..................... 25
3.2.15 How does ESP32-S3 customize English command words for recognition? ......... 25
3.3 AT .................................................. 25
3.4 Audio development framework .................................... 25
3.4.1 What is the maximum power of supported speakers for ESP32 series audio development
board? ............................................ 25
3.4.2 Does Alexa solution have certain requirements for environmental noise? .......... 25
3.4.3 There is an AUX input on the ESP32 AI development board, can MIC be used to pick up
the sound? .......................................... 25
3.4.4 When using ESP32-WROVER-B module + ES8311 to design audio development board,
which pins can be selected for MCLK clock? ........................ 26
3.4.5 Can ESP32-WROVER-E module use one I2S line to realize simultaneous broadcasting
and recording? ........................................ 26
3.4.6 Do Espressif modules support Spotify Connect? ...................... 26
3.4.7 When running the korvo_du1906 example on an ESP32-Korvo-DU1906 board, a reboot
caused the following error message: Guru Meditation Error: Core 0 panic’ed (IllegalIn-
struction). Exception was unhandled. How to resolve such issue? .............. 26
3.4.8 Can ESP-DSP t run 4096, 8192 and more samples? ................... 27
3.4.9 How to connect a microphone with ESP32? ........................ 27
3.4.10 Does ESP32 support analog audio output or digital audio output? ............. 27
3.4.11 What audio formats does the ESP32 chip support? ..................... 27
3.4.12 How to use the ESP32 chip to decode compressed audio? ................. 27
3.4.13 Where is the code example for ESP-LED-Strip? ...................... 27
3.4.14 Does ESP32 support online voice recognition? ....................... 27
3.5 BLE Mesh development framework ................................. 27
3.5.1 What is the maximum data transmission load for Bluetooth® LE (BLE) mesh? . . . . . . 28
3.5.2 Could you provide an example of networking through ESP32 BLE-Mesh? What APP can
be used for BLE-Mesh networking? ............................. 28
3.5.3 For unprovisioned device in BLE-MESH, the default name is ESP-BLE-MESH, how to
modify this name? ...................................... 28
3.5.4 How many node devices can ESP32’s BLE-MESH application connect to? ....... 28
3.5.5 How can I manually reset a BLE mesh device without the mobile provisioning app or pro-
visioning device? ...................................... 28
3.5.6 After running the BLE MESH program for a long time on ESP32, it found that a seg-
mentation fault occurs when the client sends a message to the server and printed NO
multi-segment messsage contexts available. How to handle the fault? . 28
iii

3.5.7 Can I turn o network keys and IV updates when using the ESP32 BLE Mesh application? 28
3.6 Camera application .......................................... 29
3.6.1 What type of camera does the ESP32 series chips support? ................. 29
3.6.2 Where is the factory rmware of ESP-EYE? ........................ 29
3.6.3 Does ESP32 support the camera with a 12-bit DVP interface? ............... 29
3.6.4 Does ESP32 support acquiring JPEG images using a camera without JEPG encoding? . . 29
3.6.5 Can the 2-megapixel OV2640 camera on the ESP-EYE be changed to only output 0.3-
megapixel images? ...................................... 29
3.6.6 Does ESP32 support a global shutter camera? ....................... 29
3.6.7 What is the frame rate when ESP32 transfers 1080P video via RTSP using the DVP camera? 29
3.6.8 ESP32-S3 only supports MJPEG encoding, but H264/H265 format encoding is needed
when implementing rtsp/rtmp streaming. Is there any encoding that supports H264/H265
format? ........................................... 30
3.6.9 Does ESP32/ESP32-S3 have a camera that supports wide-angle? ............. 30
3.6.10 It takes 5 seconds for ESP32-S2 to display the camera image from power-on. Can it be
improved? .......................................... 30
3.6.11 Can ESP32 directly provide 24 MHz frequency to GC0308 camera? ............ 30
3.6.12 Does ESP32/ESP32-S3 support MMS streaming protocol? ................. 30
3.6.13 When debugging the GC2145 camera with ESP32-S3, the maximum supported resolution
seems to be 1024x768. If it is adjusted to a larger resolution, such as 1280x720, it will
print cam_hal: EV-EOF-OVF error. How to solve this issue? ................ 30
3.6.14 Does ESP32-S3 support GB28181 protocol? ........................ 30
3.6.15 Is there any reference for ESP32/ESP32-S2/ESP32-S3 to recognize the QR code through
the camera? ......................................... 31
3.6.16 When adding the SD-card interface and camera interface for OV5640 sensor, we found
that some pins of dierent ESP32 drivers conicted with each other. Please suggest pins
for the camera interface and SD-card interface. ....................... 31
3.6.17 Can a driver for a specic camera model be added if the currently supported camera sensors
do not meet my requirements? ............................... 31
3.6.18 How to add a custom resolution? .............................. 31
3.6.19 How to modify the register conguration of a camera sensor? ............... 31
3.6.20 What triggers “cam_hal: EV-VSYNC-OVF”in esp32-camera? ............. 32
3.7 Community sw and platforms ..................................... 32
3.8 ESP Matter .............................................. 32
3.8.1 Which ESP modules can be connected to Matter? ..................... 32
3.8.2 What learning materials are available to get started with ESP Matter? ........... 32
3.8.3 Can I compile and develop ESP Matter on Windows? ................... 32
3.8.4 Where can I nd the Matter protocol documentation? ................... 32
3.8.5 How to register an ESP Matter product? .......................... 33
3.8.6 When using Ubuntu virtual machine to develop ESP Matter on ESP32-C3, network pro-
visioning failed when I followed the Matter ocial tutorial. What could be the reason? . . 33
3.8.7 How to apply for a Matter DAC? .............................. 33
3.8.8 Does ESP Matter have a test tool/test app? ......................... 33
3.8.9 Matter needs to use DCL in the network provision process. What is the specic function
of DCL? ........................................... 33
3.8.10 How to connect our Zigbee-based products with Matter through ESP chip? ........ 33
3.8.11 Does Matter work with Samsung’s smartthings? ..................... 34
3.8.12 Can Matter-enabled ESP devices be remotely controlled using Amazon/Google/Apple
voice devices? Do these voice devices need to support the Matter protocol? (For example:
Saying “Turn o the light”to turn o the lights in the house) .............. 34
3.8.13 Does the product need to pass WiFi authentication and Bluetooth BQB authentication be-
fore submitting the Matter authentication? ......................... 34
3.8.14 Where is the DAC (Device Attestation Certicate) pre-imported by ESP Matter module
stored? ............................................ 34
3.8.15 Can I congure Wi-Fi of ESP32 Matter devices by BLE?................. 34
3.9 ESP-NOW .............................................. 34
3.9.1 What is the one-to-one bit rate for ESP32 in ESP-NOW mode?............. 35
3.9.2 What is ESP-NOW? What are its advantages and application scenarios? .......... 35
iv

3.9.3 Can Wi-Fi be used with ESP-NOW at the same time? ................... 35
3.9.4 How do I set the rate at which ESP-NOW data is sent? ................... 35
3.9.5 ESP-NOW allows pairing with a maximum of 20 devices. Is there a way to control more
devices? ........................................... 35
3.9.6 What is the maximum number of devices that can be controlled by ESP-NOW? . . . . . . 35
3.9.7 Do I need to connect a router for communication between ESP-NOW devices? . . . . . . 36
3.9.8 Why does ESP-NOW limit the data length of each packet to 250 bytes? Can it be congured? 36
3.9.9 What should I pay attention to when using ESP-NOW applications? ............ 36
3.9.10 How can I reduce power consumption when using ESP-NOW? ............... 36
3.9.11 In addition to wireless communication through ESP-NOW, is there any other better way to
realize one-to-one and one-to-many communication? .................... 36
3.9.12 Do ESP-NOW applications support sending packets over each Wi-Fi channel? . . . . . . 37
3.9.13 Are there any special procedures required if I intend to use ESP-NOW for commercial
purposes? Could you provide technical documentation on ESP-NOW? To evaluate the
quality of wireless communication, I would like to know relevant information about pa-
rameters including CSMA/CA, modulation method, and bit rate. .............. 37
3.9.14 I tested the application esp-idf/examples/wi/espnow using ESP32. Does it only support
connecting to 7 encrypted devices at the maximum? .................... 37
3.10 ESP RainMaker cloud service .................................... 37
3.11 ios application ............................................ 37
3.12 Third party cloud service ....................................... 37
3.12.1 Are there any examples for OTA upgrading? ........................ 37
3.12.2 Does ESP Azure library support Azure IoT Central? Is there an example? ......... 38
3.12.3 What should I do to connect ESP32 to Alibaba Cloud via ESP32 + Ethernet + MQTT? . . 38
3.12.4 what do Alexa LED states indicate? ............................. 38
3.13 ESP-WIFI-MESH development framework ............................. 38
3.13.1 What is the maximum data transmission load for Wi-Fi mesh? ............... 38
3.13.2 Does ESP32’s Wi-Fi Mesh supports No Router self-networking? ............ 38
3.13.3 What is the maximum number of node layers allowed when ESP32 uses Wi-Fi Mesh? . . 38
3.13.4 When using an ESP32 development board to test the esp-
mdf/examples/function_demo/mwi/router example, After ESP32 is connected to
the router, the device name in connection is “espressif”. How to modify this name? . . 39
3.13.5 Can Wi-Fi Mesh send messages to specic nodes via TCP Server? ............. 39
3.13.6 During the operation of the ESP32 Wi-Fi Mesh network, if the Root node is lost, what
events will the system report back? ............................. 39
3.13.7 I’m using ESP32 for Wi-Fi Mesh application with the esp_mesh_send() function,
but the server did not receive any data. How to transfer data from leaf nodes to external
servers? ........................................... 39
3.13.8 How do I upgrade my ESP-MESH device via OTA after networking? ........... 39
3.13.9 Can you provide ESP-MESH light reference design? .................... 39
3.13.10 What is the default mode for ESP-MESH nodes without any conguration? ........ 40
3.13.11 ESP-MESH starts with AP+STA mode enabled, can the phone search for APs? . . . . . . 40
3.13.12 Do I need to rescan for all the newly added devices when the original device has already
been networked? ...................................... 40
3.13.13 When using an ESP32 as a master device to synchronize time for multiple slave devices,
can the time error be less than 2 ms? ............................ 40
3.13.14 How do I get the type of the node in ESP-MESH? ..................... 40
3.13.15 Is there any demo of ESP-Mesh root node sending messages to a service via ethernet? . . 40
3.13.16 Does the esp-mesh-lite solution support the applications without routers? ......... 40
3.13.17 When esp-wifi-mesh is already networked, does the root or node device can also
enable Wi-Fi Scan to scan surrounding available AP information? ............. 41
3.13.18 How can I switch to a new router for networking when using the esp-wifi-mesh
router solution? ...................................... 41
4 Software framework 43
4.1 Bluetooth LE & Bluetooth ...................................... 43
4.1.1 When porting example gatt_server, an error occurred indicating head le does not exist.
What could be the reasons? ................................. 43
v

4.1.2 Does ESP32 support Bluetooth 5.0? ............................ 43
4.1.3 After the Bluetooth® LE starts advertising, why some mobile phones cannot successfully
scan them? ......................................... 43
4.1.4 Can I process OTA through Bluetooth® on ESP32? .................... 44
4.1.5 How do ESP32 Bluetooth® and Bluetooth® LE dual-mode coexist and how can I use this
coexistence mode? ..................................... 44
4.1.6 What is the throughput of ESP32 Bluetooth® LE? ..................... 44
4.1.7 Does ESP32 support Bluetooth® 4.2 DLE (Data Length Extension)?........... 44
4.1.8 How do ESP32 Bluetooth® and Wi-Fi coexist? ...................... 44
4.1.9 How can I get ESP32 Bluetooth® Compatibility Test Report? ............... 44
4.1.10 What is the transmit power of ESP32 Bluetooth®? ..................... 45
4.1.11 Could ESP32 realize bridging between Wi-Fi and Bluetooth® LE? ............ 45
4.1.12 What is the operating current of ESP32 Bluetooth® LE? .................. 45
4.1.13 What kinds of Bluetooth® LE proles does ESP32 support? ................ 45
4.1.14 How do I connect mobile phones and play music using ESP32 Bluetooth®? ........ 45
4.1.15 How is the ESP32 SPP performance? ............................ 45
4.1.16 What is the maximum transmission rate for ESP32 Bluetooth® LE? ............ 46
4.1.17 How does ESP32 Bluetooth® LE enter Light-sleep mode? ................. 46
4.1.18 Are there any documentation references for ESP32 BluFi networking? ........... 46
4.1.19 What is the maximum transmission rate for ESP32 Classic Bluetooth® SPP? ....... 46
4.1.20 Is ESP32 Bluetooth® compatible to Bluetooth® ver2.1 + EDR protocol? ......... 47
4.1.21 How many Bluetooth® clients can be connected to ESP32? ................ 47
4.1.22 How can I get the MAC address of Bluetooth® devices for ESP32? ............ 47
4.1.23 What is the default Bluetooth® transmit power for ESP32 SDK? ............. 47
4.1.24 Is it possible to use Wi-Fi Smartcong and Bluetooth® LE Mesh for ESP32 simultaneously? 47
4.1.25 What is the operating current for ESP32 Classic Bluetooth®?.............. 47
4.1.26 How can I modify the transmit power for ESP32 Bluetooth®?.............. 48
4.1.27 How is the networking compatibility of ESP32 Bluetooth® LE? Is it open-sourced? . . . 48
4.1.28 When I execute example bt_spp_acceptor on ESP32, the IOS device cannot nd the ESP32
device during scanning. What could be the reasons? .................... 48
4.1.29 How is the security of ESP32 Bluetooth® LE/Bluetooth® Secure Simple Pairing (SSP)
compared to legacy pairing? ................................. 48
4.1.30 How can I conrm the MTU size of ESP32 Bluetooth® LE? ................ 48
4.1.31 When advertising in ESP32 Bluetooth® LE mode, an error occurred as “W (17370)
BT_BTM: data exceed max adv packet length”. How can I resolve such issue? . . . . . . 48
4.1.32 Does ESP32 Bluetooth® LE support Client-Server mode, in which gatt server and gatt
client can coexist? ...................................... 49
4.1.33 What are the risks if there are over six devices connected to ESP32 Bluetooth® LE? . . . 49
4.1.34 When using ESP32 device as the server of Bluetooth® LE, how many client devices can
be connected? ........................................ 49
4.1.35 How can I send les via Bluetooth® BR/EDR for ESP32? ................. 49
4.1.36 When I download example ESP_SPP_SERVER for ESP32, how can I modify the name
of the Bluetooth® device? ................................. 49
4.1.37 When I use the “BluFi”example to congure network for ESP32, the Wi-Fi cannot be
connected during the distribution process via the EspBluFi application since a wrong Wi-Fi
has been congured. Then the device is restarted after sending a SCAN command from
the application. What is the reason? ............................. 50
4.1.38 How can I specify a BLE connection/transmit operation to run on core 0 when I use ESP32? 50
4.1.39 When I set name for the bluetooth of an ESP32 device using Chinese characters, messy
code shows instead. What is the reason?.......................... 50
4.1.40 When I upload sub-packages to the Bluetooth channel using ESP32, the maximum trans-
mission data length of a packet is 253 (MTU is set to 263). This results in slower trans-
mission when a large number of data packets are transmitted for multi-packet reading. Is
there a BluFi extension protocol that can support the transmission of a larger length of data
in one packet, or are there other solutions to increase the transmission rate? ........ 50
4.1.41 What prole does ESP32’s classic Bluetooth® support? ................. 51
4.1.42 How many stable connections can be reached for ESP32-C3’s Bluetooth® LE (BLE)? . 51
4.1.43 How can I adjust the BLE advertising interval? ....................... 51
vi

4.1.44 How can I input the PIN code via mobile phone during ESP32’s Classic Bluetooth Pairing
mode? ............................................ 51
4.1.45 How much memory does ESP32 Bluetooth occupy? .................... 51
4.1.46 When I use the “gattc_gatts_coex.c”example on ESP32 to test BLE multi-connection,
it can only connect to four devices even after I set the BLE Max connections in
menuconfig to ve. What is the reason? ......................... 52
4.1.47 Does ESP32-C3 BLE support master and slave mode at the same time? What is the number
of connections in master mode and slave mode? ...................... 52
4.1.48 What is the maximum MTU Size of ESP32 Classic Bluetooth? .............. 52
4.1.49 How can I resolve the frequently occurred ELxXX error (such as ELx200) when Wi-Fi and
Ble co-exit?........................................ 52
4.1.50 How does BLE capture packets? .............................. 52
4.1.51 When I use an ESP32 development board to test several versions of blue example under
ESP-IDF for networking, the following error kept printing. What is the reason? . . . . . . 53
4.1.52 When I use ESP32, can Light-sleep mode be enabled for Bluetooth and can Bluetooth be
kept connected in Light-sleep mode? ............................ 53
4.1.53 How can I modify the Bluetooth device name of ESP32? .................. 53
4.1.54 What is the maximum supported broadcast length of BLE 5.0 broadcast after it is set to
legacy mode? ........................................ 54
4.1.55 How can I set a BLE broadcast package as unconnectable package? ............ 54
4.1.56 How can I send Bluetooth HCI commands directly to ESP32-WROOM-32D module
through the serial port? ................................... 54
4.1.57 Does ESP32 support transmitting audio stream using A2DP? ............... 54
4.1.58 How many devices can be connected at the most as suggested by the White List of ESP32
Bluetooth LE? ........................................ 54
4.1.59 Can ESP32 Bluetooth LE use PSRAM? .......................... 54
4.1.60 When using ESP32-C3 BLE Scan, can I set it to only scan the Long Range devices? . . . 55
4.1.61 Is there a limit to the name length of ESP32 as a Bluetooth device? ............ 55
4.1.62 How do I set the ESP32 BLE Scan to the permanent scan without generating a timeout? . 55
4.1.63 How can I get RSSI of BLE devices through ESP32? .................... 55
4.1.64 How can I increase the transmission distance of BLE5.0? How can I set BLE5.0 to long-
range mode? ......................................... 55
4.1.65 I have changed the name of the Bluetooth device with esp_ble_gap_set_device_name() in
ESP32-C3. It works for Android devices and the customized device name can be shown.
However, it does not work on IOS devices. The device name is still the default Bluetooth
name. How can I make it work on Apple devices as well? ................. 56
4.1.66 I want to use two ESP32 development boards to test the Bluetooth connection. How
can I set the specied key to automatically connect them with gatt_security_client and
gatt_security_server examples? ............................... 56
4.1.67 After setting gatt_security_server to ESP_IO_CAP_OUT mode and setting
gatt_security_client to ESP_IO_CAP_OUT mode, I deliberately set the wrong passkey.
However, the two development boards can still be connected. What is the reason? . . . . . 56
4.1.68 Does ESP32-C3/ESP32-C6/ESP32-S3 support Bluetooth AOA/AOD? .......... 56
4.1.69 What is the maximum length of data in a BLE advertising packet supported by ESP32-C3
with the BLE5.0 feature? .................................. 57
4.1.70 Does ESP32 have any API to check whether BLE advertising has started or stopped? . . . 57
4.2 Ethernet ................................................ 57
4.2.1 When building an example on ESP32 Ethernet development board, an error occurred as
“emac: Reset EMAC Timeout”. What could be the reasons? ............... 57
4.2.2 When ESP32 connected to LAN8720 externally, with GPIO0 providing CLK, the initial-
ization of Ethernet example failed. How to resolve such issue? ............... 57
4.2.3 When using the Ethernet example in ESP-IDF, an error occurred as “Timed out waiting
for PHY register 0x3 to have value 0xc0f0 (mask 0xf0). Current value 0x”. How to
resolve such issue? ...................................... 58
4.2.4 When using ESP-IDF v4.1, how to set the static IP for ESP32 Ethernet? .......... 58
4.2.5 Is there any impact on Ethernet functionality if replacing the module of ESP32-Ethernet-
Kit with ESP32-WROOM-32D? .............................. 59
vii

4.2.6 When using ESP32 to design a self-developed Ethernet board, after downloaded the ocial
esp-idf/examples/ethernet example, errors are reported as follows, what is the reason? . . . 59
4.2.7 When Ethernet and Wi-Fi co-exist, is Ethernet prioritized to transfer data? ........ 60
4.2.8 Does ESP32 Ethernet support MII interface? ........................ 60
4.2.9 Is it possible to connect ESP32-S2 to Ethernet externally? ................. 60
4.2.10 Do the ESP32 series chips support to use EMAC and SPI-Ethernet modules simultaneously? 60
4.3 coexistence .............................................. 60
4.3.1 When Wi-Fi coexists with Bluetooth, what mode does it support? ............. 60
4.3.2 When Wi-Fi coexists with ESP-BLE-MESH, the Wi-Fi throughput is low, why? . . . . . 61
4.3.3 Does ESP32 support coexistence between ESP-WIFI-MESH and Bluetooth® LE Mesh? . 61
4.3.4 Does ESP32 support coexistence between Bluetooth® and Wi-Fi? ............. 61
4.3.5 When Wi-Fi, Bluetooth® LE, and A2DP sink coexist, audio data reception is lost and
lagged while entering Bluetooth LE scanning. How to resolve such issue? ......... 61
4.3.6 Can BLE advertising (Connectable) and iBeacon sending (advertising) coexist? . . . . . . 61
4.4 Peripherals .............................................. 62
4.4.1 Analog-to-Digital Converter (ADC) ............................. 62
4.4.2 Digital-to-Analog Converter (DAC) ............................. 65
4.4.3 GPIO & RTC GPIO .................................... 65
4.4.4 Inter-Integrated Circuit (I2C) ................................ 67
4.4.5 Inter-IC Sound (I2S) .................................... 68
4.4.6 LCD ............................................. 69
4.4.7 LED Control (LEDC) .................................... 72
4.4.8 Motor Control Pulse Width Modulator (MCPWM) ..................... 73
4.4.9 Pulse Counter (PCNT) ................................... 73
4.4.10 Remote Control Transceiver (RMT) ............................ 74
4.4.11 Secure Digital Input Output (SDIO) ............................. 76
4.4.12 Serial Peripheral Interface (SPI) ............................... 77
4.4.13 Timer ............................................ 80
4.4.14 Touch Sensor ........................................ 80
4.4.15 Two-Wire Automotive Interface (TWAI) .......................... 81
4.4.16 Universal Asynchronous Receiver/Transmitter (UART) .................. 81
4.4.17 USB ............................................. 84
4.4.18 Other Peripherals ...................................... 89
4.5 Protocols ............................................... 90
4.5.1 ESP-TLS .......................................... 90
4.5.2 HTTP ............................................ 91
4.5.3 lwIP ............................................. 92
4.5.4 Mbed TLS .......................................... 99
4.5.5 MQTT ............................................100
4.5.6 Other Protocols .......................................102
4.6 Provisioning .............................................104
4.6.1 Can I add any broadcast data I want to Android ESP-Touch (e.g., add a device ID so that
ESP32 can receive this ID)? .................................104
4.7 Security ................................................104
4.7.1 Is the rmware in ESP8266 readable? ............................104
4.7.2 Is it possible to encrypt rmware for ESP8285? ......................105
4.7.3 What is the dierence between secure boot v1 and v2? ...................105
4.7.4 After enabling secure boot, there is a build error indicating missing les. What could be
the reasons?........................................105
4.7.5 After enabling secure boot, is it possible for modules to be ashed again? .........105
4.7.6 With ash encryption enabled, a module reports an error as flash read error after
reashed. How to resolve such issue? ............................105
4.7.7 After enabling ash encryption and secure boot for ESP32, how to disable them? . . . . . 106
4.7.8 Is there any security strategy for ESP32 to protect its rmware? ..............106
4.7.9 When ESP32 debugging GDB after enabling ash encryption, why does it continuously
reset and restart? ......................................106
4.7.10 How to enable ash encryption for ESP32? .........................106
viii

4.7.11 After GPIO0 is pulled down, the ESP32 cannot enter download mode and prints“download
mode is disable”. What could be the reason? .......................106
4.7.12 Can the secure boot function be enabled for ESP32 in Arduino development environment? 106
4.7.13 What are the use scenarios for secure boot and ash encryption? ..............107
4.7.14 What are the data stored in eFuse involved in secure boot and ash encryption? . . . . . . 107
4.7.15 Enabling secure boot failed with the log “Checksum failure”. How to x it? . . . . . . 107
4.7.16 NVS encryption failed to start and an error occurred as nvs: Failed to read NVS
security cfg: [0x1117] (ESP_ERR_NVS_CORRUPT_KEY_PART). How
can I solve this issue? ....................................107
4.7.17 After ash encryption was enabled, a warning occurred as esp_image: image at
0x520000 has invalid magic byte (nothing flashed here). How
can I solve this issue? ....................................107
4.7.18 Why is reltead data not encrypted after I enable CONFIG_EFUSE_VIRTUAL and ash
encryption? .........................................107
4.7.19 Can I update an app rmware which enables ash encryption in a device which does not
enable fash encryption through OTA? ............................107
4.7.20 How can I delete keys of secure boot? ...........................108
4.7.21 After I enabled secure boot or ash encryption (development mode), I cannot ash the new
rmware, and an error occured as Failed to enter Flash download mode.
How can I solve this issue? .................................108
4.7.22 After I input the command espefuse.py read_protect_efuse BLOCK3
command in the terminal congured with ESP-IDF to enable the read-protection
for Efuse BLOCK3, why is the data of the Efuse BLOCK3 all 0x00 when I input
esp_efuse_read_block() to read the Efuse BLOCK3? ..............108
4.7.23 How can I enable secure boot or ash encryption by pre-burning eFuse? ..........108
4.7.24 After enabling Secure Boot, why can’t I ash the new bootloader.bin using the idf.py build
command? ..........................................108
4.7.25 After enabling Secure Boot or ash encryption, how can I view the security-related infor-
mation in the device? ....................................108
4.7.26 After enabling Secure Boot or ash encryption, what should I pay attention to during OTA
(Over-The-Air) updates? ..................................109
4.8 Storage ................................................109
4.8.1 FAT Filesystem .......................................109
4.8.2 Non-Volatile Storage (NVS) .................................110
4.8.3 PSRAM ...........................................111
4.8.4 SD/SDIO/MMC Driver ...................................113
4.8.5 SPI Flash ..........................................113
4.8.6 SPIFFS Filesystem .....................................115
4.8.7 Other Storages ........................................115
4.9 System ................................................116
4.9.1 My application does not really need the watchdog timer, can I disable it? ..........117
4.9.2 What are the dierences between RTOS SDK and Non-OS SDK? .............117
4.9.3 Why does the log output ets_main.c when ESP8266 starts? ................117
4.9.4 Why do I get compile errors when using IRAM_ATTR in Non-OS SDK? .........117
4.9.5 Where is main function in ESP8266? ............................117
4.9.6 Which part of ESP8266 partition-tables should be paid special attention to? ........118
4.9.7 Is it possible to compile the binaries in application layer and bottom layer separately? . . . 118
4.9.8 How can I to reduce the IRAM occupied by the ESP32 system? ..............118
4.9.9 How can I optimize the size of binary les compiled by ESP32? ..............118
4.9.10 How can I turn o log output in ESP32?.........................118
4.9.11 How to modify the GPIO used for log output on ESP32? ..................118
4.9.12 When ESP8266 is in Deep sleep mode, can the data stored in RTC Memory work? . . . . 119
4.9.13 What is the maximum length of the NVS Key for ESP32? .................119
4.9.14 Does the cJSON in ESP-IDF release/v4.2 support uint64_t data analysis? .........119
4.9.15 Given that the GDB debugging function is working before the ash encryption is disabled,
then why does the device keeps restarting during the GDB debugging after the ash en-
cryption is enabled? .....................................119
ix

4.9.16 While using mobile’s hotpot for an ESP32 to download the OTA rmware, after a few
seconds when turning of the hotspot and restarts ESP32, the program sticks in the OTA
operation (the same situation for plugging and unplugging the wan port network cable when
using a router), why? ....................................119
4.9.17 Which GPIOs can be used to wake up ESP32-C3 from Deep-Sleep mode? ........119
4.9.18 When using the ESP-WROOM-02D module with a battery for power supply, are there any
risks in frequently formatted reading and writing ash as the battery is low (the module
barely starts up)? ......................................120
4.9.19 How to check the maximum stack size used by a thread for ESP32? ............120
4.9.20 What is the meaning of the ”SW_CPU_RESET”log when using ESP32? ........120
4.9.21 For ESP32 products, when testing NVS separately, I found it occupies a lot of memory.
What is the reason? .....................................120
4.9.22 How do I change the system time of a module ? ......................121
4.9.23 During the OTA upgrade process, an ESP_ERR_OTA_VALIDATE_FAILED error oc-
curred after calling esp_ota_end, how to troubleshoot such issue? .............121
4.9.24 How does ESP8266-RTOS-SDK store data to RTC memory? ...............121
4.9.25 After waking up from Deep-sleep mode, where does ESP8266 start boot? .........121
4.9.26 When will the RTC clock be reset? .............................121
4.9.27 After using the AT+GSLP command to enter Deep-sleep mode for ESP32, can it be awak-
ened by pulling down the EN pin? ..............................121
4.9.28 When multiple threads want to use the watchdog of ESP32, should each thread enable the
watchdog individually? ...................................121
4.9.29 When using the release/v3.3 version of ESP8266-RTOS-SDK, how to enter Light-sleep
mode? ............................................122
4.9.30 How to wake up ESP8266 in Deep sleep mode? ......................122
4.9.31 When using the ESP32-WROVER module, there is a problem of battery jitter or abnormal
power-o and power-on, causing the system to crash and fail to wake up. What is the reason?122
4.9.32 How to ash a customized mac address? ..........................122
4.9.33 When ESP32 uses esp_timer, network communication or Bluetooth communication is ab-
normal. What is the reason? .................................122
4.9.34 With ESP32, are there any return instructions if I skip to a function using the jump in-
struction in ULP?.....................................123
4.9.35 How to adjust the warning level for project build? ......................123
4.9.36 The rmware compiled based on the ESP-IDF SDK varies as it contains the information
about IDF_PATH and compilation time. How to remove that information? ........123
4.9.37 When I downloaded the ocial application hello_world using ESP32-S3-DevKitM-1, the
following error occurred. What is the reason for that? ...................123
4.9.38 What is the accuracy of the internal 150 kHz RTC of ESP32 series chips? .........124
4.9.39 What versions of esp-idf SDK are supported by ESP32-D0WDR2-V3 chip? . . . . . . . 124
4.9.40 When I test OTA applications based on the ESP32 chip, can I delete the default factory
partition in the partition table and set the address of the OTA_0 partition to 0x10000? . . 124
4.9.41 Why can I not burn data to BLOCK3 of ESP32-C3 eFuse with espefuse.py
burn_key?........................................124
4.9.42 Why do dierent ESP32 modules have dierent ash erase time? .............124
4.9.43 Why I encountered the following error after I run the rmware based on the esp-idf SDK? 124
4.10 Wi-Fi .................................................125
4.10.1 Do ESP32 and ESP8266 support Chinese SSID for Wi-Fi? ................125
4.10.2 How much time does an ESP32 scan take? .........................125
4.10.3 [Scan] Do Espressif’s products support boundary scans? .................125
4.10.4 What is the denition for Wi-Fi channel? Can I select any channel of my choice? . . . . . 125
4.10.5 [LWIP] With ESP-IDF v4.1, how to congure ESP32’s IP address when it is in SoftAP
mode? ............................................126
4.10.6 [LWIP] How to congure ESP32’s static IP when it is in Station mode?........126
4.10.7 [LWIP] How to congure the Option contents of DHCP Server in ESP-IDF? . . . . . . . 126
4.10.8 [Performance] How to test the bit rate of Wi-Fi modules? .................127
4.10.9 [LWIP] What is the default IP address of ESP8266 SoftAP? ................127
4.10.10 [Connect] How many devices is ESP8266 able to connect in SoftAP mode? ........127
4.10.11 Do ESP8266/ESP32/ESP32-S2/S3/C2/C3 support web/SoftAP provisioning? . . . . . . . 128
x

4.10.12 [Connect] How do ESP8266 and ESP32 hide SSID in SoftAP mode? ...........128
4.10.13 Does the buer parameter in esp_wi_802.11_tx interface include FCS? .........128
4.10.14 What is the supported Wi-Fi frequency band and power meter for ESP-WROOM-32D? . 128
4.10.15 What is the maximum value of ESP32 Wi-Fi RF power?.................128
4.10.16 How does ESP32 adjust Wi-Fi TX power? .........................129
4.10.17 [Connect] How many devices is ESP32 able to connect in AP mode? ...........129
4.10.18 [Connect] How do Wi-Fi modules rank signal strength levels based on RSSI values?. . . 129
4.10.19 [Connect] Why does ESP32 disconnect from STA when it is in Soft-AP mode? . . . . . . 129
4.10.20 [Connect] While ESP32 connecting Wi-Fi, how can I determine the reason of failure by
error codes? .........................................130
4.10.21 Does ESP32 perform domain name resolution each time it connects to the server? . . . . 130
4.10.22 [Connect] What does the number after the state machine switch in Wi-Fi log mean? . . . 130
4.10.23 [Connect] What does bcn_timeout, ap_probe_send_start mean?.............131
4.10.24 [Connect] How to reconnect Wi-Fi after it disconnected? .................131
4.10.25 [Connect] When does ESP32 disconnect from SoftAP in station mode?.........131
4.10.26 [Scan] Why does the STA cannot nd any AP sometimes during the scanning? . . . . . . 131
4.10.27 [Scan] What is the maximum number of APs that can be scanned?............132
4.10.28 [Scan] Can I choose to connect the best AP when there are multiple APs with identical
ssid/password during the scan?...............................132
4.10.29 [Scan] How to congure scan_method in the wi_sta_cong_t structure? What is the dif-
ference between all_channel_scan and fast_scan? ......................132
4.10.30 [LWIP] How to get error code of the socket? ........................132
4.10.31 [LWIP] What is the default keep-alive time of TCP? ....................132
4.10.32 [LWIP] What is the retransmission interval of TCP?...................133
4.10.33 [LWIP] What is the maximum number of sockets that can be created? ...........133
4.10.34 [Sleep] What kinds of sleeping mode does ESP32 have? What are the dierences? . . . . 133
4.10.35 [Sleep] How can I enable the dynamic frequency scaling function for ESP32 in Modem-
sleep mode? .........................................133
4.10.36 [Sleep] How low can the speedstep function go for ESP32 in modem sleep mode?. . . . 133
4.10.37 [Sleep] What aects the average current of ESP32 in modem sleep mode? .........134
4.10.38 [Sleep] Why the average current measured in modem sleep mode is a bit high? . . . . . . 134
4.10.39 [Sleep] Why the average current measured in light sleep mode is a bit high? ........134
4.10.40 [Sleep] What kinds of power-saving modes does ESP32 have? What are the dierences? . 134
4.10.41 Does ESP8266 support 802.11k/v/r protocol? .......................135
4.10.42 Does ESP32 Wi-Fi support roaming between dierent APs with the same SSID? . . . . . 135
4.10.43 [Connect] After the NONOS_SDK updated from version 2.1.0 to 2.2.2, why does the
connecting time become longer?..............................135
4.10.44 How does ESP32 receive and transmit Wi-Fi 802.11 packets? ...............135
4.10.45 [Connect] The ESP32 and ESP8266 failed to connect to router, what could be the reasons?135
4.10.46 [Connect] What kind of networking methods does ESP8266 have?............135
4.10.47 [Connect] What are the specications of Wi-Fi parameters when using SmartCong? . . . 136
4.10.48 [Connect] Does ESP8266 Wi-Fi support WPA2 enterprise-level encryption?. . . . . . . 136
4.10.49 [Connect] What are the low-power modes for ESP32 to maintain its connection to Wi-Fi? 136
4.10.50 Do Espressif’s chips support WPA3? ...........................136
4.10.51 [Connect] How does the device choose AP when there are multiple identical SSIDs in the
current environment? ....................................136
4.10.52 [Connect] Does ESP8266 have repeater solutions? .....................136
4.10.53 What is the retransmission time for ESP32’s data frame and management frame?Can
this be congured?.....................................137
4.10.54 How to customize the hostname for ESP32?........................137
4.10.55 How to obtain 802.11 Wi-Fi packets?...........................137
4.10.56 Does ESP32 Wi-Fi support PMF (Protected Management Frames) and PFS (Perfect For-
ward Secrecy)?.......................................137
4.10.57 Why does ESP8266 print out an AES PN error log when using esptouch v2? . . . . . . . 137
4.10.58 Does ESP32 WFA certication support multicast? .....................137
4.10.59 When using ESP32 to establish a hotspot, can I scan all APs and the occupied channels
rst, and then select the smallest and cleanest channel to establish my own AP? . . . . . . 137
xi

4.10.60 I’m scanning Wi-Fi on an ESP32 device using release/v3.3 version of ESP-IDF. When
there are some identical SSIDs, same SSID names will show in the Wi-Fi list repeatedly.
Is there an API to lter such repeated names? ........................138
4.10.61 Does ESP8266 support EDCF (AC) scheme? ........................138
4.10.62 I’m using the master version of ESP8266-RTOS-SDK to open the WiFi Qos application
to get EDCF support. How does ESP8266 decide which data packet should be allocated to
the EDCF AC category? ..................................138
4.10.63 Using ESP32, how to congure the maximum Wi-Fi transmission speed and stability with-
out considering memory and power consumption? .....................138
4.10.64 In Wi-Fi SoftAP mode, how many Station devices can ESP8266 be connected at most? . . 138
4.10.65 How to get CSI data when using ESP32 device in Station mode? ..............138
4.10.66 In AP + STA mode, after an ESP32 is connected to Wi-Fi, will the Wi-Fi connection be
aected if I enable or disable its AP mode? .........................138
4.10.67 I’m using ESP-IDF release/v3.3 for ESP32 development, but only bluetooth function is
needed, how to disable Wi-Fi function through software? ..................139
4.10.68 In ESP-IDF, the esp_wifi_80211_tx() interface can only be used to send data pack-
ets, is there a corresponding function to receive packets? ..................139
4.10.69 What are the reasons for the high failure rate of esptouch networking? ...........139
4.10.70 How to optimize the IRAM when ESP32 uses Wi-Fi? ...................139
4.10.71 How to test ESP32’s Wi-Fi transmission distance? ....................140
4.10.72 What is the maximum length of Wi-Fi MTU for an ESP32 and how to change it? . . . . . 140
4.10.73 During the on-hook test for an ESP32 device, the following log shows. What does it mean? 140
4.10.74 How to disable AP mode when ESP32 is in AP + STA mode? ...............140
4.10.75 After ESP32 used the Wi-Fi function, are all ADC2 channels unavailable? ........140
4.10.76 How do I set the country code for a Wi-Fi module ? ....................141
4.10.77 When using ESP32 as a SoftAP and have it connected to an Iphone, a warning prompts
as “low security WPA/WPA2(TKIP) is not secure. If this is your wireless LAN, please
congure the router to use WPA2(AES) or WPA3 security type”, how to solve it? . . . . 141
4.10.78 Since ESP32’s Wi-Fi module only supports 2.4 GHz of bandwidth, can Wi-Fi networking
succeed when using a multi-frequency router with both 2.4 GHz and 5 GHz of bandwidth?141
4.10.79 How to obtain the RSSI of the station connected when ESP32 is used in AP mode? . . . . 141
4.10.80 Does ESP32 support FTM(Fine Timing Measurement)? ..................142
4.10.81 When ESP32 is in STA+AP mode, how to specify whether using STA or AP interface to
send data? ..........................................142
4.10.82 ESP8266 wpa2_enterprise How to enable Wi-Fi debugging function? ...........142
4.10.83 Is there a standard for the number of Wi-Fi signal frames? .................143
4.10.84 What is the current progress of WFA bugs xing? .....................143
4.10.85 When Wi-Fi connection failed, what does the error code mean? ..............143
4.10.86 When using ESP32’s Release/v3.3 of SDK to download the Station example, the device
cannot be connected to an unencrypted Wi-Fi. What is the reason? ............143
4.10.87 What is the maximum PHY rate of Wi-Fi communication of ESP32-S2 chip? . . . . . . . 143
4.10.88 Does ESP modules support EAP-FAST? ..........................144
4.10.89 Does ESP modules support the WiFi NAN (Neighbor Awareness Networking) protocol? . 144
4.10.90 When using ESP32 with release/v3.3 version of ESP-IDF. When conguring the router, is
there an API to directly tell that the entered password is wrong? ..............144
4.10.91 When testing the Station example of ESP32 base on v4.4 version of ESP-IDF, how to
support WPA3 encryption mode? ..............................144
4.10.92 How does ESP32 speed up the Wi-Fi connection? .....................144
4.10.93 Does ESP32 WPA2 Enterprise Authentication support Cisco CCKM mode? . . . . . . . 145
4.10.94 Using wpa2_enterprise (EAP-TLS method), what is the maximum length supported for
client certicates? ......................................145
4.10.95 Does ESP8089 support Wi-Fi Direct mode? ........................145
4.10.96 How does ESP32 connect to an AP whose RSSI does not fall below the congured threshold
when there are multiple APs in the environment? ......................145
4.10.97 ESP32 Wi-Fi has a beacon lost and sends 5 probe requests to the AP after 6 seconds. If
the AP does not respond, disconnection will be caused. Can this 6 seconds be congured? 145
4.10.98 Does ESP32 Wi-Fi work with PSRAM? ..........................145
xii

4.10.99 [Connect] How to troubleshoot the issue that ESP32 series of products cannot connect to
the router over Wi-Fi from the hardware and software aspects? ..............145
4.10.100After being connected to the router, ESP32 prints W (798209)
wifi:<ba-add>idx:0 (ifx:0, f0:2f:74:9b:20:78), tid:0,
ssn:154, winSize:64 and W (798216) wifi:<ba-del>idx several times
every 5 minutes and consumes much more power. Why? ..................146
4.10.101Why can’t ESP32 keep the Wi-Fi sending rate at a xed value with the function
esp_wi_cong_80211_tx_rate() to maintain stable transmission? .............146
4.10.102How do I debug the ESP32 station that is connected to a router but does not get an IP
properly? ..........................................146
4.10.103When ESP32 works as a softAP, the station connected to it does not get the IP. How to
debug? ............................................147
4.10.104In ESP-IDF menucong, after Component config >PHY >Max Wi-Fi TX
power(dBm) is congured to adjust the Wi-Fi transmit power, what is the actual power?
For example, what is the actual maximum transmit power when the option is congured to
17 dBm? ...........................................147
4.10.105ESP-IDF currently supports connecting to Chinese SSID routers with UTF-8 encoding. Is
there a way to connect to Chinese SSID routers with GB2312 encoding? ..........147
4.10.106After connecting to the router, ESP32 consumes much power in an idle state, with an
average current of about 60 mA. How to troubleshoot the issue? ..............147
4.10.107How to congure the Wi-Fi country code when the ESP end product needs to be sold
worldwide? .........................................148
4.10.108Sometimes the rate drops or even a disconnection occurs after a period of iperf testing.
What is the reason and how to solve it? ...........................148
4.10.109Why is this log frequently printed when the phone connects to the ESP32-S3 that works as
the Wi-Fi AP based on the ESP-IDF v5.0 SDK? ......................148
4.10.110Does ESP32 support the coexistence of the network port (LAN8720) and Wi-Fi (Wi-AP)?149
4.10.111How can I optimize ESP32’s slow IP address acquisition after Wi-Fi is connected in a
weak network environment or interference environment? ..................149
4.10.112When ESP32/ESP32-S2/ESP32-S3 series chips work in SoftAP mode, they are suscep-
tible to disconnect from mobile phones and PCs of other manufacturers when they are
communicating with each other. How can I optimize this situation? ............149
4.10.113What is the value range of ESP32 Wi-Fi TX power? ....................149
4.10.114How do I get Wi-Fi RSSI when using ESP32? .......................149
4.10.115Does ESP32 support WPA3-Enterprise? ..........................150
4.10.116Does ESP modules support WAPI (Wireless LAN Authentication and Privacy Infrastructure)?150
4.10.117How can I increase the time for scanning routers when using ESP32 as the Wi-Fi Station
to connect routers? .....................................150
4.10.118Does ESP32 support LDPC?...............................150
5 Hardware related 151
5.1 Chip Comparison ...........................................151
5.1.1 What is the dierence between ESP32 with a single core and ESP32 with dual cores re-
garding programming method, feature performance, power consumption, and so on? . . . 151
5.1.2 What’s the dierence between ESP32 v3.0 and previous chip revisions in software and
hardware? ..........................................151
5.1.3 Can the GPIO34 ~ GPIO39 of ESP32 only be set to input mode? .............152
5.1.4 Does ESP32 support a driver for Linux? ..........................152
5.1.5 What is the meaning of the acquired data when you scan the data matrix on the module’s
shielding case? ........................................152
5.1.6 Can VDD3P3_RTC of ESP32 support independent battery power supply? .........152
5.1.7 What is the dierence between ESP32-PICO-D4, ESP32-PICO-V3, and ESP32-PICO-
V3-02? ...........................................152
5.1.8 Does ESP8266 support 32 MHz crystal? ..........................152
5.1.9 Do ESP products support Zephyr? .............................153
5.1.10 How to identify the chip revision from the chip silk marking? ...............153
5.2 Development board ..........................................154
5.2.1 How long does it take for the ESP-WROOM-02D module to restart after the reset signal? . 154
xiii

5.2.2 According to the schematic of ESP32-LyraT-Mini, the analog output of the ES8311 codec
chip is connected to the input of the ES7243 ADC chip. What is the purpose of this? . . . 154
5.2.3 When using the ESP32-MINI-1 module, the serial port printed the follows log when pow-
ered on. What could be the reason? .............................154
5.3 Hardware design ...........................................155
5.3.1 The I2S pins of ESP32 are scattered. Can I route I2S signals to adjacent pins? For exam-
ple, to GPIO5, GPIO18, GPIO23, GPIO19, and GPIO22, or to GPIO25,
GPIO26, GPIO32, and GPIO33...........................155
5.3.2 How can I stop the power loss of VDD3P3_RTC after ESP32 enters Light-sleep mode? . 155
5.3.3 What should be noted when I congure the pins of ESP32? ................155
5.3.4 What is the voltage tolerance of GPIOs of ESP chips? ...................156
5.3.5 What are the power supply specications for ESP8266? ..................156
5.3.6 Do Espressif Wi-Fi modules support single-layer PCBs? ..................156
5.3.7 What should be noted when I power ESP8266 with batteries? ...............156
5.3.8 Where can I get the footprint of ESP32 Series? .......................156
5.3.9 For ESP32-S2 chips, can I have audio connection when the DVP camera interface is in use?157
5.3.10 What should be noted when I assign I2C signals to GPIO0 and GPIO4 of ESP32 modules? 157
5.3.11 When the external ash is connected to GPIO6 ~ GPIO11, can they be set as SPI pins? . . 157
5.3.12 Do I need to connect an external crystal when using the ESP8285 chip? ..........157
5.3.13 Where can I nd the reference design for connecting an external PSRAM to ESP32-D2WD?157
5.3.14 Can I use ESP32 to play music with PWM or DAC? ....................157
5.3.15 Why is the suggested voltage range of ESP32 modules dirent from that of ESP32 chips? 158
5.3.16 Why does it take a longer time to erase the ash of self-developed modules than that of
Espressif modules? .....................................158
5.3.17 Why does the current surge when ESP8266 is powered on? ................158
5.3.18 What choices do I have when conguring the RMII clock for the Ethernet of ESP32? . . . 158
5.3.19 What kind of socket is used on ESP32-LyraT development boards to connect a speaker? . 158
5.3.20 For modules housing ESP32, which pins cannot be set by users? ..............159
5.3.21 Which is the reset pin of ESP32? ..............................159
5.3.22 What should be noted when I design the power supply for ESP8266? ...........159
5.3.23 When I use the TOUT pin of ESP8266 to collect ADC sample signals, will the pins be
damaged if the voltage is greater than 1.0 V? ........................159
5.3.24 For modules with PCB antennas, what should be noted when I design the PCB and the
housing of the antenna? ...................................159
5.3.25 Can GPIO 34 ~ GPIO39 of ESP32 be used as UART RX pins? ..............159
5.3.26 Where can I nd the design reference for the external 32 kHz crystal of ESP32 modules? . 160
5.3.27 Does the ash of ESP32 modules support 80 MHz QIO access mode? ...........160
5.3.28 How to congure the RMII synchronous clock for the Ethernet of ESP32? .........160
5.3.29 How can I hard reset ESP8266? Is hard reset active low or active high? What are the
requirements for reset? ...................................160
5.3.30 What does the term NC mean in Espressif schematics? ...................160
5.3.31 How can I use multiple antennas with ESP32-S2? .....................160
5.3.32 Does ESP32-C3F SPI CS0 pin need an external 10 kΩ pull-up resistor? ..........161
5.3.33 Is there any hardware design reference for ESP-Skainet Speech Recognition? . . . . . . . 161
5.3.34 Is it necessary to connect a 32 kHz RTC crystal? ......................161
5.3.35 For the ESP32-MINI-1 module, is there a component library for Altium Designer? . . . . 161
5.3.36 Can I change the input voltage of UART0 of ESP8266 from 3.3 V to 1.8 V? . . . . . . . 162
5.3.37 Is the level of UART0 of ESP8266 determined by VDD (VCC_WIFI) or VDDPST
(VCC_CODEC_IO)? ....................................162
5.3.38 What should be noted when I connect an external PSRAM to ESP32-D2WD? . . . . . . . 162
5.3.39 When the VDD power supply of ESP32 slowly rises from 0 V to 3.3 V, why does the chip
not start as usual? ......................................162
5.3.40 When using the ESP32-WROOM-32D module, can I set GPIO12 for other uses? . . . . . 162
5.3.41 When connecting an external ash to ESP32-WROOM-32D module, is it possible if I do
not use GPIO6 ~ GPIO11 pins? ...............................163
5.3.42 Do I need to add a shielding case to the PCB of ESP32 modules? .............163
5.3.43 Do I must use GPIO0, GPIO1, or GPIO3 of ESP32 as the I2S CLK pin? .........163
5.3.44 Does the ESP32-U4WDH chip support external PSRAM chips? ..............163
xiv

5.3.45 Does ESP32 support connection to an external SD NAND ash chip (instead of the default
NOR ash chip) via the SPI0/SPI1 interface for storing application rmware? . . . . . . . 163
5.3.46 Does it support to connect a second PSRAM chip externally based on the ESP32-S3R8 chip?164
5.3.47 Could you please provide the 3D model and Footprint les of the ESP32-S3-WROOM-1
module? ...........................................164
5.3.48 Does ESP32/ESP32-S2/ESP32-C3/ESP32-S3 support powering the RTC power domain
only to keep the chip working with low power consumption? ................164
5.3.49 How can I improve the EMC performance? .........................164
5.3.50 Why do I need to connect a 499 Ω resistor to U0TXD for ESP32-S3? ...........164
5.3.51 How to calibrate the ESP32-S3 ADC in hardware? .....................164
5.3.52 How to design an automatic download circuit based on the ESP32 series chip? . . . . . . . 165
5.3.53 Which crystal oscillator should be used on the ESP8266 chip? ...............165
5.3.54 Do the ESP32-C2, ESP32-C3 and ESP32-C6 chips support external PSRAM chips? . . . 165
5.3.55 When the ESP32-C3 is powered by a battery, it may fail to start if the supply voltage
gradually decreases, for example, when the battery is fully discharged and then recharged.
In such cases, the solution could only be disconnecting the battery from the ESP32-C3 and
reconnect a fully charged battery, or to connect a voltage regulator diode between the 3.3
V pin and the EN pin to ensure the chip starts properly. What is the root cause of this
situation? Is there an optimal solution? ...........................165
5.4 RF Related ..............................................165
5.4.1 Does the RF performance of an ESP32 module degrade if it runs with a 2.8 V supply? . . 165
5.4.2 What are the modulation methods supported by ESP chips? ................166
5.4.3 How can I get the RF related information (e.g., antenna specication, antenna pattern, etc.)
for certication? .......................................166
5.4.4 Why does ESP32 automatically reduce its transmit power when it uses the RF Test Tool at
80 °C? ............................................166
5.4.5 How to improve the receiving distance and strength of Wi-Fi signals for ESP32-WROVER-
E? (Application scenario: Wi-Fi probe) ...........................166
5.4.6 How to write phy_init data to ash ? ............................166
5.4.7 How can I optimize the second harmonic and other spurious signals created by my own
products? ..........................................167
5.4.8 How can I suppress the harmonics of 80 MHz? .......................167
5.4.9 Is manual power calibration required for the Espressif modules that connect to external
antennas? ..........................................167
5.4.10 What is the default duty cycle for the “default”level when using the “RF Test Tool”to
set the Wi-Fi “TX continues”mode? ...........................167
5.5 Process and ESD Protection .....................................167
5.5.1 What should be paid attention to during the ESP32 ESD test? ...............167
5.6 Production Test ............................................168
5.6.1 Why can some modules download rmware normally when using DIO/DOUT, but en-
counter program abnormality when using QOUT/QIO? ..................168
5.6.2 How to get the production test tool? .............................168
5.6.3 When I use the esptool.py burn_custom_mac command to write the user-dened
MAC address, why is the MAC address read by the esptool.py read_mac command
still factory default? .....................................168
5.6.4 When downloading bin les to ESP32-WROVER-E (16 MB ash) using Flash Download
Tool, multiple separate bin les can be downloaded successfully, but downloading the com-
bined rmware (12 MB) failed. Why? ...........................168
6 Test verication 169
6.1 Power Consumption Verication ...................................169
6.1.1 Why does ESP32 reboot when it is woken up from Deep-sleep mode? ...........169
6.1.2 What sleep modes does ESP32 support? What is the dierence between them? . . . . . . 169
6.1.3 Can ESP32 in Deep-sleep mode be woken up by any RTC_GPIO? ............170
6.1.4 What is the power consumption of ESP8266 when the CHIP_PU pin is at the low level? . 170
6.1.5 Why does the minimum current of ESP32 in Light-sleep increase when the timer is not
used as a wakeup source? ..................................170
xv

6.1.6 In ESP32’s Deep-sleep mode, using an internal 150 KHz RTC clock or using an external
32 KHz, which consumes more power? ...........................170
6.1.7 What are the requirements for CPU frequency to ensure normal operation of the RF module
when reducing power consumption by reducing the CPU frequency? ............170
7 Commercial FAQ 171
7.1 Which certicates have your products passed? ............................171
7.2 Does your company have the ISO Quality Management System Certication? ............171
7.3 Do your chips and modules have environmental certicates such as REACH, ROHS, etc? . . . . . 171
7.4 Do you have distributors in China, Europe, the United States and Canada? .............171
7.5 How can I start a distribution business with Espressif? ........................172
7.6 Where can I nd your product information? Which of your products are in mass production? . . . 172
7.7 Do your products have a longevity commitment? ...........................172
7.8 Where can I nd the SPQ (Standard Pack Quantity) and MOQ (Minimum Order Quantity) for your
products? ...............................................172
7.9 What is your recommended purchasing method? ...........................172
7.10 What’s the price for bulk purchasing? How can I purchase in bulk? ................172
7.11 Where can I nd all the dierences between your products (e.g. in terms of series and types)? . . . 172
7.12 Do your products have rmware? Can I customize my module/chip ash before the product leaves
the factory? How much does this process cost? How long does it take? How can you help me do this?173
7.13 Which of your products support HomeKit? Where can I get the Espressif HomeKit SDK? . . . . . 173
7.14 What is your company’s address? ..................................173
7.15 How can I contact your technical team? ...............................173
7.16 How can I get in touch with your company? .............................173
7.17 How can I tell if an Espressif module is in mass production or an NPI product? ...........173
xvi

Table of contents
[Coming Soon …]
ESP-FAQ is a summary document of frequently asked questions released by Espressif. This repository aims to help
our users to quickly locate those questions and get answers through simple explanations. The current categories of
FAQ cover: development environment, application solution, software framework, hardware related and test
verication.
Instruction Development environment Application solution
Software framework Hardware related Test verication
Espressif Systems 1
Submit Document Feedback
Release master

Chapter 1
Instruction
This section provides instructions for using ESP-FAQ. The purpose of “Question search”is to help you quickly
understand the search methods and categories of this repository, so as to save much time for searching. In the mean-
time, you are welcomed to make contributions directly to ESP-FAQ, such as xing bugs and adding new documents.
For detailed information about this process, please go to “Document contribution”.
1.1 Question search
This instruction includes the following two parts:
• Question search techniques
• Question classication framework
1.1.1 Question Search Techniques
Currently, there are mainly two searching techniques:
• Search keywords
• Exclude a specic keyword
Search key words
Extract keywords from your question and search for them, then the search results should list the best matches.
For example, if you expect to ask a question as What is the Bluetooth LE Throughput for ESP32?
Then just searching keywords such as ESP32,BLE and throughput should give you the result.
Exclude a Specic Keyword
Add a tag -into the search content in the format: keyword -excluded keyword. By doing so, the search
results will not show the specic keyword you excluded.
For example, if you search ESP32 -ble, then any results with ble inside will not be shown.
3
This manual suits for next models
5
Table of contents
Other Espressif Systems Motherboard manuals

Espressif Systems
Espressif Systems ESP8266-DevKitS User manual

Espressif Systems
Espressif Systems ESP8266 AT Setup guide

Espressif Systems
Espressif Systems ESP32-LyraTD-SYNA User manual

Espressif Systems
Espressif Systems ESP32-LyraTD-DSPG User manual

Espressif Systems
Espressif Systems ESP32-DevKitC User manual

Espressif Systems
Espressif Systems ESP8266 Series Instruction Manual

Espressif Systems
Espressif Systems ESP-EYE User manual