Unlock your badge
Turn your badge into a normal ESP32-S3 you can flash yourself.
The game is over. The badge is yours: unlock it and it becomes a normal ESP32-S3 board that takes any firmware you write. Until you do, it keeps running ARIA's firmware and refuses everything else.
Unlocking erases everything on the badge, for good: your contacts, Stegomatrix messages, high scores and the game firmware itself. After the unlock the badge will not start again until you flash new firmware over USB, so have a computer ready.
The unlock code
8THM-DVQ2-GAH2-FEAL-SZ33
Capitals or not, with or without the dashes: either works.
1. Open the badge's console
- Plug the badge into your computer with a USB-C data cable (not a charge-only one).
- Open any serial terminal on its port at
115200baud: the Arduino IDE's Serial Monitor,screen /dev/ttyACM0 115200(Linux),screen /dev/cu.usbmodem* 115200(macOS), PuTTY (Windows, the COM port of the badge), orpython -m serial.tools.miniterm. - Press Enter: the badge answers. Type
helpto see its commands.
2. Unlock
- Type
unlock 8THM-DVQ2-GAH2-FEAL-SZ33and press Enter. The badge checks the code (one try every 3 seconds) and warns you that everything will be erased. - Within 60 seconds type
unlock confirm. - Within 60 seconds more type
unlock ERASE(capitals). - The badge erases its data and switches flash encryption off. It then resets and stays quiet: that is expected. Your badge is now unlocked.
3. Flash your own firmware
The badge is an ESP32-S3 (in the Arduino IDE: ESP32S3 Dev Module). Two things stay from the event and cannot be changed: the ROM's secure download mode (you can write the flash, not read it back) and JTAG is off. In practice that means two extra options when you flash:
- esptool (
pip install esptool):
A merged binary is what the Arduino IDE writes with Sketch → Export Compiled Binary (esptool --chip esp32s3 -p PORT --no-stub write-flash --no-compress 0x0 your_firmware.merged.bin*.merged.bin). It takes about 30 seconds. - Arduino IDE / PlatformIO: add
--no-stuband--no-compressto the upload command (in the Arduino IDE through aplatform.local.txtnext to the ESP32 core'splatform.txt).
If the badge does not show up as a port, hold the IO0 button while you plug it in: that starts the ROM loader, ready to flash.