Files
battleship/docs/BOARD_PASSPORT.md

4.9 KiB

Board passport

Identification status

The target PCB has not been identified from physical markings. No photograph of the markings is available in the repository and no sources/ directory is present. A read-only esptool.py flash_id probe did identify the installed SoC and flash, but it cannot identify the PCB manufacturer, board model/revision, built-in LED, or board-specific pinout.

Required evidence to unblock Milestone 000:

  • clear photographs of both sides of the board, including all PCB and module markings;
  • the manufacturer's product page, schematic, and pinout matching those markings;
  • the PCB/model ordering code that matches the photographs.

Confirmed electronically

On 2026-08-27, the board appeared as /dev/ttyACM0 with USB VID:PID 303a:1001 and product name Espressif USB JTAG/serial debug unit. esptool.py 4.11.0 reported:

  • ESP32-C6FH4 in QFN32, chip revision 0.2;
  • 4 MB embedded flash, with 4 MB detected;
  • 40 MHz crystal;
  • native USB-Serial/JTAG mode.

The ESP32-C6FH4 ordering code and probe establish the 4 MB in-package flash. No PSRAM was reported. These are chip-level facts; they do not establish the carrier PCB model or its LED and pin routing.

Current repository baseline (not hardware confirmation)

Item Observed value Status
PlatformIO Core 6.1.19 Installed locally
PlatformIO platform platformio/espressif32 7.0.1 Installed locally; platformio.ini is not version-pinned
Framework ESP-IDF 6.0.1 Current project setting conflicts with the Arduino-first MVP baseline
Arduino Core Not installed Cannot be pinned and verified against this board yet
PlatformIO board esp32-c6-devkitm-1 Unverified candidate, not evidence of the physical model
Board-profile flash size 4 MB Unverified; profile metadata only
Detected physical flash size 4 MB Confirmed by esptool.py flash_id
Generated SDK flash size 2 MB Conflicts with the detected hardware and board profile
Generated partition table Single application, no LittleFS Does not meet Milestone 000

The current configuration is not yet a reproducible baseline: its generated SDK configuration must be changed from 2 MB to the confirmed 4 MB and its partition table must add LittleFS before firmware is uploaded.

Candidate reference only

If the physical markings prove that the board is an Espressif ESP32-C6-DevKitM-1, the matching authoritative references are:

For that board only, Espressif documents an ESP32-C6-MINI-1(U) module with 4 MB in-package SPI flash, no PSRAM, a USB-C connector connected through a USB-to-UART bridge, UART0 on GPIO16/GPIO17, native USB D-/D+ on GPIO12/GPIO13, and an addressable RGB LED on GPIO8. These values are deliberately not adopted as the target specifications until the markings match.

Memory map and partition status

No partition CSV has been selected yet. The confirmed 4 MB capacity permits a layout reserving, at minimum, NVS, PHY initialization, one application partition, and one LittleFS data partition. Exact offsets and sizes still need to be defined and checked against the framework's bootloader and partition alignment requirements.

Risks carried to the next action

  • A generic “ESP32-C6 Mini” may not match Espressif's DevKitM-1 pinout, LED polarity/type, or USB bridge. The flash capacity is confirmed independently.
  • GPIO8, GPIO12, GPIO13, GPIO16, and GPIO17 must not be assigned from the candidate documentation until the exact board is confirmed.
  • Official platformio/espressif32 7.0.1 exposes the C6 DevKitM profile only for ESP-IDF and its bundled Arduino Core 2.0.17 does not support ESP32-C6. An exact Arduino-compatible PlatformIO platform/Core pairing must be chosen and pinned after the board is identified, then proven by Milestone 001.