Перевод статьи Getting Started with ESP32-P4X-EYE: ESP32-P4 Vision Development Board — Jobit Joseph.

Отладочные платы для машинного зрения нужны, когда во встраиваемом проекте надо собрать в одной платформе захват изображения, локальный дисплей, аудиовход, хранилище и беспроводную связь. ESP32-P4X-EYE построена именно по такому принципу вокруг ESP32-P4: к нему добавлены беспроводной модуль ESP32-C6, 2-мегапиксельная камера MIPI-CSI, 1,54-дюймовый SPI-дисплей, цифровой микрофон, слот microSD, USB-интерфейсы и разъём расширения 2 × 10 контактов.

Отладочная плата ESP32-P4X-EYE

ESP32-P4X-EYE

Espressif позиционирует ESP32-P4X-EYE в первую очередь для камерных применений: умного видеонаблюдения, детектирования с помощью моделей компьютерного зрения и периферийных (edge) IoT-вычислений. При этом плата задумана и как практичная платформа для разработки: у неё есть отладочный USB для прошивки, отдельный интерфейс USB 2.0 Device, пользовательские кнопки, поворотный энкодер, подсветка и разъём для аккумулятора.

В этом руководстве мы подробно рассмотрим железо, разберём основные интерфейсы и варианты питания, пройдём процесс загрузки и прошивки и покажем, как собрать и залить фирменный Factory Demo от Espressif с помощью ESP-IDF. Factory Demo объединяет захват с камеры, запись видео, хранение, доступ к карте памяти как к USB-накопителю и несколько функций ИИ-детектирования.

Коробка ESP32-P4X-EYE

ESP32-P4X-EYE в розничной упаковке

Основные характеристики ESP32-P4X-EYE#

ESP32-P4X-EYE построена на ESP32-P4, а в качестве беспроводного контроллера использует ESP32-C6-MINI-1U. На плате 16 МБ SPI-флеша, а платформа ESP32-P4 поддерживает до 32 МБ PSRAM. Набор периферии заточен под работу с изображением: камера подключена по MIPI-CSI, дисплей — по SPI.

ПараметрХарактеристика
Основной контроллерESP32-P4, двухъядерный процессор RISC-V
Беспроводной контроллерESP32-C6-MINI-1U для Wi-Fi и Bluetooth
SPI-флеш16 МБ
PSRAMДо 32 МБ
Камера2 Мп, MIPI-CSI, фокусное расстояние регулируется вручную
Дисплей1,54 дюйма, 240 × 240, SPI; ST7789
microSDШина SD 1 или 4 бита; SDIO или SPI
USB DeviceИнтерфейс USB 2.0 High-Speed OTG
USB DebugИнтерфейс USB-Serial-JTAG: питание, прошивка и отладка
МикрофонЦифровой, интерфейс PDM
Органы управленияПоворотный энкодер, три пользовательские кнопки, кнопки Boot и Reset
ОсвещениеБелая подсветка для фото и видео
РасширениеГнездовой разъём 2 × 10P
АккумуляторРазъём для литиевого аккумулятора; максимум 4 × 25 × 45 мм

Применения и сценарии использования#

Плата предназначена прежде всего для задач, где нужна обработка изображения в реальном времени вместе с беспроводной связью. Среди целевых применений Espressif называет умные камеры наблюдения, детектирование моделями компьютерного зрения и периферийные IoT-вычисления. Сочетание MIPI-CSI, локального дисплея, хранилища microSD, USB High-Speed и беспроводного модуля ESP32-C6 делает платформу удобной и для прототипирования подключённых к сети камер.

Внешний вид платы#

ESP32-P4X-EYE выполнена в закрытом корпусе: дисплей и органы управления находятся спереди, а камера, подсветка, микрофон и разъём расширения — на противоположной стороне. Слот microSD, USB-разъёмы, пользовательские кнопки и выключатель питания доступны снаружи, так что пользоваться платой можно, не разбирая корпус.

ESP32-P4X-EYE, вид спереди

