ESP32 и другие чипы Espressif
ESP32 — это уже не один чип, а семейство: ESP32 и ESP32-S2, S3 на ядрах Xtensa, ESP32-C2, C3, C5, C6, H2 и P4 на RISC-V. Они различаются радио — Wi-Fi 4 или Wi-Fi 6, Bluetooth, IEEE 802.15.4 для Thread и Zigbee, — наличием USB и числом выводов. Здесь — сравнение по даташитам Espressif и страницы о выводах и платах.
ESP32 — общее имя семейства микросхем Espressif Systems со встроенным радио. Первый ESP32 вышел на двух ядрах Xtensa LX6; следующие поколения разошлись в две ветки: S — на ядрах Xtensa LX7 и C, H, P — на ядрах RISC-V. Программы для всех них собирают в среде разработки Espressif ESP-IDF, но выводы, радио и обвязка загрузки у чипов разные.
Чипы Espressif
Данные — с титульных страниц и из первых разделов даташитов (список — в источниках).
| Чип | Ядро | Частота | Радио | USB | GPIO | Корпус |
|---|---|---|---|---|---|---|
| ESP32 | Xtensa LX6, 1 или 2 | до 240 МГц | Wi-Fi 4 (802.11 b/g/n), Bluetooth 4.2 и LE | — | 34 | QFN 5×5 или 6×6 мм |
| ESP32-S2 | Xtensa LX7, 1 | до 240 МГц | Wi-Fi 4 | OTG | 43 | QFN56, 7×7 мм |
| ESP32-S3 | Xtensa LX7, 2 | до 240 МГц | Wi-Fi 4, Bluetooth 5 (LE) | OTG, Serial/JTAG | 45 | QFN56, 7×7 мм |
| ESP32-C2 (ESP8684) | RISC-V, 1 | до 120 МГц | Wi-Fi 4, Bluetooth 5 (LE) | — | 14 | QFN24, 4×4 мм |
| ESP32-C3 | RISC-V, 1 | до 160 МГц | Wi-Fi 4, Bluetooth 5 (LE) | Serial/JTAG | 22 или 16 | QFN32, 5×5 мм |
| ESP32-C5 | RISC-V, 1 + LP | до 240 МГц | Wi-Fi 6 2,4 и 5 ГГц, Bluetooth 5 (LE), 802.15.4 | Serial/JTAG | 29 | QFN48 или LGA48, 6×6 мм |
| ESP32-C6 | RISC-V, 1 + LP | до 160 МГц | Wi-Fi 6 2,4 ГГц, Bluetooth 5 (LE), 802.15.4 | Serial/JTAG | 30 или 22 | QFN40 или QFN32, 5×5 мм |
| ESP32-H2 | RISC-V, 1 | до 96 МГц | Bluetooth 5 (LE), 802.15.4 | Serial/JTAG | 19 | QFN32, 4×4 мм |
| ESP32-P4 | RISC-V, 2 + LP | до 400 МГц | — | OTG, Serial/JTAG | 55 | QFN104, 10×10 мм |
«LP» — отдельное малопотребляющее ядро RISC-V: до 48 МГц у C5, до 20 МГц у C6, до 40 МГц у P4. Радио IEEE 802.15.4 нужно для сетей Thread и Zigbee. Группа ESP32-C2 выпускается под именем ESP8684. Даташит ESP32-P4 пока предварительный (Pre-release v0.7).
Как выбрать
- Нужен только Wi-Fi и дёшево — ESP32-C2 или ESP32-C3; у C3 есть USB для прошивки и отладки без моста USB-UART.
- Нужен классический Bluetooth (BR/EDR) — только исходный ESP32: остальные чипы поддерживают лишь Bluetooth LE.
- Много выводов, USB OTG, обработка данных — ESP32-S3: два ядра на 240 МГц и 45 GPIO.
- Wi-Fi 6, Thread и Zigbee — ESP32-C6, а если нужен диапазон 5 ГГц — ESP32-C5; для узлов Thread и Zigbee без Wi-Fi — ESP32-H2.
- Производительность без радио — ESP32-P4: два ядра на 400 МГц и PSRAM в корпусе.
Выводы и загрузка
У каждого чипа несколько GPIO при сбросе выбирают режим загрузки: запуск программы или приём прошивки. Внешняя схема, которая в этот момент тянет их не в ту сторону, мешает запуску: плата перестаёт прошиваться или не стартует после подключения датчика. Эти выводы для всех чипов собраны на странице «Strapping-выводы ESP32».
Распиновки плат: ESP32-DevKitC на модуле ESP32-WROOM-32E, а из более старого семейства ESP8266 — NodeMCU и WeMos D1 mini. Все платы — в разделе «Распиновка плат».
Готовятся к публикации
ESP8266: отличия, выводы и спящие режимы · АЦП ESP32 · Глубокий сон ESP32 · ШИМ ESP32 (LEDC) · Прошивка ESP32: esptool и режимы загрузки
Частые вопросы
Чем ESP32-S3 отличается от ESP32?
Оба — на двух ядрах Xtensa с частотой до 240 МГц, но у ESP32 ядра LX6, а у S3 — LX7. ESP32 поддерживает классический Bluetooth 4.2 (BR/EDR) и Bluetooth LE, S3 — только Bluetooth LE 5, зато у него есть USB: контроллеры USB OTG и USB Serial/JTAG. У S3 больше выводов — 45 GPIO против 34, — и по-другому устроена обвязка загрузки: GPIO0, GPIO3, GPIO45, GPIO46 вместо GPIO0, GPIO2, GPIO5, GPIO12, GPIO15.
Какой ESP32 поддерживает Zigbee и Thread?
Радио IEEE 802.15.4, на котором работают Zigbee и Thread, есть у ESP32-C5, ESP32-C6 и ESP32-H2. У C5 и C6 оно стоит рядом с Wi-Fi 6 и Bluetooth LE, у H2 — только с Bluetooth LE, без Wi-Fi. ESP32-C5 к тому же работает в обоих диапазонах Wi-Fi — 2,4 и 5 ГГц.
У какого ESP32 нет Wi-Fi?
У ESP32-H2 — у него только Bluetooth LE и IEEE 802.15.4 — и у ESP32-P4: это микроконтроллер без радио, с двумя ядрами RISC-V на 400 МГц, PSRAM в корпусе и 55 GPIO.
Можно ли программировать ESP32-C3 через USB без отдельного преобразователя?
Да. У ESP32-C3, как у S3, C5, C6, H2 и P4, есть контроллер USB Serial/JTAG: через него записывают прошивку, получают консоль и отлаживают по JTAG. У классического ESP32 и ESP32-C2 USB нет — нужен мост USB-UART, как на плате ESP32-DevKitC.
Смотрите также
- МикроконтроллерыAVR, ARM Cortex-M, ESP32, PIC, MSP430: архитектура и выбор
- ESP32-DevKitC V438 контактов, АЦП, сенсоры, обвязка загрузки, питание, прошивка
- NodeMCU ESP8266D0–D10 и GPIO, выводы загрузки, A0, питание, прошивка
- Wemos D1 mini16 контактов, GPIO, выводы загрузки, A0, питание, I²C
- ARM Cortex-MЯдра M0–M85: архитектуры, FPU, DSP, MPU, TrustZone, выбор
- STM32Распиновки по корпусам, альтернативные функции, похожие по выводам МК