Skip to content

About

ESP32-P4-WIFI6-Touch-LCD-X Engineering Code Examples

Resources

Contributing

Stars

15 stars

Watchers

3 watching

Forks

Repository files navigation

ESP32-P4-WIFI6-Touch-LCD-X

ESP32-P4 7 / 8 / 10.1-inch MIPI-DSI touch display development boards

ESP-IDF examples Arduino examples License

中文 · 🌐 Product Page · 📚 Documentation · 📦 Factory Firmware · 🧩 ESP-IDF Examples · 🔧 Arduino Examples

Waveshare ESP32-P4-WIFI6-Touch-LCD-X product family


✨ Overview

The ESP32-P4-WIFI6-Touch-LCD-X series combines an ESP32-P4 multimedia processor, an ESP32-C6 wireless coprocessor, and a capacitive MIPI-DSI touch display in an all-in-one HMI platform. The family is available with 7, 8, and 10.1-inch displays for smart-home terminals, industrial controls, edge computing, multimedia, and interactive UI applications.

This repository contains first-party ESP-IDF and Arduino examples, factory flashing images, and board schematics. Refer to the official product page for current specifications and package contents.

📋 Product Variants

Product Display Controller SKU
ESP32-P4-WIFI6-Touch-LCD-7 7-inch, 720 × 1280 ILI9881C 30738
ESP32-P4-WIFI6-Touch-LCD-8 8-inch, 800 × 1280 JD9365 33673
ESP32-P4-WIFI6-Touch-LCD-10.1 10.1-inch, 800 × 1280 JD9365 33672

All three variants use a two-lane MIPI-DSI display interface and a GT9271 10-point capacitive touch controller. Display orientation is configurable in software.

🖥️ Hardware Overview

Feature Device / interface
Main processor ESP32-P4NRW32 with dual-core high-performance RISC-V and single-core low-power RISC-V processors
Memory 32 MB in-package PSRAM and 32 MB onboard NOR Flash
Wireless ESP32-C6-MINI-1U-H8 over SDIO, providing 2.4 GHz Wi-Fi 6 and Bluetooth 5 LE (hosted Wi-Fi compatibility)
Display 7 / 8 / 10.1-inch IPS panel over two-lane MIPI-DSI
Touch GT9271 capacitive touch controller with 10-point touch
Camera Onboard 5 MP OV5647 front camera over two-lane MIPI-CSI
Audio ES8311 audio codec, ES7210 echo-cancellation circuit, dual microphones, and speaker
Storage MicroSD card slot over SDIO 3.0
USB USB-to-UART Type-C port and USB 2.0 OTG High-Speed Type-C port
Expansion 40-pin header, battery connector, camera/display connectors, and board-to-board interfaces

For GPIO assignments and circuit details, use the repository schematics:

🚀 Getting Started

  1. Choose the product variant that matches your display.
  2. Follow the official ESP-IDF setup and example guide.
  3. Open a project under examples/esp-idf/, set the target to esp32p4, and review its README or configuration options. The examples default to ESP32-P4 Rev3.x; use the explicit silicon-revision profile only for older Rev1.3 hardware.
  4. For display examples, select the correct panel under Board Support Package (ESP32-P4) > Display > Select LCD type in menuconfig.
  5. Build, flash, and monitor the selected example using the ESP-IDF tools described in the official documentation.

Some multimedia examples require additional hardware or media files. Review the example-specific notes before flashing.

🧪 ESP-IDF Examples

Example Focus
01_HowToCreateProject Minimal ESP-IDF project template
02_HelloWorld Basic application and chip information
03_i2c_tools Interactive I2C bus tools
04_wifistation Wi-Fi station through the ESP32-C6 hosted connection
05_sdmmc MicroSD card access over SDMMC
06_I2SCodec ES8311 codec and I2S audio
07_Displaycolorbar MIPI-DSI display color bars
08_lvgl_demo_v9 LVGL 9 display and touch demo
09_video_lcd_display MIPI-CSI camera preview on the LCD
10_mp4_player MP4 / AVI media playback; check the example hardware notes
11_esp_brookesia_phone ESP-Brookesia phone-style UI
12_usb_extend_screen USB extended display, touch, and audio functions

🔧 Arduino

