Espressif SoC

Espressif System-on-chip (SoC) devices are low-cost microcontrollers with full TCP/IP stack capability produced by Shanghai-based Chinese manufacturer, Espressif Systems [1]. The two most popular series of these microcontrollers are:

  • ESP8266,
  • ESP32.

ESP 8266 General Information

The ESP8266 is a low-cost system on chip (SoC) microcontroller with WiFi and full TCP/IP stack capability [2]. The chip first came to the market with the ESP-01 module, made by a third-party manufacturer, Ai-Thinker. This small module allows microcontrollers to connect to a WiFi network and make simple TCP/IP connections using Hayes-style AT commands. The low price and the fact that there were very few external components on the module, which suggested that it could eventually be very inexpensive in volume, attracted many users to explore it. The ESP8285 is an ESP8266 with 1 MiB of built-in flash, allowing for single-chip devices capable of connecting to WiFi. The successor to these microcontroller chips is the ESP32. For now, the ESP8366 family includes the following chip:

  • ESP8266EX (Figure 1).
Figure 1: ESP8266EX chip.
Esp8266 Architecture Overview

Main standard features of the ESP8266EX are:

Processor

  • Main processor: L106 32-bit RISC microprocessor core based on the Tensilica Xtensa Diamond Standard 106Micro running at 80 MHz. Both the CPU and flash clock speeds can be doubled by overclocking on some devices. CPU can be run at 160 MHz, and flash can be sped up from 40 MHz to 80 MHz. Success varies chip to chip.

Memory

  • 32 KiB instruction RAM.
  • 32 KiB instruction cache RAM.
  • 80 KiB user data RAM.
  • 16 KiB ETS system data RAM.
  • External QSPI flash: up to 16 MiB is supported (512 KiB to 4 MiB typically included).

Interfaces

  • IEEE 802.11 b/g/n WiFi .
  • Integrated TR switch, balun, LNA, power amplifier and matching network WEP or WPA/WPA2 authentication, or open networks.
  • 16 GPIO pins.
  • SPI.
  • I²C (software implementation).
  • I²S interfaces with DMA (sharing pins with GPIO).
  • UART on dedicated pins, plus a transmit-only UART can be enabled on GPIO2.
  • 10-bit ADC (successive approximation ADC).

Figure 2 shows function block of ESP8266 chip diagram [3].

Figure 2: ESP8266 chip main functions.
ESP8266 Modules

There are many ESP8266 based modules on the market [4]. These modules combine ESP8266EX microcontroller and additional components mounted on PCB.

The most popular are these produced by AI-Thinker and remain the most widely available [5]:

  • ESP-01 (512 KiB Flash),
  • ESP-01S (1 MiB Flash),
  • ESP-12 (FCC and CE approved),
  • ESP-12E,
  • ESP-12F (4 MiB Flash, FCC and CE approved).

Popular modules from other manufacturers:

  • Sparkfun ESP8266 Thing,
  • Wemos D1 mini, D1 mini Pro [6].

The Espressif company also produces ready-made modules using the aforementioned chip. This is the series of ESP8266-based modules made by Espressif (Table 1).

Table 1: Espressif ESP8266 modules
NameActive pinsLEDsAntennaShieldedDimensions (mm)Notes
ESP-WROOM-02[7]18NoPCB traceYes18 × 20FCC ID 2AC7Z-ESPWROOM02
ESP-WROOM-02D[8]18NoPCB traceYes18 × 20FCC ID 2AC7Z-ESPWROOM02D. Revision of ESP-WROOM-02 compatible with both 150-mil and 208-mil flash memory chips
ESP-WROOM-02U[9]18NoU.FL socketYes18 × 20Differs from ESP-WROOM-02D in that includes an U.FL compatible antenna socket connector
ESP-WROOM-S2[10]20NoPCB traceYes16 × 23FCC ID 2AC7Z-ESPWROOMS2

The most widely used and chipest ESP-01 is presented on (Figure 3) and its pinout on (Figure 4).

