Difference between revisions of "ESP32"

From Land Boards Wiki
Jump to navigation Jump to search
Line 412: Line 412:
 
== Programming ==
 
== Programming ==
 
Programming languages, frameworks, platforms, and environments used for ESP32 programming:
 
Programming languages, frameworks, platforms, and environments used for ESP32 programming:
* [[Arduino#IDE|Arduino IDE]] with the ESP32 Arduino Core
+
* [https://github.com/espressif/arduino-esp32|Arduino IDE] with the ESP32 Arduino Core
 
* [https://docs.espressif.com/projects/esp-idf/en/latest/ Espressif IoT Development Framework (IDF)] – official Espressif development framework for ESP32
 
* [https://docs.espressif.com/projects/esp-idf/en/latest/ Espressif IoT Development Framework (IDF)] – official Espressif development framework for ESP32
 
* [[MicroPython]] A lean implementation of Python 3 for microcontrollers
 
* [[MicroPython]] A lean implementation of Python 3 for microcontrollers

Revision as of 13:55, 12 January 2020

ESP32

Most of the following is from the ESP32 Wikipedia page

ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. ESP32 is created and developed by Espressif Systems.

ESP32 Block Diagram.PNG

Features

Features of the ESP32 include the following:

  • Processors:
    • CPU: Xtensa dual-core (or single-core) 32-bit LX6 microprocessor, operating at 160 or 240 MHz and performing at up to 600 DMIPS
    • Ultra low power (ULP) co-processor
  • Memory: 520 KiB SRAM
  • Wireless connectivity:
    • Wi-Fi: IEEE 802.11 b/g/n
    • Bluetooth: v4.2 BR/EDR and BLE
  • Peripheral interfaces:
    • 12-bit successive approximation ADC up to 18 channels
    • 2 × 8-bit digital-to-analog converter
    • 10 × touch sensors (capacitive sensing GPIOs)
    • 4 × Serial Peripheral Interface Bus
    • 2 × I²S interfaces
    • 2 × I²C interfaces
    • 3 × universal asynchronous receiver/transmitter
    • Secure Digital/SDIO/CE-ATA/MultiMediaCard/MultiMediaCard/eMMC host controller
    • SDIO/SPI slave controller
    • Ethernet MAC interface with dedicated DMA and IEEE 1588 Precision Time Protocol support
    • CAN bus 2.0
    • Infrared remote controller (TX/RX, up to 8 channels)
    • Motor Pulse-width modulation
    • LED Pulse-width modulation (up to 16 channels)
    • Hall effect sensor
    • Ultra low power analog pre-amplifier
  • Security:
    • IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and WLAN Authentication and Privacy Infrastructure
    • Secure boot
    • Flash encryption
    • 1024-bit OTP, up to 768-bit for customers
    • Cryptographic hardware acceleration: Advanced Encryption Standard AES, SHA-2, RSA (cryptosystem), elliptic curve cryptography (ECC), random number generator (RNG)
  • Power management:
    • Internal low-dropout regulator
    • Individual power domain for RTC
    • 5μA deep sleep current
    • Wake up from GPIO interrupt, timer, ADC measurements, capacitive touch sensor interrupt

Printed circuit boards

Surface-mount module boards

ESP32 based Surface-mount technology printed circuit board modules directly contain the ESP32 System on a chip and are designed to be easily integrated onto other circuit boards. Meandered inverted-F antenna designs are used for the PCB trace antennas on the modules listed below. In addition to flash memory, some modules include pseudostatic RAM (pSRAM).

Vendor Name Antenna Flash memory (MiB) pSRAM (MiB) Description
Espressif ESP-WROOM-03 Template:Nowrap 4 0 Discontinued. Limited distribution, pre-production module created by Espressif for beta testing purposes; this module used the ESP31B, the beta testing chip for the ESP32 series.<ref name="SparkfunFristImpressions">Template:Cite web</ref><ref name="AdafruitVideoESP32BetaModule">Template:Cite AV media</ref><ref name="HarizanovESP32BetaModule">Template:Cite web</ref><ref name="HackadayESP32BetaUnits">Template:Cite news</ref><ref name="MarkusUlsassESP32Beta">Template:Cite news</ref> FCC Part 15.247 tested (FCC ID: 2AC7Z-ESP32).<ref name="ESPWROOM03FCCTestReport">Template:Cite web</ref>
ESP32-WROOM-32 PCB trace 4 0 First publicly available ESP32 module board created by Espressif.<ref name="EspressifESPWROOM32Datasheet">Template:Cite web</ref> FCC Part 15.247 tested (FCC ID: 2AC7Z-ESPWROOM32).<ref name="ESPWROOM32FCCTestReport">Template:Cite web</ref> Based on ESP32-D0WDQ6 chip. Originally named "ESP-WROOM-32".
ESP32-WROOM-32D PCB trace 4 0 Revision of the ESP-WROOM-32 module which uses an ESP32-D0WD chip instead of an ESP32-D0WDQ6 chip.<ref name="EspressifESPWROOM32DUDatasheet">Template:Cite web</ref> Originally named "ESP-WROOM-32D".
ESP32-SOLO-1 PCB trace 4 0 Similar to the ESP32-WROOM-32D module, but uses the single-core ESP32-S0WD chip instead of the dual-core ESP32-D0WD.
Template:Nowrap U.FL socket 4 0 Alternative to the ESP-WROOM-32D module which has a U.FL connector for external antenna in lieu of a PCB trace antenna.<ref name="EspressifESPWROOM32DUDatasheet" />
Template:Nowrap PCB trace 4 4 ESP32 module board with 4 MiB pSRAM created by Espressif. FCC part 15.247 tested (FCC ID 2AC7Z-ESP32WROVER). Uses 40 MHz crystal oscillator. Does not include U.FL connector. Based on ESP32-D0WDQ6 chip. Since June 2018, new modules have been upgraded to 8 MiB pSRAM.
Template:Nowrap U.FL socket, PCB trace 4 4 Variation of ESP32-WROVER module configured to use an on-board U.FL compatible connector. PCB trace antenna not connected by default.
Template:Nowrap PCB trace 4 8 Revision of ESP32-WROVER module with 8 MiB pSRAM (instead of 4 MiB pSRAM) operating at 3.3V (instead of 1.8V in previous versions) and ESP32-D0WD (instead of ESP32-D0WDQ6). FCC part 15.247 tested (FCC ID 2AC7Z-ESP32WROVERB). Does not include U.FL connector. (Custom order option for flash capacity of 8 MiB or 16 MiB also available.)
Template:Nowrap U.FL socket, PCB trace 4 8 Variation of ESP32-WROVER-B module configured to use an on-board U.FL compatible connector. PCB trace antenna not connected by default.
Ai-Thinker ESP32-S PCB trace 4 0 Ai-Thinker's equivalent to Espressif's ESP-WROOM-32 module. (Same form factor and general specifications.)<ref name="AIThinkerESP32SModule">Template:Cite web</ref> Previously branded as "ESP-32S" with the hyphen before "32S", the initial release of the ESP-32S module replaced the previously announced, but never released, ESP3212 module.
ESP32-A1S U.FL socket, PCB trace 4 4 Ai-Thinker's equivalent to Espressif's ESP32-WROVER series module.
AnalogLamb ESP-32S-ALB PCB trace 4 0 Clone of the ESP-32S module (ESP-WROOM-32 compatible footprint). Seen with a green solder mask coating.<ref name="AnalogLambCloneModule">Template:Cite web</ref>
ALB-WROOM PCB trace 16 0 Variation of ESP-32S-ALB with 16 MiB of flash memory.<ref name="AnalogLambCloneModule" />
ALB32-WROVER PCB trace 4 4 ESP32 module board with 4 MiB pSRAM with the same footprint as the ESP-WROOM-32 module.<ref>Template:Cite web</ref>
DFRobot ESP-WROOM-32 PCB trace 4 0 Module board similar to Espressif Systems's ESP-WROOM-32, but is not FCC certified, and uses 26 MHz or 32 kHz crystal oscillator.<ref>Template:Cite web</ref>
eBox & Widora ESP32-Bit Ceramic, U.FL socket 4 0 Module has a ceramic antenna and an U.FL antenna connector. This module has a different footprint than the ESP-WROOM-32/ESP-32S modules.
Goouuu Tech ESP-32F PCB trace 4 0 Module board similar to Espressif Systems's ESP-WROOM-32. FCC certified (ID 2AM77-ESP-32F).
IntoRobot W32 PCB trace 4 0 Module similar in appearance to Espressif's ESP-WROOM-32, but footprint pinout differs.<ref>Template:Cite web</ref>
W33 Ceramic, U.FL socket 4 0 Differs from IntoRobot W32 module in its antenna configuration.
ITEAD PSH-C32 PCB trace 1<ref name="IteadPSHC32Schematic">Template:Cite web</ref> 0 Module has unusually small flash memory on board. Also, footprint is unique and differs from all other ESP32 modules.<ref name="IteadPSHC32">Template:Cite web</ref>
Pycom<ref name="PycomOEMProducts">Template:Cite web</ref> W01 (Not included.) 8 4 OEM module version of the WiPy 2.0. Supports Wi-Fi and Bluetooth. FCC ID 2AJMTWIPY01R.
L01 (Not included.) 8 4 OEM module version of the LoPy. Supports Wi-Fi, Bluetooth, and LoRa. FCC ID 2AJMTLOPY01R.
L04 (Not included.) 8 4 OEM module version of the LoPy4. Supports Wi-Fi, Bluetooth, LoRa, and Sigfox.
S01 (Not included.) 8 4 Discontinued. OEM module version of the SiPy. Supported Wi-Fi, Bluetooth, and Sigfox (14 dBm and 22 dBm).
G01 (Not included.) 8 4 OEM module version of the GPy. Supports Cellular LTE-CAT M1/NB1, Wi-Fi and Bluetooth.
u-blox NINA-W131 (Not included.) 2 0 Belongs to the u-blox NINA-W13 series of Wi-Fi modules.<ref name="ublox_NINA-W13-series">Template:Cite web</ref>
NINA-W132 PIFA 2 0 Belongs to the u-blox NINA-W13 series of Wi-Fi modules.<ref name="ublox_NINA-W13-series" /> On board planar inverted-F antenna (PIFA) is shaped (cut & bent) metal, not a PCB trace.

Development and other boards

Development & break-out boards extend wiring and may add functionality, often building upon ESP32 module boards and making them easier to use for development purposes (especially with breadboards).

Vendor Name Surface-mount module used Description
Espressif ESP_Module_Testboard ESP-WROOM-03 Break-out board included with ESP-WROOM-03 beta modules.<ref name="SparkfunFristImpressions" /><ref name="AdafruitVideoESP32BetaModule" />
Template:Nowrap Template:Nowrap Development & demonstration board created by Espressif.<ref name="WilliamHooiESP32DemoBoardV2">Template:Cite web</ref><ref name="AdyESP32DemoBoardV2">Template:Cite web</ref>
ESP32-DevKitC ESP-WROOM-32 Compact development board created by Espressif.<ref name="EspressifWROOM32DevBoard">Template:Cite web</ref> Silkscreen labeling on PCB reads "Core Board".
ESP-WROVER-KIT ESP-WROOM-32 or ESP32-WROVER Large development board created by Espressif.<ref name="EspressifESPWROVERKIT">Template:Cite web</ref> Previously named ESP32-DevKitJ.<ref name="IgrrESP32CameraDemo">Template:Cite web</ref>
ESP32-PICO-KIT ESP32-PICO-D4 Small development board created by Espressif. FCC ID 2AC7Z-ESP32PICOKIT.
Adafruit HUZZAH32 ESP-WROOM-32 Also referred to as the "ESP32 Feather Board", the HUZZAH32 is a compact development board/module that is compatible with the Adafruit Feather family of products.
Banana pi BPI:bit ESP-32S a development for Webduino and arduino
BPI-UNO32 ESP32-S a development board for arduino
Ai-Thinker NodeMCU-32S ESP-32S NodeMCU-like development board.<ref name="AiThinkerNodeMCU32S">Template:Cite web</ref>
ESP32-CAM ESP32-S Compact development board with SD card slot and ribbon cable interface intended for camera connection.
AnalogLamb ESP32 Development Board ESP-32S-ALB or ALB-WROOM Development board similar to Espressif's ESP32-DevKitC with on board a CP2102 USB/serial bridge. 4 MiB variation uses ESP-32S-ALB; 16 MiB variation uses ALB-WROOM module.<ref>Template:Cite web</ref>
Maple ESP32 ESP-32S-ALB Development board with Arduino-style connections and CP2104 USB/serial interface.<ref>Template:Cite web</ref>
April Brother ESPea32 Development board with perfboard area that may be optionally cut-off.
ArduCAM ESP32 UNO ESP-32S Arduino Uno-like development board based on ESP32 IoT UNO framework with support for SPI ArduCAM, Battery pins and uSD card slot.<ref>Template:Cite web</ref>
DoIT ESPduino32 ESP-WROOM-32 Full-featured Arduino Uno-like development board compatible with Arduino Shields. It also adds additional SPI & IO pins.
EzSBC ESP32-01 Breakout and Development Board ESP-WROOM-32 Full-featured development board with two tri-color LEDs and fits on a breadboard.
Gravitech & MakerAsia Nano32 Development board that directly incorporates the ESP32 chip.
HydraBus HydraESP32 ESP-WROOM-32 or ESP-32S HydraESP32 HydraBus v1.1 Rev1 shield/breakout board for ESP-WROOM-32 or ESP-32S. This shield can be used with or without a HydraBus board.
Noduino Quantum Arduino-style development board that directly incorporates the ESP32 chip.
Pycom WiPy MicroPython programmable Wi-Fi & Bluetooth IoT development platform with a 1 km Wi-Fi range. WiPy versions 2.0 and 3.0 use ESP32.
LoPy Triple network Pycom board featuring LoRa, Wi-Fi (1 km range), and BLE.
LoPy4 ? Quadruple network Pycom board featuring LoRa, Sigfox, Wi-Fi (1 km range), and BLE.
SiPy Triple network Pycom board featuring Sigfox, Wi-Fi (1 km range), and BLE.
GPy Triple network Pycom board featuring LTE-M, Wi-Fi (1 km range), and BLE.
FiPy Quintuple network Pycom board featuring LTE-M, LoRa, Sigfox, Wi-Fi (1 km range), and BLE.
SparkFun ESP32 Thing Compact development board with FTDI FT231x USB/serial interface and LiPo charger built-in.
SunDUINO ESP32 MiniBoard ESP-WROOM-32 Breakout compatible with the Espressif ESP32-DevKitC. Lacks on-board USB-UART.
ESP32 MiniBoard v2 ESP32-Wrover-B/IB Breakout Board with Silabs CP2102 , baterry charger. Compatybile witch ESpressif DEVkit.
ESP32 SunDUINO ESP-WROOM-32 or ESP-32S Arduino-style development board. Lacks on-board USB-UART.
SwitchDoc Labs BC24 ESP-WROOM-32 ESP32 Breakout with 24 SK6812RGBW LEDs with Grove Connectors for easy prototyping. Comes with USB-UART and Feather compatible pinout. <ref>Template:Cite web</ref>
Watterott ESP-WROOM32-Breakout ESP-WROOM-32 Breakout which is compatible with the Espressif ESP32-DevKitC.
WEMOS<ref name="WEMOSProducts">Template:Cite web</ref> LOLIN32 [Retired]<ref>Template:Cite web</ref> ESP-WROOM-32
LOLIN32 Lite [Retired]<ref>Template:Cite web</ref> ESP32-D0WDQ6
LOLIN32 Pro [Retired]<ref>Template:Cite web</ref> ESP32-WROVER MicroSD card slot (supports SD and SPI mode)
LOLIN D32<ref>Template:Cite web</ref> ESP-WROOM-32
LOLIN D32 Pro<ref>Template:Cite web</ref> ESP32-WROVER I2C port, TFT port and Micro SD Card slot (support SPI mode)
Widora Air Compact ESP32 development board.

† ESP32 SoC incorporated directly onto development board; no module board used.

Programming

Programming languages, frameworks, platforms, and environments used for ESP32 programming:

Web