ESP32-S3-DevKit — это удобная плата для разработки IoT-проектов с поддержкой Wi-Fi и Bluetooth LE. Она оснащена всеми необходимыми компонентами, позволяющими сразу приступить к работе с чипом ESP32-S3-WROOM-1 при подключении к компьютеру.
С помощью ESP32 вы сможете реализовать множество сетевых проектов, таких как:
- Веб-сервер и веб-клиент для обработки управляющих запросов.
- Интернет-радиоприёмник или устройство для музыкального стриминга с подключением внешнего ЦАП через I²S.
- Беспроводная камера для видеостриминга с подключаемым КМОП-сенсором через DVP.
- Метеостанция с беспроводной передачей данных, встроенным датчиком температуры и сенсорным управлением.
- Мобильный робот с дистанционным управлением по Wi-Fi или Bluetooth LE.
Аппаратная часть ESP32-S3-DevkitC-1 построена на модуле связи ESP32-S3-WROOM-1 с PCB-антенной.
Однокристальная система ESP32-S3-WROOM-1-N8R2 включает в себя двухъядерный 32-битный процессор Tensilica Xtensa LX7 с тактовой частотой до 240 МГц, 512 КБ ОЗУ с дополнительными 2 МБ PSRAM и 384 КБ ПЗУ с дополнительными 8 МБ Flash-памяти. Процессор дополнен двумя энергосберегающими сопроцессорами ULP-RISC-V и ULP-FSM для управления периферией в режиме глубокого сна.
Поддерживается беспроводная связь Wi-Fi 802.11 b/g/n (2,4 ГГц) и протокол Bluetooth v5.0 с BLE. Также в чипе есть встроенный датчик температуры и контроллер сенсорного ввода.
Благодаря этим возможностям SoC ESP32-S3 — популярная платформа для устройств интернета вещей, которая отличается низким энергопотреблением с возможностью контроля датчиков и периферии в режиме глубокого сна.
Подключение периферии
C двух сторон платы расположено по 22 штырьковых контакта с шагом 2,54 мм, что позволяет установить её на макетную плату и подключить электронные компоненты для прототипирования устройства.
Доступны 36 контактов ввода-вывода общего назначения (GPIO).
- 20 входов умеют принимать аналоговый сигнал через 12-разрядный АЦП;
- 36 выходов поддерживают ШИМ-сигнал (до 8 каналов одновременно);
- 14 контактов могут служить тач-сенсором.
На пинах ввода-вывода можно сконфигурировать аппаратные интерфейсы:
- 3× UART;
- 4× SPI;
- 2× I²C;
- 2× I²S.
Дополнительные возможности:
- Интерфейс USB OTG 2.0 для работы с USB-периферией.
- Интерфейс для чтения/записи карт памяти SD.
- Подключение DVP-камер и LCD-дисплеев с 8- и 16-битным интерфейсом.
- Цифровой блок управления моторами и сервоприводами MCPWM.
Управление и индикация
На отладочной плате расположены две тактовые кнопки:
- Boot — ручной запуск режима прошивки.
- Reset — ручной перезапуск контроллера.
Также на плате есть индикатор питания и адресный RGB-светодиод, управляемый пользователем.
Питание
Плата питается через один из двух портов USB Type - C или контакты 3V3/5V.
- При питании через USB подойдёт сетевой адаптер с кабелем USB Type - C.
- Для питания через контакты 3V3/5V понадобится стабилизированный источник напряжения 3,3 В или 5 В соответственно.
Обратите внимание: напряжение логических уровней на пинах — 3,3 В, поэтому подключение 5-вольтовой периферии повредит микроконтроллер!
Программное обеспечение
Для программирования ESP32-S3-DevkitC-1 можно использовать Arduino IDE или визуальную среду программирования XOD IDE. Для прошивки понадобится USB-кабель, а если настроить плату, то загрузка данных может проходить прямо по воздуху.
Среди готовых библиотек для ESP32 в Arduino IDE вы найдёте код для запуска веб-сервера и HTTP/HTTPS-клиента, обмена данными по протоколу Bluetooth Low Energy и десятков других практических задач. Каждая библиотека снабжена примерами и комментариями, чтобы облегчить начало работы.
Платформа также поддерживает следующие инструменты программирования:
- Espruino – среда разработки на базе JavaScript.
- Espressif IoT Development Framework (ESP-IDF).
- Mongoose OS – операционная система для сетевых контроллеров, рекомендованная платформами AWS IoT и Google Cloud IoT.
- .NET nanoFramework – разработка на .NET C# с помощью Visual Studio.
- MicroPython – среда разработки, совместимая с Python 3 и оптимизированная для микроконтроллеров.
- CircuitPython — адаптированная версия Python 3 для быстрого начала работы с микроконтроллером.