DEVELOPBY UNEXPECTED MAKER

Develop

Languages, development tools and ready-made projects for your next build.

If this is your first time using an Unexpected Maker development board, please check out the Getting Started guide → first.

Languages / platforms

Choose your language and development tools. Runtime support varies by chip; follow the linked project’s hardware requirements and board setup.

Rust

Compile embedded Rust with esp-rs for the ESP32 family.

Choose your MCU

1

Install Rust

Install Rust with rustup. It also installs Cargo, Rust’s build tool and package manager, which the cargo commands in the following steps use.

2

Install the RISC-V toolchain

ESP32-C6 uses a RISC-V CPU, supported by the standard Rust toolchain. Add the source component and the C6 target:

rustup toolchain install stable --component rust-src
rustup target add riscv32imac-unknown-none-elf
3

Install esp-generate and espflash

esp-generate creates a project for your chip; espflash flashes it.

cargo install esp-generate --locked
cargo install espflash --locked
4

Generate a project

Create a project for esp32c6, or run esp-generate on its own to choose options interactively:

esp-generate --headless -o esp32c6 my-project
cd my-project

Choose pins from your UM board’s pin reference; the chip support alone doesn’t know your board’s LED, regulator or battery connections.

5

Enter download mode

Connect the board with a USB data cable and close any serial monitor. Enter download mode before flashing.

1Hold BOOT

Keep BOOT pressed.

2Tap RESET

Press and release RESET while still holding BOOT.

3Release BOOT

Select the download-mode port on your computer.

There is no LED signal to confirm download mode. Check your computer’s serial-port list instead.

6

Build, flash and run

cargo run builds the project, flashes it with espflash and opens the serial monitor.

cargo run --release

When flashing finishes, press RESET to start the new firmware.

Deployable projects

Ready-made firmware and connected applications for lighting, sensors and home automation. Follow each project’s supported hardware and configuration guide.