examples/arduino/ provides 10 first-party sketches for display, touch, text, LVGL 9, hosted Wi-Fi analysis, camera preview and ISP tuning, MicroSD, audio playback, and microphone capture. They follow the LCD-5 bundled-library layout: GFX_Library_for_Arduino, displays, LVGL 9.3.0, and lv_conf.h. All 10 sketches are compile-checked for LCD-7, LCD-8, and LCD-10.1. See the Arduino examples guide for the complete sketch list, peripheral assignments, exact Arduino-ESP32 3.3.11 FQBN, and variant build command.

The display reset is GPIO27. Touch INT and RST are intentionally left as GPIO_NUM_NC; the library probes 0x5D followed by 0x14, binds the actual responding address, and uses polling only. A compile result does not verify that display or touch behavior on hardware.

🤖 Continuous Integration

The ESP-IDF examples workflow discovers the 12 first-party projects and builds each one for esp32p4 with ESP-IDF v5.5.5 and v6.0.2. The six display examples are expanded for the 7-inch, 8-inch, and 10.1-inch display variants, producing 48 source-build rows in a full run. Only 04_wifistation and 05_sdmmc use their non-empty sdkconfig.ci overlay; display rows also use their selected LCD overlay. ESP-IDF v5.5.5 rows compile only; the 18 v6.0.2 display rows upload source-built CI artifacts retained for 14 days. All 48 rows and all 18 downloadable example artifacts use the rev3_x profile. Rev1.3 and Rev3.x are mutually exclusive ESP-IDF build targets; see ESP32-P4 Silicon Revisions before building for an older board. The separate documentation workflow applies a complete Markdown gate for ownership, bilingual companions and language-correct links, homepage symmetry, local links, and public-text privacy. It also verifies docs-only scope, so the discovery job remains visible for every pull request while documentation-only and factory-firmware-only changes select no example builds. A fixed-name ESP-IDF CI gate combines discovery with any selected matrix builds, so the workflow has one stable result for branch-protection rules.

The Arduino examples workflow compiles the 10 Arduino sketches with Arduino CLI 1.5.1 and Arduino-ESP32 3.3.11 for all three display variants (30 rows). It uses the postv3 ESP32-P4 board profile, is compile-only, and does not publish firmware or downloadable build artifacts. 05_GFX_ESPWiFiAnalyzer requires compatible hosted firmware on the ESP32-C6 coprocessor when run on hardware; see hosted Wi-Fi compatibility.

Factory binaries are excluded from source-build discovery. See Component Ownership for the boundary between local board glue, embedded upstream code, and managed-component candidates. The 11 phone-style example is compile-covered only; its 7-inch hardware/UI has not been verified and this repository does not add a 720x1280-specific stylesheet.

📦 Factory Firmware

The default ESP-Brookesia firmware source is available under firmware/brookesia/. The Rev3.x merged factory images built from that source are:

  • ESP32-P4-WIFI6-Touch-LCD-7-FactoryOnly-260915.bin
  • ESP32-P4-WIFI6-Touch-LCD-8-FactoryOnly-260820.bin
  • ESP32-P4-WIFI6-Touch-LCD-10.1-FactoryOnly-260820.bin

Use only the image that matches your hardware and ESP32-P4 Rev3.x. Superseded fixed-name FactoryOnly images have been removed; only the current dated images are kept. These binaries are separate from source-built CI artifacts. See the official resources and documents for the flash download tool and related materials.

🗂️ Repository Layout

Path Purpose
examples/esp-idf/ First-party ESP-IDF projects
examples/arduino/ First-party Arduino sketches and bundled LCD-5-style libraries
firmware/ Factory flashing binaries and default firmware source
docs/ Compatibility and maintainer notes
schematic/ Board and adapter schematics
assets/ Product images used by the documentation
.github/ CI workflows and example discovery tools

🤝 Support and Contributions

Contributions and reproducible issue reports are welcome. Include the product variant, hardware revision if known, example path, ESP-IDF version, reproduction steps, expected behavior, actual behavior, and relevant serial logs.

📄 License

This repository is licensed under the Apache License 2.0. See LICENSE.txt.

About

ESP32-P4-WIFI6-Touch-LCD-X Engineering Code Examples

Resources

Contributing

Stars

15 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages