Chips and boards

The chips espx supports with their Rust targets, and the dev boards it knows with their pins.

Chips

espx supports exactly the chips esp-generate can scaffold. espx chips prints this table, and --json prints it as data.

IdNameArchitectureRust targetStatus
esp32ESP32Xtensaxtensa-esp32-none-elfstable
esp32c2ESP32-C2RISC-Vriscv32imc-unknown-none-elfstable
esp32c3ESP32-C3RISC-Vriscv32imc-unknown-none-elfstable
esp32c5ESP32-C5RISC-Vriscv32imac-unknown-none-elfpreview
esp32c6ESP32-C6RISC-Vriscv32imac-unknown-none-elfstable
esp32c61ESP32-C61RISC-Vriscv32imac-unknown-none-elfpreview
esp32h2ESP32-H2RISC-Vriscv32imac-unknown-none-elfstable
esp32s2ESP32-S2Xtensaxtensa-esp32s2-none-elfstable
esp32s3ESP32-S3Xtensaxtensa-esp32s3-none-elfstable

The default chip is esp32c6. Preview marks preview silicon; --json shows it as "stable": false.

The RISC-V chips build with the stable Rust toolchain; espx setup adds their two targets through rustup. The Xtensa chips need Espressif's Rust fork, the esp toolchain, which espx setup --chip installs through espup. See Xtensa chips.

The ESP32-P4 is not in the table. It joins when esp-generate supports it.

Boards

espx knows a few dev board models. espx boards lists them and espx board <id> prints one. Pass an id to espx new --board to pick its chip and record its pins in the project's README.md and AGENTS.md. espx generates no pin code from it; the facts are there to read.

IdBoardChipUser LEDBOOT buttonUART TX / RX
xiao-esp32c6Seeed Studio XIAO ESP32C6esp32c6GPIO15, active-lowGPIO9GPIO16 / GPIO17
esp32-c6-devkitc-1ESP32-C6-DevKitC-1esp32c6GPIO8, addressable RGBGPIO9GPIO16 / GPIO17
esp32-s3-devkitc-1ESP32-S3-DevKitC-1 (initial revision)esp32s3GPIO48, addressable RGBGPIO0GPIO43 / GPIO44
esp32-s3-devkitc-1-v1.1ESP32-S3-DevKitC-1 v1.1esp32s3GPIO38, addressable RGBGPIO0GPIO43 / GPIO44
esp32-c3-devkitm-1ESP32-C3-DevKitM-1esp32c3GPIO8, addressable RGBGPIO9GPIO21 / GPIO20
esp32-devkitc-v4ESP32-DevKitC V4esp32none (power LED only)GPIO0GPIO1 / GPIO3
esp32-s2-saola-1ESP32-S2-Saola-1esp32s2GPIO18, addressable RGBGPIO0GPIO43 / GPIO44

The BOOT button is active-low on every board. The two ESP32-S3-DevKitC-1 revisions differ in the LED pin, so check the revision printed on yours.

USB ids and documentation

IdUSB (vendor
)
Documentation
xiao-esp32c6303A:1001Seeed Studio wiki
esp32-c6-devkitc-1303A:1001, 10C4:EA60User guide
esp32-s3-devkitc-1303A:1001, 10C4:EA60User guide
esp32-s3-devkitc-1-v1.1303A:1001, 10C4:EA60User guide
esp32-c3-devkitm-110C4:EA60User guide
esp32-devkitc-v410C4:EA60User guide
esp32-s2-saola-110C4:EA60User guide

303A:1001 is the chip's native USB serial/JTAG port and 10C4:EA60 a CP210x bridge. Every ESP32 with native USB reports the same pair, and so does every board with that bridge, so these ids identify the interface, not the board. espx devices therefore names a board model only when a board's USB ids match exactly one model, which none of these do today.