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