RomHack

Your badge, up and running

The RomHack 2026 badge is a pocket-sized ESP32-S3 computer inspired by the iconic Sony Walkman WM-22. Packed with a color screen, built-in audio, tactile buttons, and a rechargeable battery, it's built for hands-on hacking.
Follow these five simple steps to assemble your badge, connect it, and flash your first firmware, all directly from this page.

  • ESP32-S3
  • 2.4" TFT screen
  • Stereo audio + speaker
  • LiPo battery
  • USB-C
  • microSD slot
  • NFC Reader
  • Buttons
  • Camp Agenda
  • Camp Map
  • Retro Games
  • Cyber Trivia
ROMHACKCAMP 2026ROMHACK CAMP, OCT 2-4, 2026STEREO

Setup guide

Step 1 of 5

Connect the screen

Pass the display's flat cable through the slot, open the connector on the back, insert the flat cable and lock it. Then stick the screen into its frame.

1 / 5
01

Route the flat behind

SCREEN SIDE (FRONT) BACK OF THE BADGE slot SCREEN connector flat

Push the orange flat through the badge slot.

Start from the screen side and bring it out on the back, towards the connector. Do not crease it.

02

Slide the connector open

sliding lock, 50 pin SLIDE RIGHT

Pull the sliding lock outwards.

On the back, grip the black bar with a fingernail and slide it to the right a couple of millimetres until it stops. It does not flip up.

03

Insert the flat

straight in, all the way

Slide the flat into the connector.

With the lock open, push the flat in straight and without force until it stops, edges aligned.

04

Slide the connector closed

SLIDE LEFT

Slide the black lock back to the left.

Slide the black bar to the left until it is flush with the connector. The flat is now locked: give it a gentle tug to check.

05

Peel and stick the screen

A · PEEL THE STRIPS SCREEN (back) B · PRESS IN THE FRAME SCREEN

Remove the film, then press the screen into the frame.

Peel the film off both double-sided strips, line the screen up with the rectangular frame and press firmly all around.

Step 2 of 5

Connect the battery

The speaker cable sits right where the battery cable needs to go. Lift the speaker wires slightly and route the battery cable under them. The double-sided tape for the battery is supplied separately.

1 / 4
01

Know the two connectors

SPEAKER already plugged in BATTERY large header, empty

The small plug is the speaker. The large header is for the battery.

The speaker is already attached to its small header. The bigger white header below it is where the battery plugs in.

02

Lift the speaker wires

LIFT A LITTLE leave them plugged in

Raise the two speaker wires slightly.

Lift them a few millimetres off the board so there is a gap underneath. Do not unplug the speaker.

03

Cable under, then plug in

UNDER THE WIRES plug into the large header

Pass the battery cable under the speaker wires, then plug it in.

Slide the battery cable through the gap and press its plug into the large white header. Then let the speaker wires rest back down.

04

Stick the battery down

1 · add tape strips BATTERY 2 · press the battery on

Fix the battery in its frame with the double-sided tape supplied.

Stick the separate double-sided tape strips inside the rectangular frame, then press the battery down onto them. Keep the cable clear of the screen flat.

Step 3 of 5

Plug in the USB-C cable

Connect the badge to your computer with a USB-C data cable. Use the port on the left edge of the back of the badge.

YOUR PCESP32-S3microSDUSB-C portPLUG IN
  • Use a cable that carries data; some charge-only cables will not work.
  • Plug straight into your computer if you can, rather than through a hub.
  • The CHARGING LED on the badge shows the battery is charging.

Step 4 of 5

Enter bootloader mode

Make sure the badge is turned on by using the ON/OFF switch. Hold the BOOT button, tap RESET, then release BOOT. The badge stops running its current program and waits for new firmware. This also breaks a bootloop, where the badge keeps restarting.

OFFONESP32-S3-WROOM-1ESPRESSIFBOOTRESET1Hold BOOT2Tap RESET3Release BOOTBootloader mode
  • Keep BOOT pressed while you plug the USB-C cable in if the badge is stuck restarting.
  • The screen may stay blank in this mode. That is normal.
  • If your computer does not show a new serial port, unplug and repeat.

Step 5 of 5

Flash the firmware

If you are using Linux, please make sure that your user has the right permissions over the serial port.

How to check
  1. Identify your serial port. Unplug and reconnect the badge, then run:
    ls /dev/ttyACM* /dev/ttyUSB*
  2. Check its permissions. Replace the path if needed and note the owning group, usually dialout.
    ls -l /dev/ttyACM0
  3. Grant access. Run the command, then sign out and back in before retrying.
    sudo usermod -aG dialout $USER
  4. Create a udev rule if needed. Find the device IDs:
    udevadm info --attribute-walk --name=/dev/ttyACM0

    Create /etc/udev/rules.d/99-romhack-badge.rules with this content, replacing VID and PID:

    SUBSYSTEM=="tty", ATTRS{idVendor}=="VID", ATTRS{idProduct}=="PID", MODE="0660", GROUP="dialout"
  5. Reload udev. Run both commands, then reconnect the badge.
    sudo udevadm control --reload-rulessudo udevadm trigger

Web flasher - Web Serial API required

With the badge connected via USB and in bootloader mode, press the button below and choose it. The latest firmware from this repository is written to address 0x0.

Firmware
Loading…
Version
–
Size · flash address
–
Pick the badge's serial port in the browser prompt.
Show log

Browser not supported? Prefer the command line?

Download firmware.bin, install esptool (pip install esptool) and, with the badge in bootloader mode, run:

esptool.py --chip esp32s3 --port PORT --baud 921600 write_flash 0x0 firmware.bin

Replace PORT with the badge's serial port: COM3 on Windows, /dev/ttyACM0 on Linux, /dev/cu.usbmodem* on macOS. Newer esptool versions also accept esptool and write-flash.