Figure 3: ESP-01.
Figure 4: ESP-01 pinout.

Module ESP12F with pinout is presented on (Figure 5) and its pinout on (Figure 6).

Figure 5: ESP-12F.
Figure 6: ESP-12F pinout.

Among the other modules, it is worth to be interested in WEMOS modules [11] (Figure 7, Figure 8). The WEMOS company offers dedicated sensor modules and inputs/outputs compatible with the processor modules. They are called WEMOS shields (Figure 9).

Figure 7: Wemos D1 mini with pinout.
Figure 8: Wemos D1 Pro.
Figure 9: Wemos I/O shields.

ESP32 NodeMCU pins (Figure 10).

Figure 10: NodeMCU v.2 pins.

ESP32 General Information

ESP32 is a low-cost, low-power system on a chip (SoC) series microcontrollers with WiFi & dual-mode Bluetooth capabilities [12]. ESP32 SoC is highly integrated with built-in antenna switches, power amplifier, low-noise receive amplifier, filters, and power management modules. Inside all family there is a single-core or dual-core Tensilica Xtensa LX6 microprocessor with a clock rate of up to 240 MHz. ESP32 is designed for mobile, wearable electronics, and Internet-of-Things (IoT) applications. It features all the state-of-the-art characteristics of low-power chips, including fine-grained clock gating, multiple power modes, and dynamic power scaling. For now the ESP32 family includes the following chips:

  • ESP32-D0WDQ6 (Figure 11),
  • ESP32-D0WD (Figure 12),
  • ESP32-D2WD (Figure 13),
  • ESP32-S0WD (Figure 14),
  • ESP32-PICO-D4 – SiP (system in package) (Figure 15) – additionally contains crystal oscillator, 4MiB flash memory, filter capacitors and RF matching links.
Figure 11: ESP32-D0WDQ6.
Figure 12: ESP32-D0WD.
Figure 13: ESP32-D2WD.
Figure 14: ESP32-S0WD.
Figure 15: ESP32-PICO-D4.
ESP32 Architecture Overview

(Figure ##REF:esp32_functions##) shows function block diagramm of ESP32 chip. Main common features of the ESP32 are: [13] [14].

Processors

  • Main processor: Tensilica Xtensa 32-bit LX6 microprocessor.
    • Cores: 2 or 1 (depending on variation). (All chips in the ESP32 series are dual-core except for ESP32-S0WD, which is single-core.)
    • Internal 8 Mhz oscillator with calibration.
    • External 2 MHz to 60 MHz crystal oscillator (40 MHz only for WiFi/BT functionality).
    • External 32 kHz crystal oscillator for RTC with calibration.
    • Clock frequency: up to 240 MHz.
    • Performance: up to 600 DMIPS.
  • Ultra low power co-processor: allows you to do ADC conversions, I2C connecting, computation, and level thresholds while in a deep sleep.

Wireless connectivity

  • WiFi: 802.11 b/g/n/e/i (802.11n @ 2.4 GHz up to 150 Mbit/s) with simultaneous Infrastructure BSS Station mode/SoftApp mode/Promiscuous mode.
  • Bluetooth: v4.2 BR/EDR and Bluetooth Low Energy (BLE) with multi-connections Bt and BLE and simultaneous advertising and scanning capability.

Memory: Internal memory

  • ROM: 448 KiB (for booting and core functions).
  • SRAM: 520 KiB (for data and instruction).
  • RTC fast SRAM: 8 KiB (for data storage and main CPU during RTC Boot from the deep-sleep mode).
  • RTC slow SRAM: 8 KiB (for co-processor accessing during deep-sleep mode).
  • eFuse: 1 Kibit (of which 256 bits are used for the system (MAC address and chip configuration) and the remaining 768 bits are reserved for customer applications, including Flash-Encryption and Chip-ID).
  • Embedded flash (flash connected internally via IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 and SD_DATA_1 on ESP32-D2WD and ESP32-PICO-D4):
    • 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, and ESP32-S0WD chips),
    • 2 MiB (ESP32-D2WD chip),
    • 4 MiB (ESP32-PICO-D4 SiP module).