Вид спереди

Передняя и боковая стороны#

На передней части расположены 1,54-дюймовый дисплей, слот microSD и три пользовательские кнопки. Сбоку — два разъёма USB-C: USB 2.0 Device Port — это высокоскоростной USB-интерфейс, через который плату можно и запитать, а USB Debug Port предназначен для прошивки, отладки и питания.

ESP32-P4X-EYE, вид сзади

Вид сзади

Печатная плата ESP32-P4X-EYE, обратная сторона

Печатная плата: сторона с дисплеем

Обратная сторона#

На противоположной стороне платы находятся ESP32-P4, ESP32-C6-MINI-1U, SPI-флеш, разъём аккумулятора, разъём камеры MIPI-CSI, цифровой микрофон, подсветка, поворотный энкодер и гнездовой разъём 2 × 10P. Там же расположены кнопки Boot и Reset.

Печатная плата ESP32-P4X-EYE, сторона с компонентами

Печатная плата: сторона с основными компонентами

Что внутри ESP32-P4X-EYE#

На функциональной блок-схеме в центре платы — ESP32-P4. Процессор подключён к камере MIPI-CSI выделенными линиями CSI и шиной управления I²C, к 1,54-дюймовому дисплею — по SPI, к карте microSD — по SDIO. ESP32-C6-MINI-1U общается с ESP32-P4 по SDIO, цифровой микрофон подключён через PDM. Два пути USB обеспечивают USB High-Speed и USB-Serial-JTAG.

Функциональная блок-схема ESP32-P4X-EYE

Функциональная блок-схема

Основной контроллер ESP32-P4#

В центре платы — ESP32-P4, двухъядерный процессор RISC-V для производительных встраиваемых задач. Espressif выделяет в платформе ESP32-P4 поддержку USB 2.0, MIPI-CSI/DSI, аппаратное кодирование H.264 и богатый набор периферии. На ESP32-P4X-EYE процессор обслуживает камеру, дисплей, microSD, USB, микрофон и интерфейсы расширения.

ПараметрХарактеристика
ПроцессорESP32-P4
Архитектура CPUДвухъядерный RISC-V
PSRAMДо 32 МБ
Флеш на плате16 МБ SPI-флеш
Интерфейс камерыMIPI-CSI
Интерфейс дисплеяSPI
USBUSB 2.0 High-Speed + USB-Serial-JTAG
Память / хранилище16 МБ флеша + внешняя microSD

Беспроводной контроллер ESP32-C6#

Беспроводную связь обеспечивает модуль ESP32-C6-MINI-1U. Он отвечает за Wi-Fi и Bluetooth и подключён к ESP32-P4 по SDIO. Модуль размещён на задней стороне платы рядом с ESP32-P4 и другой высокоскоростной периферией.

ПараметрХарактеристика
МодульESP32-C6-MINI-1U
НазначениеСвязь по Wi-Fi и Bluetooth
Подключение к хостуSDIO к ESP32-P4

Камера#

Камера — одна из главных особенностей ESP32-P4X-EYE. В руководстве пользователя указана 2-мегапиксельная камера с ручной регулировкой фокусного расстояния, подключённая к ESP32-P4 по MIPI-CSI. В сопутствующей документации Espressif на камеру приводится описание OV2710, а Factory Demo в логе определяет сенсор с PID 0x2710.

ПараметрХарактеристика
Разрешение2 Мп
ИнтерфейсMIPI-CSI
Фокусное расстояниеРегулируется вручную
Сенсор по документацииEspressif ссылается на описание OV2710
Определяется в Factory DemoOV2710, PID 0x2710

1,54-дюймовый дисплей#

На плате установлен 1,54-дюймовый SPI-дисплей 240 × 240. В руководстве пользователя контроллер дисплея указан как ST7789, а для управления подсветкой (LCD_BL) отведён GPIO20. В Factory Demo дисплей используется для превью с камеры и пользовательского интерфейса.

