ESP32 — микроконтроллер Espressif Systems¶
ESP32 — семейство 32-битных микроконтроллеров с поддержкой Wi-Fi и Bluetooth, разработанных китайской компанией Espressif Systems. Чипы построены на ядрах Xtensa LX6/LX7 (для двухъядерных версий) или RISC-V (для более поздних моделей), работают на частотах до 240 МГц, оснащены оперативной памятью от 520 КБ SRAM и поддерживают внешнюю flash-память. ESP32 стал одним из самых распространённых контроллеров для проектов интернета вещей (IoT) благодаря низкой стоимости (от 1–3 доллара за модуль), встроенному радиомодулю и открытой экосистеме инструментов.
¶История
Компания Espressif Systems основана в 2008 году в Шанхае инженером Тейо Эспозито (Teo Swee Ann). Первым её продуктом стал чип ESP8266 — недорогой модуль Wi-Fi, получивший широкое распространение в 2014–2015 годах среди хоббийных разработчиков. ESP8266 имел один ядро 80 МГц, ограниченные GPIO и не поддерживал Bluetooth, однако его цена и готовность к работе «из коробки» сделали его популярным в сообществе Arduino.
ESP32 представлен в 2016 году как преемник ESP8266. По сравнению с предшественником он получил два процессорных ядра, больше оперативной память, полный набор периферии (SPI, I2C, UART, ADC, DAC, PWM, CAN) и поддержку Bluetooth 4.2 (Classic и Low Energy). В дальнейшем линейка расширялась: выпущены версии с уменьшенным энергопотреблением (ESP32-S2, ESP32-S3), с поддержкой Wi-Fi 6 и Thread/Matter (ESP32-C6, ESP32-H2), а также модели на ядрах RISC-V (серии ESP32-C и ESP32-C2).
¶Архитектура и характеристики
Базовый двухъядерный ESP32 (модель ESP32-D0WDQ6) содержит два ядра Xtensa LX6 с частотой до 240 МГц. Каждое ядро может работать независимо, что позволяет, например, отдавать одно ядро под обработку сети, а второе — под пользовательскую логику. В чип встроены 520 КБ SRAM, 448 КБ ROM, а также контроллер flash-памяти; типовые модули на базе чипа комплектуются 4 МБ flash.
Интерфейсы ввода-вывода включают:
- до 34 программируемых GPIO;
- 18 каналов АЦП (12 бит), 2 канала ЦАП (8 бит);
- интерфейсы SPI, I2C, UART, I2S (звук), SDIO;
- модуль CAN (TWAI);
- таймеры, watchdog-таймеры, контроллер прерываний;
- аппаратный криптоускоритель (AES, SHA, RSA, RNG).
Радиомодуль поддерживает Wi-Fi 802.11 b/g/n в режимах station, soft-AP и station+AP, а также Bluetooth 4.2 BR/EDR и BLE. Рабочее напряжение — 3,0–3,6 В, потребление в режиме глубокого сна может снижаться до единиц микроампер.
¶Модификации
| Серия | Особенности |
|---|---|
| ESP32 (классическая) | Два ядра Xtensa LX6, Wi-Fi + Bluetooth 4.2 |
| ESP32-S2 | Одно ядро, Wi-Fi, USB OTG, безопасность, низкое энергопотребление |
| ESP32-S3 | Два ядра Xtensa LX7, Wi-Fi + BLE 5.0, ускорение для ИИ/распознавания речи |
| ESP32-C3 | Одно ядро RISC-V, Wi-Fi + BLE 5.0, низкая цена |
| ESP32-C6 | RISC-V, Wi-Fi 6, BLE 5.3, Thread/Zigbee (Matter) |
| ESP32-H2 | Без Wi-Fi, BLE 5.3 + IEEE 802.15.4 (Zigbee/Thread) |
¶Программирование
Официальный SDK — ESP-IDF (IoT Development Framework), построенный на базе FreeRTOS. Для разработчиков Arduino доступно ядро ESP32 для Arduino IDE, что существенно упростило старт. Поддерживается MicroPython и Lua. Прошивка выполняется через UART или USB (в моделях с встроенным USB-OTG); загрузчик в ROM позволяет прошивать чип даже при пустой flash.
Espressif предоставляет облачные сервисы (ESP RainMaker) и платформу ESPHome для интеграции с системами умного дома Home Assistant. Для промышленных проектов компания предлагает модули с сертификацией FCC/CE и чипы с расширенным сроком поддержки.
¶Применение
ESP32 применяется в устройствах умного дома (свет, датчики, розеты, термостаты), промышленных контроллерах, системах мониторинга среды, носимых устройствах, робототехнике, аудиоприложениях (стриминг, детекторы звука). Благодаря поддержке Matter и Thread новые модели ESP32 позиционируются как связующее звено в экосистемах умного дома.
В России и СНГ модули ESP32 широко используются в любительских и коммерческих проектах автоматизации: от датчиков протечки и умных выключателей до промышленных телеметрических систем. Низкая цена и доступность делают их одним из базовых компонентов для обучения основам электроники и программирования встраиваемых систем.
¶Ограничения
ESP32 не поддерживает оперативную память SDRAM (в отличие от ESP32-S3 с PSRAM-вариантами), имеет ограниченное число каналов АЦП и их невысокую точность, а также чувствителен к помехам при работе Wi-Fi рядом с аналоговыми цепями. Для проектов, требующих строгой сертификации безопасности, применяются версии с аппаратным модулем безопасности (ESP32-S3, ESP32-C3).
Источники:
- Espressif Systems. Документация по ESP32 (docs.espressif.com)
- Espressif Systems. Technical Reference Manual: ESP32
- Arduino. Документация ESP32 для Arduino IDE
- MicroPython. Документация по платформе ESP32
