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.

ESP-IDF

Use Espressif’s C/C++ framework for direct control of the chip.

Choose your MCU

1

Install ESP-IDF

Install ESP-IDF v6.1, the current stable release, with Espressif’s ESP-IDF Installation Manager (EIM). It installs the compiler, Python tools and example projects together.

When it finishes, open a terminal with the ESP-IDF environment active. On macOS and Linux, run the activation command EIM shows at the end of the installation.

Prefer an IDE? The ESP-IDF extension for VS Code installs and runs the same tools. VS Code extension →

2

Build the hello_world example

Copy the example into a working folder, set the target to esp32s3 and build it:

cp -r $IDF_PATH/examples/get-started/hello_world .
cd hello_world
idf.py set-target esp32s3
idf.py build

For console input and output over the board’s USB connector, run idf.py menuconfig and set Channel for console output to USB Serial/JTAG, then build again.

3

Enter download mode for the first flash

Your board ships running CircuitPython, so enter download mode before the first ESP-IDF flash. After that, idf.py flash can usually put the board into download mode by itself over USB Serial/JTAG.

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.

4

Flash and open the monitor

Replace PORT with your board’s port, such as /dev/cu.usbmodem01 on macOS or COM4 on Windows.

idf.py -p PORT flash monitor

If you entered download mode manually, press RESET after flashing to start your program, then reopen the monitor on the running board’s port if it changed. Exit the monitor with Ctrl+].

Deployable projects

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