Project

General

Profile

Wiki » History » Revision 15

Revision 14 (Frédéric Blanc, 2018-11-01 13:05) → Revision 15/19 (Frédéric Blanc, 2021-05-29 16:43)

h1. Wiki 

 h2. Overview  

 ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi (802.11 b/g/n) and dual-mode Bluetooth(v4.2 BR/EDR and BLE). The ESP32 series employs a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations and includes in-built antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. ESP32 is created and developed by Espressif Systems, a Shanghai-based Chinese company, and is manufactured by TSMC using their 40 nm process. It is a successor to the ESP8266 microcontroller.  

 https://www.espressif.com/en/products/hardware/esp32/overview 

 h2. Hardware 

 h3. Core 

 *CPU*: Xtensa dual-core (or single-core) 32-bit LX6 microprocessor, operating at 160 or 240 MHz and performing at up to 600 DMIPS 
 *Memory*: 520KiB SRAM 
 *Power* management: 5uA deep sleep current 

 h3. Wi-Fi 

 Wi-Fi: 802.11 b/g/n 

 h3. Bluetooth 

 Bluetooth v4.2 BR/EDR and BLE 

 ESP BLE Mesh 

 https://esp32.com/viewtopic.php?f=13&t=7875 

 h3. ADC 

 !{width: 50%}esp32_adc001.png! 
 Features 
 • Two SAR ADCs, with simultaneous sampling and conversion 
 • Up to five SAR ADC controllers for different purposes (e.g. high performance, low power or PWDET /PKDET). 
 • Up to 18 analog input pads 
 • One channel for internal voltage vdd33, two for pa_pkdet (available on selected controllers) 
 • Low-noise amplifier for small analog signals (available on one controller) 
 • 12-bit, 11-bit, 10-bit, 9-bit configurable resolution 
 • DMA support (available on one controller) 
 • Multiple channel-scanning modes (available on two controllers) 
 • Operation during deep sleep (available on one controller) 
 • Controlled by a ULP coprocessor (available on two controllers) 

 

 h2. Software 

 h3. FLASH 

 !clipboard-202105291643-cjva3.png! 
 flash module ESP32-WROOM-32 

 h3. Filesystem 

 *File system object (SPIFFS)* 

 The filesystem implementation for ESP8266 had to accomodate the constraints of the chip, among which its limited RAM. SPIFFS was selected because it is designed for small systems, but that comes at the cost of some simplifications and limitations. 

 https://arduino-esp8266.readthedocs.io/en/2.4.2/filesystem.html 

 h3. OTA Updates 

 OTA (Over the Air) update is the process of loading the firmware to ESP module using Wi-Fi connection rather than a serial port. Such functionality became extremely useful in case of limited or no physical access to the module. 

 https://arduino-esp8266.readthedocs.io/en/2.4.2/ota_updates/readme.html 

 

 h2. Example 

 WebSockets for awesome on the ESP8266 
 https://www.youtube.com/watch?v=8ISbmQTbjDI 
 https://github.com/cnlohr/colorchord