ESP32 Microcontroller Description
The ESP32 microcontroller, which entered the WiFi market in the fall of 2015, is an outstanding device, and not only because of its low price. Espressif ESP32 - highly integrated, combined (Wi-Fi + Bluetooth) chip, made for solutions that require minimal power consumption.
ESP32 is designed for wearable electronics and IoT applications; it is made in a super-miniature 6 x 6 mm package, requiring about 10 external components to be integrated. It has good functionality and promising features. The combination of two processor cores and a rich set of peripherals in one WiFi and Bluetooth chip can make ESP32 a leader in its segment. ESP32 promises to make a revolution in the IoT world again, as its younger brother ESP8266 did in due time.
ESP32 received a significant increase in performance compared with its predecessor ESP8266. Computing power increased fourfold. ESP32 has two cores, each of which operates at 160 MHz. The second core will make the life of a developer easier. For example, one core can take on real-time tasks related to working with graphics or controlling engines, and the second can handle communication protocols and generally be responsible for communication. Because of this, you have less to think about the distribution of time between tasks.
ESP32 specifications
ESP32 supports the entire stack of Wi-Fi 802.11n and BT4.2 protocols, providing this functionality through SPI / SDIO or I²C / UART interfaces.
The Espressif ESP 32 chip can operate as a central processor (Open CPU support) and as a slave device, controlled by a microcontroller.
Distinctive features:
CPU: Xtensa Dual-Core 32-bit LX6, 160 MHz or 240 MHz (up to 600 DMIPS)
Memory: 520 KByte SRAM, 448 KByte ROM
Flash on the module: 1, 2, 4 ... 64 MB
Memory: 520 KByte SRAM, 448 KByte ROM
Flash on the module: 1, 2, 4 ... 64 MB
Wireless:
- Wi-Fi: 802.11b / g / n / e / i, up to 150 Mbps with HT40
- Bluetooth: v4.2 BR / EDR and BLE
Peripheral interfaces:
- 12-bit SAR ADC up to 18 channels
- 2 × 8-bit DAC
- 10 × touch sensors
- Temperature sensor
- 4 × SPI
- 2 × I²S
- 2 × I²C
- 3 × UART
- 1 host (SD / eMMC / SDIO)
- 1 slave (SDIO / SPI)
- Ethernet MAC with DMA and IEEE 1588 support
- CAN 2.0
- IR (TX / RX)
- Motor pwm
- LED PWM up to 16 channels
- Hall sensor
- Ultra low power analog pre-amplifier
Security:
- IEEE 802.11 security WFA, WPA / WPA2 and WAPI
- Secure boot
- Flash encryption
- 1024-bit OTP, including up to 768-bit per task
- Cryptographic engine: AES, SHA-2, RSA, ECC, RNG
Raspnovka chip ESP32:
in ESP32 there is a JTAG interface on IO12, IO13, IO14, IO15 legs.
ESP32 is also available as a module:
»ESP-WROOM-32 module:
»ESP-WROOM-32 module:
WROOM32 pinout:
The WROOM-32 module can be supplied with a special debugging board:
This board allows you to quickly program the module using the built-in USB-TTL adapter. It also has programming and reset buttons, as well as a voltage regulator for powering the ESP32 microcontroller with a voltage of 3.3 V. The board also provides convenient access to the module pins, the pitch between which is quite narrow so that it can work with them without any problems. The pitch between the board leads is 2.54 mm, which is the standard for DIP cases, with which it is convenient to work with an ordinary radio amateur without special tools.
ESP32 debug board pinout:
ESP32 Development Tools
Software development tools (software development kit, SDK) consist of:
- Compiler The Xtensa LX106 compiler is included in the GNU Compiler Collection compiler package. Since the compiler has open source, different SDKs may contain different builds of this compiler, slightly different supported options.
- Libraries for working with controller peripherals, WiFi and TCP / IP protocol stacks.
- Means of loading an executable file into the memory of microcontroller programs
- Optional IDE.
Espressif freely distributes its developer kit. This kit includes the GCC compiler, espressif libraries, and the XTCOM boot utility. Libraries are delivered as compiled libraries, without source code. Espressif supports two versions of the SDK: one based on RTOS, the other based on callbacks. [2]
In addition to the official SDK, there are a number of alternative SDK projects. These SDKs use Espressif libraries or offer their own equivalent of Espressif libraries, obtained by reversing engineering methods.
- "Esp-open-sdk". Improved ExpressK SDK version. Contains the GCC compiler and some Expressif libraries. Only Linux. In Russian a little here.
- "Unofficial Development Kit" by Mikhail Grigoriev. The kit includes a Windows installer, a self-assembled GCC compiler with integration with Eclipse IDE graphics, current Espressif libraries and documentation sets, and some utilities. There is a Russian-language forum.
- The Arduino IDE for ESP8266 is an add-on to the Arduino IDE that allows you to program the ESP8266 as easily as any other Arduino module. At the same time, the network functionality of ESP8266 is available. GCC compiler, ESPTool firmware loader. Detailed Russian-language description of the installation process and the available API here, an example of work here.
- GNU toolchain for esp8266 Has the ability to integrate into Visual Studio.
- "ESP8266 GCC Toolchain" by Max Filippov.
- “Sming” [6] is the project of adding Arduino compatible libraries on top of the standard Espressif libraries, but without the Arduino preprocessor (that is, the programming is in pure C).
On the offsite now you can find links to two SDKs:
» ESP31_RTOS_SDK - SDK for ESP31B, built on FreeRTOS.
» Espressif IDF (IoT Development Framework) - Official development framework for ESP32.
Although it is not obvious from the description on the site, only ESP-IDF is suitable for the release version. There are installation instructions for linux, windows , macos .
As a result, we can say that the ESP32 microcontroller was excellent for its market segment. In such a cheap device so much functionality did not fit, probably no one else. But at the moment, ESP32 is still too young and not overgrown with the level of support that is typical today for ESP8266. There are not so many documentation, examples and supported environments.
you can see General information about Arduino
Comments: 0
Post a Comment