ПараметрХарактеристика
Диагональ1,54 дюйма
Разрешение240 × 240 пикселей
ИнтерфейсSPI
КонтроллерST7789
ПодсветкаLCD_BL, GPIO20

Цифровой микрофон и звук#

Для захвата голоса и звука на плату встроен цифровой микрофон. Согласно функциональной схеме, он подключён к ESP32-P4 через интерфейс PDM. В качестве примеров применения Espressif приводит распознавание голоса и запись звука.

ПараметрХарактеристика
МикрофонЦифровой
ИнтерфейсPDM
ПрименениеРаспознавание голоса и запись звука

Карта памяти microSD#

Слот microSD поддерживает работу и по SDIO, и по SPI. В официальном руководстве по железу указаны конфигурации шины SD на 1 и 4 бита. Слот удобен для хранения фотографий и видеофайлов, которые создаёт Factory Demo.

ПараметрХарактеристика
КартаmicroSD
Шина SD1 и 4 бита
ПротоколыSDIO или SPI
Папка для фото в Factory Demoesp32_p4_pic_save
Папка для видео в Factory Demoesp32_p4_mp4_save

Интерфейсы USB#

У ESP32-P4X-EYE два разъёма USB-C с разными ролями. USB 2.0 Device Port подключён к интерфейсу USB 2.0 High-Speed OTG процессора ESP32-P4 и тоже может питать плату. USB Debug Port подключён к интерфейсу USB-Serial-JTAG ESP32-P4, и именно его рекомендуется использовать для прошивки и отладки.

РазъёмНазначение
USB 2.0 Device PortВысокоскоростной интерфейс USB 2.0 Device; может питать плату
USB Debug PortПитание, прошивка, отладка и USB-Serial-JTAG

Кнопки, поворотный энкодер и подсветка#

Для управления приложением есть три пользовательские кнопки. Поворотный энкодер даёт и вращение, и нажатие, так что в приложениях им удобно листать меню, менять параметры или управлять зумом камеры. Кроме того, на плате есть отдельные кнопки Boot и Reset. Белая подсветка освещает сцену при съёмке фото и видео.

КомпонентНазначение
Пользовательские кнопкиВвод, определяемый приложением
Поворотный энкодерВвод для приложения; может управлять меню или зумом камеры
Кнопка BootВместе с Reset переводит в режим загрузки прошивки
Кнопка ResetСбрасывает ESP32-P4
Белая подсветкаОсвещение при съёмке фото и видео

Питание и аккумулятор#

ESP32-P4X-EYE можно запитать через любой из разъёмов USB-C. Для прошивки и отладки Espressif рекомендует USB Debug Port, но питание может подаваться и через него, и через USB 2.0 Device Port. Если установлен литиевый аккумулятор, при питании от USB он заодно заряжается.

Разъём аккумулятора находится на печатной плате, добраться до него можно, вскрыв корпус. Официальное руководство ограничивает размер литиевого аккумулятора 4 мм × 25 мм × 45 мм; разъём — с шагом 1,25 мм, полярность должна соответствовать маркировке на плате. Индикатор заряда горит красным во время зарядки и становится зелёным по её окончании.

Разъём расширения 2 × 10P#

Большая часть линий ввода-вывода ESP32-P4X-EYE выведена на разъём расширения 2 × 10P. На официальной схеме разъёма показаны питание, земля, I²C и несколько GPIO общего назначения. Разъём рассчитан на подключение проводами-перемычками и собственных плат расширения.

Распиновка разъёма расширения ESP32-P4X-EYE

Распиновка разъёма расширения 2 × 10P

РядЛевый контактПравый контакт
1ESP_3V3GND
2NCGND
3GPIO10GPIO34
4GPIO8GPIO7
5GPIO6I2C_SDA
6GNDI2C_SCL
7GPIO54GND
8GPIO53GPIO52
9GPIO51GPIO50
10GPIO51GPIO37

Factory Demo для ESP32-P4X-EYE#

