The Badge

Flash it from this page. Nothing to install.

Plug the badge in with a USB-C data cable, press Connect, and pick the port that appears.

Check the board first. This build is for the Waveshare ESP32-S3-Touch-AMOLED-1.75C — the one in the aluminium case, with 32 MB of flash. Waveshare also sells a plain 1.75: 16 MB of flash, a TF slot and an RTC, and a different board support package. The partition table here assumes 32 MB and will not fit it. Either 1.75C works, with or without the battery.

Flashing replaces everything on the board, including any recordings already on it.

If the Connect button is greyed out

The page talks to the board through WebSerial, which only Chrome, Edge and other Chromium browsers have. Safari and Firefox cannot do it — use esptool from a terminal instead:

esptool.py --chip esp32s3 write_flash \
  0x0     bootloader.bin \
  0x8000  partition-table.bin \
  0x10000 badge_fw.bin

If nothing appears when you press Connect

Most of the time it is the cable: plenty of USB-C cables carry power only. Try another one. Failing that, hold BOOT, tap RESET, release BOOT — that puts the chip in download mode, where it always shows up.

Source and build instructions: github.com/curisama/The-Badge