|
1 | | -# Product Name |
| 1 | +# M5CoreP4X UserDemo |
2 | 2 |
|
3 | | -## Overview |
| 3 | +M5CoreP4X UserDemo is the preinstalled ESP-IDF demonstration firmware for the M5Stack M5CoreP4X. It presents the complete device UI and demonstrates board-level capabilities including power control, display, touch, audio, RTC, IMU, microSD, Ethernet, ESP-Hosted Wi-Fi, USB Host, infrared, and Grove I2C. |
4 | 4 |
|
5 | | -### SKU:xxx |
| 5 | +## Hardware and Environment |
6 | 6 |
|
7 | | -Description of the product |
| 7 | +- M5Stack M5CoreP4X with ESP32-P4, 16 MiB flash, and PSRAM |
| 8 | +- M5Stack A172 Stamp-AddOn C6 For P4 module with compatible ESP-Hosted slave firmware (required for Wi-Fi) |
| 9 | +- ESP-IDF v6.1 |
| 10 | +- Optional microSD card, Ethernet connection, USB devices, and Grove I2C peripherals |
8 | 11 |
|
9 | | -## Related Link |
| 12 | +## Demonstrated Features |
10 | 13 |
|
11 | | -- [Document & Datasheet](https://docs.m5stack.com/en/unit/product_Link) |
| 14 | +After startup, the device opens the LVGL Startup screen. Users can swipe between the main status, Info, and Function screens. The Function screen provides interactive pages for power control, touch, microSD, I2C scanning, IMU, recording, network ping, Wi-Fi, USB, infrared transmit and receive, music, sleep, and power-off operations. |
12 | 15 |
|
13 | | -## Required Libraries: |
| 16 | +The startup path initializes board power, RTC, audio, Ethernet, LCD, and touch. Ethernet connection waiting, the startup sound, and time-consuming page operations run in background tasks. The absence of an optional peripheral does not prevent the remaining demonstration pages from starting. |
14 | 17 |
|
15 | | -- [Adafruit_BMP280_Library](https://github.com/adafruit/Required_Libraries_Link) |
| 18 | +## Build |
16 | 19 |
|
17 | | -## License |
18 | | - |
19 | | -- [Product Name- MIT](LICENSE) |
20 | | - |
21 | | -## Remaining steps(Editorial Staff Look,After following the steps, remember to delete all the content below) |
| 20 | +```bash |
| 21 | +source esp-idf/export.sh |
| 22 | +idf.py -B build set-target esp32p4 |
| 23 | +idf.py -B build build |
| 24 | +``` |
22 | 25 |
|
23 | | -1. Change [clang format check path](./.github/workflows/clang-format-check.yml#L42-L47). |
24 | | -2. Add License content to [LICENSE](/LICENSE). |
25 | | -3. Change link on line 78 of [bug-report.yml](./.github/ISSUE_TEMPLATE/bug-report.yml#L79). |
| 26 | +The application image is generated at: |
26 | 27 |
|
27 | | -```cpp |
28 | | -Example |
29 | | -# M5Unit-ENV |
| 28 | +```text |
| 29 | +build/m5corep4x_user_demo.bin |
| 30 | +``` |
30 | 31 |
|
31 | | -## Overview |
| 32 | +## Flash and Monitor |
32 | 33 |
|
33 | | -### SKU:U001 & U001-B & U001-C |
| 34 | +Connect the download/debug USB port and replace the serial port with the one assigned by the host: |
34 | 35 |
|
35 | | -Contains M5Stack-**UNIT ENV** series related case programs.ENV is an environmental sensor with integrated SHT30 and QMP6988 internally to detect temperature, humidity, and atmospheric pressure data. |
| 36 | +```bash |
| 37 | +idf.py -B build -p /dev/ttyACM0 flash monitor |
| 38 | +``` |
36 | 39 |
|
37 | | -## Related Link |
| 40 | +## Repository Layout |
38 | 41 |
|
39 | | -- [Document & Datasheet](https://docs.m5stack.com/en/unit/envIII) |
| 42 | +- `main/`: application entry point, startup initialization, and firmware metadata |
| 43 | +- `components/m5_corep4_component/`: M5CoreP4X board support, LVGL UI, and function pages |
| 44 | +- `components/otool_esp_component/`: shared peripheral and audio utilities |
| 45 | +- `sdkconfig.defaults`: ESP32-P4, flash, PSRAM, network, and component configuration baseline |
| 46 | +- `partitions.csv`: application, NVS, PHY, and SPIFFS partition definitions |
| 47 | +- `THIRD_PARTY_SOURCES.md`: sources and pinned versions for bundled third-party code |
| 48 | +- `USER_DEMO_CODE_REVIEW_CN.md`: Chinese engineering review produced using the User Demo review standard |
40 | 49 |
|
41 | | -## Required Libraries: |
| 50 | +## Known Boundaries |
42 | 51 |
|
43 | | -- [Adafruit_BMP280_Library](https://github.com/adafruit/Adafruit_BMP280_Library) |
| 52 | +- A successful build does not replace hardware validation. Touch, audio, wireless, networking, and repeated page-entry stability must still be tested on an M5CoreP4X before release. |
| 53 | +- Wi-Fi requires the A172 Stamp-AddOn C6 For P4 module. It uses ESP-Hosted communication between the module's ESP32-C6 and the ESP32-P4; when Wi-Fi fails, first verify that the module is installed, then check its slave firmware, power rails, and SDIO connection. |
| 54 | +- The microSD card uses SPI mode to avoid contention with the SDMMC resources used by ESP-Hosted. |
44 | 55 |
|
45 | 56 | ## License |
46 | 57 |
|
47 | | -- [M5Unit-ENV - MIT](LICENSE) |
48 | | -``` |
| 58 | +See [LICENSE](LICENSE) for the project license. Bundled third-party components remain subject to their respective licenses; see [THIRD_PARTY_SOURCES.md](THIRD_PARTY_SOURCES.md) for source details. |
0 commit comments