Проще всего начать работу с ESP32-P4X-EYE так: подать питание, залить фирменный Factory Demo от Espressif и проверить камеру, дисплей, хранилище, кнопки и USB-интерфейсы, прежде чем переходить к собственному приложению. Для прошивки и мониторинга последовательного порта предпочтительно подключаться через USB Debug Port.

Первое включение#

  1. Осмотрите плату и корпус на предмет видимых повреждений.
  2. Вставьте карту microSD, если хотите проверить фотосъёмку, съёмку по таймеру или запись видео.
  3. Подключите заведомо исправный кабель USB-C с линиями данных к USB Debug Port.
  4. Переведите выключатель питания в положение ON, если используете штатный входной тракт 5 В.
  5. Если приложение нужно перезапустить, нажмите кнопку Reset.

Работа с Factory Demo#

Factory Demo позволяет на практике проверить всю аппаратную часть целиком. Фотосъёмка, съёмка по таймеру и запись видео задействуют камеру и карту microSD; дисплей служит локальным интерфейсом; энкодер и кнопки — органами управления; а порт USB 2.0 Device может отдавать содержимое SD-карты компьютеру.

Камера, хранилище и функции ИИ#

Фотографии сохраняются на SD-карту в каталог esp32_p4_pic_save. Съёмка по таймеру использует тот же каталог. Видео записывается в файлы MP4 в каталоге esp32_p4_mp4_save. В режимах ИИ доступно распознавание лиц и пешеходов, а в настройках можно включить детектирование объектов на YOLOv11-nano.

Доступ к SD-карте по USB. Когда в Factory Demo включена поддержка USB-накопителя (mass storage), подключите порт USB 2.0 Device к компьютеру, чтобы получить доступ к содержимому SD-карты. Это отдельный порт, не тот USB Debug Port, через который идут прошивка и отладка.

Работа от аккумулятора#

Плата может работать и от литиевого аккумулятора, подключённого к внутреннему разъёму. Соблюдайте полярность по маркировке и ограничения на размер аккумулятора, указанные Espressif. Если при установленном аккумуляторе подано внешнее питание по USB, схема зарядки может работать одновременно с платой.

Factory Demo — это эталонное приложение Espressif для ESP32-P4X-EYE. Оно объединяет камеру, SPI-дисплей, высокоскоростной USB, кнопки, поворотный энкодер и SD-карту в небольшое приложение-камеру. Официальный пример разработан под ESP-IDF release/v5.5 и её bugfix-релизы.

ФункцияЧто делает
ФотосъёмкаДелает снимки; цифровым зумом можно управлять энкодером или кнопками. Нужна SD-карта.
Съёмка по таймеруДелает снимки с заданным интервалом; любая кнопка останавливает режим. Нужна SD-карта.
Запись видеоЗаписывает видео в MP4; нужна SD-карта. Файлы сохраняются в esp32_p4_mp4_save.
ИИ-детектированиеРаспознавание лиц и пешеходов на фреймворке инференса esp-dl.
АльбомПросмотр снятых фотографий; текущее фото можно удалить нажатием на энкодер.
Монтирование по USBДаёт компьютеру доступ к файлам на SD-карте через интерфейс USB 2.0 Device.
НастройкиПоворот изображения, детектирование YOLO, разрешение, вспышка, насыщенность, контраст, яркость и оттенок.
Детектирование объектов YOLOЕсли включено в настройках, анализирует фотографии при просмотре альбома.

Как пользоваться Factory Demo#

Когда установлена SD-карта, режимы фотосъёмки и съёмки по таймеру сохраняют снимки в каталог esp32_p4_pic_save. Видеозаписи сохраняются в виде файлов MP4 в esp32_p4_mp4_save. В альбоме можно просматривать фотографии, а монтирование по USB позволяет получить доступ к содержимому SD-карты прямо с компьютера через USB 2.0 Device Port.

Режим ИИ-детектирования распознаёт лица и пешеходов и работает на фреймворке инференса esp-dl. Кроме того, в Factory Demo есть детектирование объектов на основе YOLOv11-nano: если его включить, объекты будут распознаваться на фотографиях прямо при просмотре альбома.