External Flash & SRAM

  • ESP32 supports up to four 16 MiB external QSPI flashes and SRAMs with hardware encryption based on AES to protect developers' programs and data. ESP32 can access the external QSPI flash and SRAM through high-speed caches.
  • Up to 16 MiB of external flash are memory-mapped onto the CPU code space, supporting 8-bit, 16-bit and 32-bit access. Code execution is supported.
  • Up to 8 MiB of external flash/SRAM memory is mapped onto the CPU data space, supporting 8-bit, 16-bit and 32-bit access. Data-read is supported on the flash and SRAM. Data-write is supported on the SRAM.

ESP32 chips with embedded flash do not support the address mapping between external flash and peripherals.

Peripheral Input/Output

  • Rich peripheral interface with DMA that includes capacitive touch (10× touch sensors).
  • 12-bit ADCs (analog-to-digital converter) up to 18 channels.
  • 2 × 8 bit DACs (digital-to-analog converter).
  • 2 × I²C (Inter-Integrated Circuit.
  • 3x UART (universal asynchronous receiver/transmitter).
  • CAN 2.0 (Controller Area Network).
  • 4 × SPI (Serial Peripheral Interface).
  • 2 × I²S (Integrated Inter-IC Sound).
  • RMII (Reduced Media-Independent Interface).
  • Motor PWM (pulse width modulation).
  • LED PWM up to 16 channels.
  • Hall sensor.
  • Internal temperature sensor.

Security

  • Secure boot.
  • Flash encryption.
  • IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and WAPI.
  • 1024-bit OTP, up to 768-bit for customers.
  • Cryptographic hardware acceleration:
    • AES,
    • SHA-2,
    • RSA,
    • elliptic curve cryptography (ECC),
    • random number generator (RNG).
Figure 16: ESP32 Function block diagram.
ESP32 Modules

The company also produces ready-made modules using the aforementioned processors. These modules combines ESP32 microcontroller and additional components mounted on PCB with EM shield:

  • ESP32-WROOM-32 with 4 MiB flash memory, and antenna on PCB (Figure 17);
  • ESP32-WROOM-U with 4 MiB flash memory and u.fl antenna conector (Figure 18);
  • ESP32-WROVER – with 4 MiB flash memory, 4 MiB pseudo static RAM and antenna on PCB (Figure 19);
  • ESP32-WROVER-I – as ESP32-WROVER with additional u.fl antenna connector (Figure 20).
Figure 17: ESP32-WROOM-32.
Figure 18: ESP32-WROOM-U.
Figure 19: ESP32-WROVER.
Figure 20: ESP32-WROVER-I
ESP32 Development Kits

To accelerate the design of circuits, developers can use specially prepared sets with ESP32 which are ready to use. The original Espressif best known small development boards are:

  • ESP32-DevkitC (Figure 21);
  • ESP32-PICO-KIT-V4 (Figure 22).
Figure 21: ESP-32-DevkitC
Figure 22: ESP-32-PICO-KIT-V4.
General Purpose Input-Output (GPIO) Connector

Each ESP32 is equipped with standard 38/40-pis male connector containing universal GPIO ports, VCC 3.3/5 V, GND, CLK, I2C/SPI buses pins which developers can use to connect their external sensors, switches and other controlled devices to the ESP32 board and then program their behaviour within the code loaded to the board.

  • ESP32-DevkitC v2 pins (Figure 23).
Figure 23: ESP32-DevkitC pins.
  • ESP32-PICO D4 pins (Figure 24).
Figure 24: ESP32-Pico D4 pins.
  • ESP32 Wemos Pro pins (Figure 25).
Figure 25: ESP32-Pico D4 pins.
en/iot-open/getting_familiar_with_your_hardware_rtu_itmo_sut/esp/overview_of_the_hardware_device.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0