На базе IoT-платформы ESP32 DevKit v1 можно разрабатывать проекты, где требуется беспроводная передача данных по Wi-Fi и/или Bluetooth. Микроконтроллеры серии ESP32 от компании Espressif достаточно быстро завоевали популярность из-за отличных характеристик и более низкой ценой по сравнению с существующими решениями, отличная замена устаревшей платформы Arduino Uno. На базе модуля ESP32 реализуются проекты:
- Web-сервер и Web-клиент для обработки управляющих запросов;
- Беспроводной музыкальный проигрыватель интернет-радио и музыкального стриминга;
- Беспроводная метеостанция с различными датчиками и сенсорным управлением;
- Робот с дистанционным управлением по Wi-Fi или Bluetooth BLE;
- И многие другие.
Архитектура
Платформа для разработки ESP32 DevKit основана на модуле ESP32-WROOM с чипом ESP32-D0WDQ6 от Espressif.
Вид сверху и снизу
Элементы платы
Функциональная схема микроконтроллера
ESP32 DevKit на 36 контактов
Модули ESP32 DevKit бывают двух видов на 30 и 36 контактов. Разница заключается в выведенных контактах интегрированной flash-памяти на SPI интерфейсе.
Чип ESP32-D0WDQ6
Чип ESP32-D0WDQ6 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле), в которую входит 2-ядерный 32-битный процессор Tensilica Xtensa LX6 с блоками памяти ROM на 448 КБ и SRAM на 520 КБ. В кристалле расположены беспроводные модули Wi-Fi/Bluetooth, датчик Холла и сенсор температуры.
Модуль ESP32-WROOM
ESP32-WROOM — модуль с чипом ESP32-D0WDQ6, Flash-памятью на 4 МБ и всей необходимой обвязкой, которая спрятана под металлический корпус. Контакты SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3 и SCS/CMD, а именно, GPIO6 to GPIO11 подключены к интегрированной flash-памяти SPI, встроенной в модуль, и не рекомендуется ее использовать для других целей.
Рядом с корпусом расположена миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Металлический корпус экранирует компоненты модуля, создает клетку Фарадея, и тем самым улучшает электромагнитные свойства.
USB-UART преобразователь
Преобразователь USB-UART на микросхеме CP2102 обеспечивает связь модуля ESP32-WROOM с USB-портом компьютера. При подключении к ПК — платформа ESP32 DevKit определяется как виртуальный COM-порт.
Разъём micro-USB
Разъём micro-USB предназначен для прошивки и питания платформы ESP32 DevKit с помощью компьютера.
Светодиодная индикация
Название светодиода | Назначение |
---|---|
ON | Индикатор питания платформы. |
LED | Пользовательский светодиод на 2 контакте микроконтроллера. При задании значения «высокого уровня» светодиод включается, при «низком» – выключается. |
Кнопка EN
Кнопка предназначена для ручного сброса программы — аналог кнопки RESET обычного компьютера.
Кнопка BOOT
Кнопка служит для ручного перевода модуля в режим прошивки.
Регулятор напряжения
Линейный понижающий регулятор напряжение AMS1117-3.3 обеспечивает питание микроконтроллера. Выходное напряжение 3,3 вольта с максимальным током 1 А.
Характеристики
- Модуль: ESP32-WROOM с чипом ESP32-D0WDQ6
- Частота беспроводной передачи: 2,4 ГГц
- Стандарт Wi-Fi: 802.11b/g/n
- Стандарт Bluetooth: BLE v4.2 BR/EDR
- Тактовая частота: до 240 МГц
- Flash-память: 448 КБ
- Внешняя Flash-память: 4 МБ
- SRAM-память: 520 КБ
- Пинов общего назначения: 25 ввода-вывода (GPIO) и 4 ввода (GPI)
- Контактов с АЦП: 15
- Разрядность АЦП: 12 бит
- Контактов с ЦАП: 2
- Разрядность ЦАП: 8 бит
- Контактов с ШИМ: 21 (16 каналов)
- Разрядность ШИМ: 16 бит
- Контактов с ёмкостным сенсором: 8
- Пинов с прерываниями: 25
- Аппаратные интерфейсы: 3×SPI, 3×UART, 2×I²C и 2×I²S
- Напряжение логических уровней: 3,3 В
- Максимальный ток с пина или на пин: 12 мА
- Максимальный выходной ток пина 3V3: 1 А
- Входное напряжение через пин Vin: 5–14 В
- Габариты: 51×28 мм
Распиновка
Альтернативная схема распиновки от vishnumaiea.in.
Контакты питания
- VIN: Пин для подключения внешнего источника напряжения в диапазоне от 5 до 14 вольт. Так же можно подключить стандартный аккумулятор на 3.7V, которые используют в телефонах и планшетах (проверенно, точно работает).
- 3V3: Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 1 А. Регулятор обеспечивает питание модуля ESP32-WROOM.
- GND: Выводы земли.
Порты ввода/вывода
- Цифровые входы/выходы: 21 пин
1
–5
,12
–19
,21
–23
,25
–27
,32
и33
Контакты ввода-вывода общего назначения. Пины могут быть настроены на вход или на выход. Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА. - Цифровые входы: 4 пина
34
–36
и39
Контакты ввода общего назначения. Могут быть настроены только на вход. - ШИМ: все пины ввода-вывода
Позволяет выводить аналоговые значения в виде ШИМ-сигнала с разрядность 16 бит. Максимальное количество каналов 16. - АЦП: 15 пинов
2
,4
,12
–15
,25
–27
,32
–36
и39
Позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит. - ЦАП: пины
25(DAC1)
и26(DAC2)
Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 8-битные уровни напряжения. Выводы могут использоваться для аудио-выхода.
В отличие от большинства плат Arduino, родным напряжением ESP32 DevKit является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Более высокое напряжение может повредить микроконтроллер!
Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.
Интерфейсы
Каждый пин ввода-вывода платформы поддерживает аппаратные интерфейсы.
Интерфейс | Количество | Назначение |
---|---|---|
I²C | 2 | Используется для общения с периферией по последовательному интерфейсу «I²C». |
SPI | 3 | Для общения с периферией по последовательному интерфейсу «SPI». |
UART/Serial | 3 | Для общения с периферией по интерфейсу «UART». |
I²S | 2 | Используется для передачи и приёма цифрового звука с другими аудио устройствами. |
Контакты только для режима работы Input
Контакты GPIO с 34 по 39 предназначены только для режима работы на вход (Input). Эти выводы не имеют внутренних подтягивающих или понижающих резисторов.
Контакты с поддержкой Pull Up
- GPIO14
- GPIO16
- GPIO17
- GPIO18
- GPIO19
- GPIO21
- GPIO22
- GPIO23
Контакты без поддержки Pull Up
- GPIO13
- GPIO25
- GPIO26
- GPIO27
- GPIO32
- GPIO33
Шина I2C
На ESP32 размещено два канала шины I2C. По умолчанию в Arduino IDE для I2C используются контакты:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
Программирование
Поддерживается разработка с помощью Arduino IDE на языке C++. Но плата будет использоваться для разработки приложений на C# на базе платформы .NET nanoFramework.
Покупка
Модули ESP-WROOM можно купить Aliexpress. Модуль ESP32 DevKit v1 на 30 контактов был приобретен у продавца SAMIORE Store, лот ESP-32S ESP-WROOM-32 ESP32 ESP-32 Bluetooth and WIFI Dual Core CPU with Low Power Consumption MCU ESP-32, позиция ESP-32 30PIN, 1 мая 2020 года за $3.70, текущая (на 16.10.2021) стоимость без учета доставки составляет $3.65.
Отличия esp32 от esp8266
Платформы ESP8266 и ESP32 произведены одной компанией Espressif. Микроконтроллер ESP32 отличается от своего предшественника улучшенными характеристиками, увеличенным функционалом и большим объемом памяти. Стоимость нового устройства дороже примерно в 2 раза.
Важным преимуществом ESP32 является более быстрый Wi-Fi и Bluetooth. В ESP32 установлен более мощный процессор, позволяющий реализовывать сложные проекты. Эта платформа подходит для приложений, в которых требуется интернет или новые интерфейсы. Для более дешевых разработок используется ESP8266.
Объем памяти у нового устройства ESP32 увеличен – 512 Кб против 160 Кб ESP8266. Также ESP32 отличается большим количеством выводов GRIO. К нескольким контактам на ESP32 прикреплены емкостные сенсорные датчики и датчик температуры. На обоих устройствах контакты GRIO можно использовать по-разному. ESP32 имеет 18 12-битных АЦП каналов. У его предшественника есть всего 1 10-битный вывод АЦП.
Мощность процессора значительно влияет на скорость работы. Модуль ESP32 показывает рекордную производительность по сравнению с предшественником ESP8266. Загрузка страницы с длинным скетчем и множеством графики занимает секунды.
Все схемы и datasheet доступны в репозитории GitHub devdotnetorg/ESP32-WROOM-32.
Литература
- ESP32 WROOM DevKit v1: распиновка, схема подключения и программирование — Амперка/a>
- Микроконтроллер ESP32 и проекты Arduino — ARDUINOMASTER
- Урок 1. Общие сведения о системе ESP32. Плата DevKit V1. — ЭДУАРД. mypractic.ru
- ESP32 Pinout Reference : GPIO Overview & Features — uPesy Documentation
- ESP32 Pinout Reference: Which GPIO pins should you use? — RandomNerdTutorials.com
- ESP32 DEVKIT V1 DOIT — EspaceRM