Plain files
Every image we ship, with its offset, its size and its SHA-256, and the command that writes it. Nothing here needs an account, a login or a particular browser.
If you would rather click a button than type a command, use the flasher on the front page. This page is for people who prefer their own toolchain, and for the day we are no longer here to run one: these are ordinary files, and the licence says you keep them.
Espressif's own flashing tool, and the same one our build scripts use.
pip install esptool
Version 5 or newer. Older versions spell the commands with underscores, so write-flash would be write_flash and the --flash-* flags likewise.
ESP32-S3
Firmware 0.4.0, built 2026-09-05 13:25:54 UTC. Five files. All five are needed: the sampler alone boots into a chooser that offers a drive mode that would not be there.
Only have this board plugged in. Another ESP32-S3 board will accept these images without complaint, because esptool only checks the chip and both boards are S3. Make sure the Cardputer ADV is the only board plugged in.
| at | file | size | what it is |
|---|---|---|---|
| 0x0 | bootloader.bin | 19.6 KB | second-stage bootloader |
| e9d6ccf43eef52d63abd2a8d5657548555d649dc704630da1808e9fcd1271100 | |||
| 0x8000 | partitions.bin | 3.0 KB | partition table: app0 at 0x10000, app1 at 0x340000 |
| 1d9cca96de0fe07ad7fc0648b9878ddecd9ce565e38b589ad20fea698ed4c80c | |||
| 0xe000 | boot_app0.bin | 8.0 KB | OTA selector, reset so the device starts in the sampler |
| f94c5d786a7a8fab06ac5d10e33bf37711a6697636dc037559ea19cc410a17f0 | |||
| 0x10000 | sampler.bin | 594.6 KB | app0: the sampler itself |
| 710ff282f89eab6598d2eb82fbb71f4c6204fe7207e426bfefd4e5c087f610d0 | |||
| 0x340000 | msc_drive.bin | 577.6 KB | app1: USB drive mode, reached from the boot chooser |
| 84dbab4d495d03696494b7e0c2f81668fdbaaccabd2dbc89b084a2c6c8955696 | |||
Save SHA256SUMS next to the files and run this in that folder. It prints OK five times, or names the file that is wrong.
shasum -a 256 -c SHA256SUMS
Replace /dev/YOUR-PORT with the port the board appears on (ls /dev/cu.usbmodem* on macOS, /dev/ttyACM0 or similar on Linux, COM3 or similar on Windows). Run it in the folder holding the five files.
esptool --chip esp32s3 --port /dev/YOUR-PORT --baud 921600 \ write-flash -z \ --flash-mode keep --flash-freq keep --flash-size keep \ 0x0 bootloader.bin \ 0x8000 partitions.bin \ 0xe000 boot_app0.bin \ 0x10000 sampler.bin \ 0x340000 msc_drive.bin
Then unplug the board and plug it back in. It starts in the sampler.
ESP32-P4
Firmware 0.1.0, built 2026-09-05 13:21:50 UTC. Five files. All five are needed: the sampler alone boots into a chooser that offers a drive mode that would not be there.
| at | file | size | what it is |
|---|---|---|---|
| 0x2000 | bootloader.bin | 20.4 KB | second-stage bootloader |
| 5c7a2fa0a68820bce1de5df2170a7d3beadb77196567e5283195928e7ea5638a | |||
| 0x8000 | partitions.bin | 3.0 KB | partition table: app0 at 0x10000, app1 at 0x150000 |
| 148b959cbff1c38aa8e1d5c0ba9d612c54997b945e56a63f41223eef650653a1 | |||
| 0xe000 | boot_app0.bin | 8.0 KB | OTA selector, reset so the device starts in the sampler |
| f94c5d786a7a8fab06ac5d10e33bf37711a6697636dc037559ea19cc410a17f0 | |||
| 0x10000 | sampler.bin | 641.1 KB | app0: the sampler itself |
| 37ee9492f693e058ff21b1ab1931e2d946153c354ed60e19107d2dbf32481514 | |||
| 0x150000 | msc_drive.bin | 625.6 KB | app1: USB drive mode, reached from the boot chooser |
| b7901710cf293415117c0961952aae776794f8f3ecb2df894d39968249aa8ab1 | |||
Save SHA256SUMS next to the files and run this in that folder. It prints OK five times, or names the file that is wrong.
shasum -a 256 -c SHA256SUMS
Replace /dev/YOUR-PORT with the port the board appears on (ls /dev/cu.usbmodem* on macOS, /dev/ttyACM0 or similar on Linux, COM3 or similar on Windows). Run it in the folder holding the five files.
esptool --chip esp32p4 --port /dev/YOUR-PORT --baud 460800 \ write-flash -z \ --flash-mode keep --flash-freq keep --flash-size keep \ 0x2000 bootloader.bin \ 0x8000 partitions.bin \ 0xe000 boot_app0.bin \ 0x10000 sampler.bin \ 0x150000 msc_drive.bin
Then unplug the board and plug it back in. It starts in the sampler.