ESP32-P4X-EYE: знакомство с отладочной платой для машинного зрения на ESP32-P4

Перевод статьи 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
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-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-разъёмы, пользовательские кнопки и выключатель питания доступны снаружи, так что пользоваться платой можно, не разбирая корпус.

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

Вид сзади

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

Печатная плата: сторона с основными компонентами
Что внутри 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-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 |
| USB | USB 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 Demo | OV2710, 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 |
| Шина SD | 1 и 4 бита |
| Протоколы | SDIO или SPI |
| Папка для фото в Factory Demo | esp32_p4_pic_save |
| Папка для видео в Factory Demo | esp32_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 общего назначения. Разъём рассчитан на подключение проводами-перемычками и собственных плат расширения.

Распиновка разъёма расширения 2 × 10P
| Ряд | Левый контакт | Правый контакт |
|---|---|---|
| 1 | ESP_3V3 | GND |
| 2 | NC | GND |
| 3 | GPIO10 | GPIO34 |
| 4 | GPIO8 | GPIO7 |
| 5 | GPIO6 | I2C_SDA |
| 6 | GND | I2C_SCL |
| 7 | GPIO54 | GND |
| 8 | GPIO53 | GPIO52 |
| 9 | GPIO51 | GPIO50 |
| 10 | GPIO51 | GPIO37 |
Factory Demo для ESP32-P4X-EYE#
Проще всего начать работу с ESP32-P4X-EYE так: подать питание, залить фирменный Factory Demo от Espressif и проверить камеру, дисплей, хранилище, кнопки и USB-интерфейсы, прежде чем переходить к собственному приложению. Для прошивки и мониторинга последовательного порта предпочтительно подключаться через USB Debug Port.
Первое включение#
- Осмотрите плату и корпус на предмет видимых повреждений.
- Вставьте карту microSD, если хотите проверить фотосъёмку, съёмку по таймеру или запись видео.
- Подключите заведомо исправный кабель USB-C с линиями данных к USB Debug Port.
- Переведите выключатель питания в положение ON, если используете штатный входной тракт 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-IDF | Release/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).