Curious Electric Firmware downloads

Plain files

Firmware downloads

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.

M5Stack Cardputer ADV · M5Stack Tab5

You need esptool once

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

M5Stack Cardputer ADV

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.

atfilesizewhat it is
0x0bootloader.bin19.6 KBsecond-stage bootloader
e9d6ccf43eef52d63abd2a8d5657548555d649dc704630da1808e9fcd1271100
0x8000partitions.bin3.0 KBpartition table: app0 at 0x10000, app1 at 0x340000
1d9cca96de0fe07ad7fc0648b9878ddecd9ce565e38b589ad20fea698ed4c80c
0xe000boot_app0.bin8.0 KBOTA selector, reset so the device starts in the sampler
f94c5d786a7a8fab06ac5d10e33bf37711a6697636dc037559ea19cc410a17f0
0x10000sampler.bin594.6 KBapp0: the sampler itself
710ff282f89eab6598d2eb82fbb71f4c6204fe7207e426bfefd4e5c087f610d0
0x340000msc_drive.bin577.6 KBapp1: USB drive mode, reached from the boot chooser
84dbab4d495d03696494b7e0c2f81668fdbaaccabd2dbc89b084a2c6c8955696

Check what you downloaded

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

Write it

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

M5Stack Tab5

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.

atfilesizewhat it is
0x2000bootloader.bin20.4 KBsecond-stage bootloader
5c7a2fa0a68820bce1de5df2170a7d3beadb77196567e5283195928e7ea5638a
0x8000partitions.bin3.0 KBpartition table: app0 at 0x10000, app1 at 0x150000
148b959cbff1c38aa8e1d5c0ba9d612c54997b945e56a63f41223eef650653a1
0xe000boot_app0.bin8.0 KBOTA selector, reset so the device starts in the sampler
f94c5d786a7a8fab06ac5d10e33bf37711a6697636dc037559ea19cc410a17f0
0x10000sampler.bin641.1 KBapp0: the sampler itself
37ee9492f693e058ff21b1ab1931e2d946153c354ed60e19107d2dbf32481514
0x150000msc_drive.bin625.6 KBapp1: USB drive mode, reached from the boot chooser
b7901710cf293415117c0961952aae776794f8f3ecb2df894d39968249aa8ab1

Check what you downloaded

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

Write it

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.

Two things worth knowing