
Waveshare ESP32-P4-Module-DEV-KIT
Waveshare · ESP32-P4-Module-DEV-KIT, базовая плата SKU 30560
Создаёт сетевые интерфейсы с экраном и камерой.
Автор: SLDV LAB
Опубликовано · Обновлено
О МОДУЛЕ
Что делает ESP32-P4-Module-DEV-KIT, базовая плата SKU 30560
ESP32-P4-Module-DEV-KIT построена на модуле Waveshare ESP32-P4-Module. Внутри модуля находятся ESP32-P4NRW32, беспроводной сопроцессор ESP32-C6 и 16 МБ NOR Flash; 32 МБ PSRAM интегрированы в корпус ESP32-P4. Плата подходит для сетевых интерфейсов, мультимедийных прототипов и приложений с MIPI-камерой или дисплеем.
Речь о базовой плате SKU 30560. Наборы -A/-B/-C дополняют её аксессуарами; наличие камеры, экрана, динамика или PoE-модуля нельзя выводить из фотографии основной платы. Это отдельная модель от компактной Core-DEV-KIT и от Espressif ESP32-P4X-Function-EV-Board.
Беспроводная связь реализована через ESP32-C6 по SDIO. Сам ESP32-P4 не содержит радиоблока; при переносе сетевого кода нужен согласованный комплект прошивок P4/C6 и драйвер связи. Наличие C6 на плате не делает произвольный скетч WiFi для других ESP32 готовым к запуску. Помимо 100-Мбит Ethernet доступны microSD, аудиокодек ES8311 с микрофоном и интерфейсом динамика, MIPI-CSI/DSI и USB.
Ревизия кристалла конкретного экземпляра по исходной фотографии не установлена. Официальные материалы встречаются с пределами 360 и 400 МГц. Репозиторий Waveshare разделяет legacy pre-v3 и v3.x: конфигурацию, частоту и бинарный файл выбирают по фактической ревизии. LP-ядро является отдельной малопотребляющей подсистемой, а не третьим равноправным ядром основного приложения.
Первый запуск лучше выполнять через UART USB-C и ESP-IDF с диагностическим проектом 00_board_check без подключённых дисплея, камеры и внешних модулей. После проверки загрузки и PSRAM добавляйте периферию по одному устройству. Возможности видеотракта и интерфейсов не гарантируют работу любого сенсора или дисплея: необходимы совпадающие шлейф, питание, pinout и драйвер.
Характеристики
- Основной процессор
- ESP32-P4NRW32; два HP-ядра RISC-V и отдельное LP-ядро
- Частота и stepping
- HP до 360 МГц для legacy pre-v3 либо до 400 МГц для v3.x; LP до 40 МГц. Ревизию экземпляра нужно определить.
- NOR Flash в модуле
- 16 МБ
- PSRAM в корпусе ESP32-P4
- 32 МБ
- Внутренняя память
- 768 КБ HP L2MEM, 32 КБ LP SRAM, 8 КБ SPM; ROM 128 КБ HP + 16 КБ LP
- Wi-Fi / Bluetooth
- ESP32-C6, Wi-Fi 6 2,4 ГГц и Bluetooth 5 LE; связь с P4 по SDIO, отдельная прошивка C6
- Ethernet
- RJ45, 10/100 Мбит/с
- USB
- Два USB-C: UART через CH343P и native USB; четыре USB-A в двух сдвоенных корпусах, с маршрутизацией OTG/CH334 через перемычки
- Камера и дисплей
- Отдельные 2-lane MIPI-CSI и MIPI-DSI; периферия и поддержка драйвера подбираются отдельно
- Аудио
- ES8311, встроенный микрофон; MX1.25 2-pin для динамика 8 Ом / 2 Вт
- Карта памяти
- Слот microSD с SDIO 3.0
- Внешняя гребёнка
- 2×20 контактов; 28 выведенных GPIO. Остальные контакты — питание и GND, отдельные GPIO разделены с бортовыми интерфейсами.
- Дополнительные разъёмы
- J10 I²C и J9 I3C, SH1.0 4-pin по схеме
- Питание по Ethernet
- Предусмотрен интерфейс для отдельного PoE-модуля; базовая плата без него не получает питание от PoE
- RTC-питание
- Отдельный разъём только для совместимой перезаряжаемой RTC-батареи; не общий вход LiPo для питания всей платы
- Кнопки
- BOOT на GPIO35; RESET на ESP_EN
- Аппаратная ревизия
- Точная ревизия PCB/кристалла по исходному изображению не установлена
- CAN/TWAI
- Контроллер TWAI доступен в ESP32-P4; для физической CAN-шины нужен отдельный трансивер
- Интерфейс
- I²C, SPI, UART, Wi-Fi, Bluetooth
- Питание модуля
- Первый запуск: 5 В через UART USB-C и кабель данных. GPIO работают с логикой 3,3 В и не допускают 5 В. Не соединять несколько источников питания без анализа схемы. Для питания от Ethernet требуется отдельный совместимый PoE-модуль. Разъём RTC предназначен только для перезаряжаемой RTC-батареи, указанной изготовителем: не подключать обычную неперезаряжаемую CR2032 или произвольную LiPo. Не использовать I²C/I3C/USB/аудио-разъёмы как вход батареи. FPC и USB-перемычки переставлять при снятом питании.
ПРАКТИКА
Подключение

