Files
maze32/docs/BOARD_PASSPORT.md
T

67 lines
3.0 KiB
Markdown

# Board passport
## Confirmed hardware
The target contains an ESP32-C6FH4 (chip revision 0.2) with 4 MB of embedded
Flash and a 40 MHz crystal. It was identified electronically on 2026-08-27 with
`esptool.py` 4.11.0 through the native Espressif USB Serial/JTAG interface at
`/dev/ttyACM0` (USB VID:PID `303a:1001`). No PSRAM was reported or is required.
These observations establish chip-level facts only. The carrier PCB maker,
commercial model, revision, GPIO routing, and any built-in LED remain unknown.
Firmware must not depend on those unverified details.
## Locked project baseline
The canonical build uses:
- PlatformIO with `platformio/espressif32@7.0.1`;
- ESP-IDF;
- the compatible `esp32-c6-devkitm-1` build profile;
- explicit 4 MB build and upload Flash sizes;
- `sdkconfig.defaults` with 4 MB Flash and 16 LwIP sockets;
- the root `partitions.csv` layout;
- LittleFS for browser assets;
- no OTA partition and no PSRAM requirement.
The PlatformIO board profile is a compatible compilation target. It is not
evidence that the physical carrier is an Espressif ESP32-C6-DevKitM-1.
## Canonical Flash layout
| Name | Type | Subtype | Offset | Size | End |
| ---------- | ---- | -------- | --------- | ---------- | ---------- |
| `nvs` | data | nvs | `0x9000` | `0x6000` | `0xF000` |
| `phy_init` | data | phy | `0xF000` | `0x1000` | `0x10000` |
| `factory` | app | factory | `0x10000` | `0x200000` | `0x210000` |
| `littlefs` | data | littlefs | `0x210000`| `0x1F0000` | `0x400000` |
The partitions are contiguous from NVS through the end of Flash. The factory
application partition is 2 MiB, the LittleFS partition is 1,984 KiB, and the
layout ends exactly at the confirmed 4 MB boundary. The area below `0x9000` is
reserved for the bootloader and partition table by the ESP-IDF layout.
## Explicit unknowns
The following facts have not been verified and must not be assumed:
- carrier PCB manufacturer, model, or revision;
- header and peripheral GPIO mapping;
- presence, GPIO, polarity, or type of a built-in LED;
- whether the carrier uses native USB only or includes another USB bridge;
- availability of optional external RAM or peripherals.
Clear photographs of both sides of the board and matching manufacturer
documentation are required before adopting any carrier-specific pin mapping.
## Candidate documentation
The `esp32-c6-devkitm-1` PlatformIO profile is used for compatibility only.
Espressif's DevKitM-1 documentation may be consulted as a candidate reference,
but its PCB-specific details remain noncanonical until physical markings prove
that the target is that model:
- [ESP32-C6-DevKitM-1 user guide](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitm-1/user_guide.html)
- [ESP32-C6-DevKitM-1 schematic](https://docs.espressif.com/projects/esp-dev-kits/en/latest/_static/esp32-c6-devkitm-1/schematics/esp32-c6-devkitm-1-schematics.pdf)
- [ESP32-C6-MINI-1 datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c6-mini-1_mini-1u_datasheet_en.pdf)