Начинаем работу с ESP-IDF#

Espressif рекомендует использовать качественный USB-кабель: кабели «только для зарядки» могут не иметь линий данных, необходимых для прошивки. Минимальный набор — компьютер с Windows, Linux или macOS, сама ESP32-P4X-EYE и USB-кабель. Карта microSD и литиевый аккумулятор — по желанию. Подробнее об установке и настройке можно прочитать в официальной документации ESP-IDF.

Что нужноПодробности
Отладочная платаESP32-P4X-EYE
USB-кабельUSB-C с поддержкой передачи данных
КомпьютерWindows, Linux или macOS
ОпциональноКарта microSD и литиевый аккумулятор
Рекомендуемый USB-портUSB Debug Port для прошивки и отладки
ESP-IDFRelease/v5.5 и её bugfix-релизы для Factory Demo

Клонируем репозиторий esp-dev-kits#

Factory Demo лежит в репозитории Espressif esp-dev-kits. Клонируйте его рекурсивно, чтобы подтянулись и все нужные компоненты.

git clone --recursive https://github.com/espressif/esp-dev-kits.git

Настраиваем Board Support Package#

Откройте проект Factory Demo в ESP-IDF и запустите menuconfig. В меню конфигурации выберите раздел Board Support Package и настройте плату ESP32-P4X-EYE так, как требует проект. Espressif отмечает, что опция ESP32P4_SELECTS_REV_LESS_V3 предназначена для исходного чипа ESP32-P4, а в ESP32-P4X-EYE используется обновлённый ESP32-P4 ревизии v3.1 или новее.

Собираем и прошиваем Factory Demo#

Подключите USB Debug Port к компьютеру. Если плата ещё не в режиме загрузки, зажмите кнопку Boot и нажмите Reset — ESP32-P4 перезапустится в режиме загрузки прошивки. После этого прошивку можно записать во SPI-флеш через USB Debug Port.

idf.py -p PORT flash monitor

Замените PORT на имя последовательного порта, которое получила плата. Если проект настроен под плату, эта команда соберёт его, прошьёт и откроет монитор последовательного порта. Выйти из монитора — Ctrl-].

Ревизия железа#

По ревизии основного чипа ESP32-P4X-EYE — преемница ESP32-P4-EYE. Espressif указывает, что основной чип в ESP32-P4X-EYE обновлён до ESP32-P4 ревизии v3.1 или новее. Это важно при выборе прошивок и примеров: в репозитории примеров Espressif файлы прошивок для плат ESP32-P4X имеют префикс p4x_, а для плат на исходном ESP32-P4 — префикс p4_.

Заключение#

ESP32-P4X-EYE — компактная платформа для разработки, ориентированная на машинное зрение: она объединяет производительный ESP32-P4 с камерой MIPI-CSI, локальным SPI-дисплеем, хранилищем microSD, цифровым аудиовходом, высокоскоростным USB и беспроводной связью на ESP32-C6. А разъём 2 × 10P оставляет полезный набор GPIO для собственного железа.

Factory Demo — удобная отправная точка, поскольку одно приложение задействует большую часть основной периферии платы. Когда камера, дисплей, хранилище и USB заработали, в той же среде ESP-IDF можно собирать более специализированные приложения для машинного зрения, мониторинга и периферийных вычислений. Подробности — в официальном руководстве пользователя ESP32-P4X-EYE.

Репозиторий с примером кода на GitHub#

Мы сделали прошивку охранной камеры для ESP32-P4X-EYE на ESP-IDF: она распознаёт лица, записывает короткие видеоклипы MJPEG со звуком AAC в файлы MP4 и сохраняет их на карту microSD. Кроме того, в прошивке есть живое превью, распознавание лиц, воспроизведение видео прямо на устройстве, доступ к SD-карте по USB и настраиваемые параметры записи.

Код: Circuit-Digest/Getting-Started-with-ESP32-P4X-EYE-ESP32-P4-Vision-Development-Board (скачать ZIP).