| Контакт модуля | Контакт платы | Назначение |
|---|---|---|
| UART USB-C | CH343P → UART0: TX GPIO37 / RX GPIO38 | Рекомендуемый первый порт для загрузки и журнала. Эти линии также выведены на гребёнку. |
| Native USB-C | GPIO24 D− / GPIO25 D+ | Отдельный путь встроенного USB; GPIO24/25 на P6 нельзя одновременно назначать другой периферии при использовании USB. |
| I²C SDA / SCL | GPIO7 / GPIO8 | Общая шина с бортовыми аудио- и MIPI-цепями. Только подтяжки к 3,3 В; не назначать эти контакты независимо от подключённой периферии. |
| J10 I²C, контакты 1–4 | GND / 3V3 / SDA (GPIO7) / SCL (GPIO8) | Нумерация из оригинальной схемы. Перед подключением проверить ориентацию ответного SH1.0. |
| J9 I3C, контакты 1–4 | GND / 3V3 / GPIO33 / GPIO32 | По схеме линии подтянуты резисторами 2,2 кОм к 3,3 В. Назначение протокола зависит от firmware; не менять порядок по внешнему сходству с J10. |
| BOOT / RESET | GPIO35 / ESP_EN | BOOT во время включения/сброса вводит в загрузчик. Не путать с GPIO0 из примеров ESP32-S3. |
| P6, нечётные контакты 1–19 | 1:5V; 3:5V; 5:GND; 7:GPIO37; 9:GPIO38; 11:GPIO22; 13:GND; 15:GPIO5; 17:GPIO4; 19:GND | Номера именно P6 на электрической схеме, не последовательность произвольной фотографии и не Raspberry Pi GPIO. |
| P6, нечётные контакты 21–39 | 21:GPIO1; 23:GPIO36; 25:GPIO32; 27:GPIO25; 29:GND; 31:GPIO54; 33:GND; 35:GPIO46; 37:GPIO27; 39:GPIO45 | GPIO25 — USB D+. Совместное использование вывода с активным бортовым интерфейсом требует проверки. |
| P6, чётные контакты 2–20 | 2:3V3; 4:GPIO7; 6:GPIO8; 8:GPIO23; 10:GND; 12:GPIO21; 14:GPIO20; 16:GPIO6; 18:3V3; 20:GPIO3 | GPIO7/8 — общая I²C-шина. Форма 40-pin не означает совместимость с Raspberry Pi HAT. |
| P6, чётные контакты 22–40 | 22:GPIO2; 24:GPIO0; 26:GND; 28:GPIO24; 30:GPIO33; 32:GPIO26; 34:GPIO48; 36:GPIO53; 38:GPIO47; 40:GND | GPIO24 — USB D−. GPIO0 здесь не BOOT. |
| MIPI-CSI / MIPI-DSI | CAMERA / DISPLAY | Отдельные двухполосные интерфейсы. Сверять электрическую совместимость и драйвер конкретной камеры/панели. |
| USB-A и перемычки HOST/DEVICE | USB OTG HS / CH334 hub | Всего четыре USB-A разъёма в двух сдвоенных корпусах; это не четыре независимых USB-контроллера. Маршрутизацию выбирать по схеме и документации, только без питания. |
Подходит для ESP32. Выберите контакты по документации своей платы.
ВАШ ПРОЕКТ · ВАШ ДАТЧИК
Интегрируйте модуль с ChatGPT
Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.
Помоги интегрировать Waveshare ESP32-P4-Module-DEV-KIT, базовая плата SKU 30560. Уточни задачу, ревизию кристалла/PCB, SDK/BSP и периферию. У платы 16 МБ NOR Flash и 32 МБ PSRAM, ESP32-C6 с Wi-Fi 6/BLE по SDIO, Ethernet, microSD и ES8311. Не переносить параметры Core-DEV-KIT и P4X-Function-EV-Board. Начни с UART USB-C и 00_board_check из фиксированного Waveshare Platform. Выбери pre-v3/v3.x по реальному кристаллу, не обходи проверку ревизии через --force. Используй Flash 16 MB и соответствующую PSRAM-конфигурацию. Подготовь минимальный пример, зависимости, обработку ошибок и контрольный вывод, отделив статическую проверку кода от компиляции и испытания на железе. GPIO7/8 — общая I²C-шина; native USB использует GPIO24/25, UART0 — GPIO37/38, BOOT — GPIO35. P6 имеет 40 физических контактов и не является Raspberry Pi HAT. Для MIPI, аудио, SD, Ethernet и беспроводной связи бери распиновку и BSP именно Module-DEV-KIT; согласуй прошивку ESP32-C6. Питание 5 В, логика 3,3 В. PoE требует отдельного модуля, RTC-разъём — только совместимой перезаряжаемой RTC-батареи.
Библиотеки
Установите библиотеку для своей среды и откройте пример из её документации.
Что именно прописать
- Целевой чип ESP-IDF
esp32p4Не esp32, esp32s3 или esp32c6.
- Опорная версия ESP-IDF
v5.5.5Объявлена в текущем официальном GETTING_STARTED; hardware-run в этой карточке не выполнялся.
- Снимок Waveshare Platform
6f78fa810ec505048c1941e3d09cefc9f29129bdФиксированный проверенный исходник; документация веб-сайта содержит другие старые имена revision defaults.
- Диагностический проект
examples/esp-idf/00_board_checkНе требует экрана, камеры, сети или внешних GPIO.
- Flash Size
16 MB; CONFIG_ESPTOOLPY_FLASHSIZE_16MB=yСовпадает с реальной Flash модуля и sdkconfig.defaults проекта 00_board_check. Перед сборкой проверить в menuconfig.
- Профиль v3.x
config/esp32p4_rev3_x.defaultsТолько после подтверждения v3.0+; SELECTS_REV_LESS_V3=n, REV_MIN_300=y.
- Профиль legacy pre-v3
config/esp32p4_rev1_3.defaultsДля поддерживаемого v1.x, включая v1.3; SELECTS_REV_LESS_V3=y, REV_MIN_100=y. Для иных stepping сначала сверить поддержку IDF, не выбирать наугад.
- PSRAM в board_check
CONFIG_SPIRAM=y; CONFIG_SPIRAM_SPEED_200M=yПараметры проверенного общего примера; реальную инициализацию подтвердить по журналу. Свободная PSRAM не обязана равняться 32 MB.
- Первый USB-порт
UART USB-C; serial monitor 115200 baudЧерез CH343P. Использовать один источник питания; PORT заменить реальным портом.
- I²C / UART / native USB
SDA=7; SCL=8; UART TX=37/RX=38; USB D−=24/D+=25Уже связанные бортовые линии; общий диагностический пример не переназначает GPIO.
Получить зафиксированный диагностический проект
textgit clone https://github.com/waveshareteam/ESP32-P4-Platform.git
cd ESP32-P4-Platform
git checkout 6f78fa810ec505048c1941e3d09cefc9f29129bd
cd examples/esp-idf/00_board_check
Команды подготовки проекта в настроенном ESP-IDF v5.5.5 terminal. Это ещё не прошивка. Сначала определить фактическую ревизию кристалла по маркировке/диагностике, затем выбрать ровно один из двух вариантов ниже.
Сборка для подтверждённого кристалла v3.x
textidf.py -B build-module-v3 -D SDKCONFIG=sdkconfig.module-v3 -D "SDKCONFIG_DEFAULTS=sdkconfig.defaults;../../../config/esp32p4_rev3_x.defaults" set-target esp32p4
idf.py -B build-module-v3 -D SDKCONFIG=sdkconfig.module-v3 menuconfig
idf.py -B build-module-v3 -D SDKCONFIG=sdkconfig.module-v3 build
idf.py -B build-module-v3 -D SDKCONFIG=sdkconfig.module-v3 -p PORT flash monitor
Полный workflow официального 00_board_check для v3.x при установленных SDK/toolchain. В menuconfig перед build обязательно выбрать Flash Size 16 MB и проверить PSRAM/консоль. PORT — реальный UART-порт. Нельзя применять этот бинарный файл к v1.x. Не компилировалось и не прошивалось в ходе подготовки карточки.
Альтернатива: подтверждённый legacy v1.x
textidf.py -B build-module-v1 -D SDKCONFIG=sdkconfig.module-v1 -D "SDKCONFIG_DEFAULTS=sdkconfig.defaults;../../../config/esp32p4_rev1_3.defaults" set-target esp32p4
idf.py -B build-module-v1 -D SDKCONFIG=sdkconfig.module-v1 menuconfig
idf.py -B build-module-v1 -D SDKCONFIG=sdkconfig.module-v1 build
idf.py -B build-module-v1 -D SDKCONFIG=sdkconfig.module-v1 -p PORT flash monitor
Только для поддерживаемого legacy v1.x, включая v1.3; это отдельная альтернатива, а не продолжение v3.x-команд. В menuconfig выставить Flash Size 16 MB. Не смешивать sdkconfig/бинарные файлы двух build-папок; не использовать --force. Для неопределённой ревизии сначала остановиться и идентифицировать кристалл.
Как оценить результат board_check
textIDF target: esp32p4
Silicon revision: фактическая ревизия экземпляра
Flash size: проверить настройку и определённую ёмкость
PSRAM: initialized
alive: периодический диагностический вывод
Это перечень ожидаемых полей, не журнал выполненного теста. Демо выводит два HP CPU cores, ревизию, Flash/PSRAM и alive раз в 5 секунд. Для Module-DEV-KIT ожидаются 16 МБ Flash и инициализация 32 МБ PSRAM; свободная куча меньше полной памяти. При ошибке сохранить лог и исправить профиль, а не отключать проверку ревизии.
Проекты с этим компонентом
Все проектыСвязанные проекты пока не опубликованы.


