Files
xiaozhi-esp32/main/boards/esp-p4-function-ev-board
Xiaoxia 734b5b410a Support both esp_video and esp32_camera (#1671)
* Update project version to 2.2.1 and refactor camera component handling

- Incremented project version from 2.2.0 to 2.2.1 in CMakeLists.txt.
- Removed legacy esp32_camera component and replaced it with esp_video for ESP32-S3 and ESP32-P4 boards.
- Updated board implementations to utilize the new esp_video component, ensuring compatibility and improved functionality.
- Cleaned up Kconfig options related to camera selection, streamlining the configuration process.
- Enhanced camera initialization logic across various board files to support the new component structure.

* Refactor camera handling in AtomS3R CAM/M12 EchoBase board

- Replaced the legacy EspVideo component with the new Esp32Camera class for improved camera functionality.
- Updated camera initialization logic to utilize a more structured configuration approach, enhancing clarity and maintainability.
- Removed outdated comments and code related to the previous camera implementation in the README file.

* Update camera configuration for atoms3r-cam-m12-echo-base

- Removed outdated camera configuration options from config.json to streamline the setup.
- Retained essential partition table configuration for improved clarity.

* Enhance Esp32Camera functionality and memory management

- Added esp_timer.h for improved timing functionality.
- Streamlined camera initialization by removing redundant frame buffer setup and logging.
- Improved memory allocation for JPEG encoding and added error handling for unsupported pixel formats.
- Updated comments for clarity and consistency, ensuring better understanding of the code flow.
2026-01-20 22:44:37 +08:00
..

ESP-P4-Function-EV-Board

Board support for ESP-P4-Function-EV-Board. WiFi uses ESPHosted via the onboard ESP32C6. LCD is supported via the official MIPIDSI LCD adapter.

Features

  • WiFi: esp_wifi_remote + esp_hosted (SDIO) with ESP32C6 coprocessor
  • Display: 7" MIPIDSI LCD (1024×600) via adapter; can also run headless
  • Audio: ES8311 codec with speaker and microphone support
  • Touch: GT911 capacitive touch controller
  • SD Card: MicroSD card support (MMC mode)
  • Camera: MIPI-CSI camera interface with fallback DVP configuration (OV5647, SC2336 sensors supported)
  • USB: USB host/device support
  • SPIFFS: Built-in flash filesystem support
  • Fonts: Custom font support with Unicode characters (Vietnamese, Chinese, etc.)

Configure

In menuconfig: Xiaozhi Assistant -> Board Type -> ESP-P4-Function-EV-Board

Ensure these are set (auto-set when building via config.json):

  • CONFIG_SLAVE_IDF_TARGET_ESP32C6=y
  • CONFIG_ESP_HOSTED_P4_DEV_BOARD_FUNC_BOARD=y
  • CONFIG_ESP_HOSTED_SDIO_HOST_INTERFACE=y
  • CONFIG_ESP_HOSTED_SDIO_4_BIT_BUS=y

LCD Connection (from Espressif user guide)

  • Connect the LCD adapter board J3 to the boards MIPI DSI connector (reverse ribbon).
  • Wire RST_LCD (adapter J6) to GPIO27 (board J1).
  • Wire PWM (adapter J6) to GPIO26 (board J1).
  • Optionally power the LCD adapter via its USB or provide 5V and GND from the board.

These pins are pre-configured in config.h as PIN_NUM_LCD_RST=GPIO27 and DISPLAY_BACKLIGHT_PIN=GPIO26. Resolution is set to 1024×600.

Build (example)

idf.py set-target esp32p4
idf.py menuconfig
idf.py build

Tip: In menuconfig, choose Xiaozhi Assistant -> Board Type -> ESP-P4-Function-EV-Board. If building a release via scripts, the config.json in this folder appends the required Hosted options.