ScriptKitty
DEF CON Badge
This handsome radio cat is an ESP32-S3 with a color touchscreen, a 915 MHz LoRa radio, ten NeoPixels, and a piezo that plays sound effects.
It's built for DEF CON 2026 to make hacking the mesh easy for beginners, and to give everyone the agency to choose how they communicate in an uncertain future.
// made in the USA by real catboys and catgirls.
Encrypted off-grid chat with friends in 5 steps
Your cyber cat is ready to yowl on the mesh! Here's how to get your radio meowing.
-
01
Power up.
2×AA batteries (switch on the back) or USB-C — auto-switching, USB wins when both are present. -
02
Antenna first.
Your antenna should be pre-installed, but make sure it's there before transmitting. RX is safe; TX into nothing can cook the radio's PA. -
03
Plug into USB-C.
The S3's native USB shows up as a serial port — no drivers. macOS:/dev/cu.usbmodem*, Linux:/dev/ttyACM0, Windows:COMx. -
04
Flash your firmware.
Flash any standalone image from here or scriptkitty.sh — or try the Badge Launcher to run multiple at once if you have an SD card. -
05
Send encrypted messages to friends off-grid.
Set your region and start transmitting in your mesh networking app of choice!
- Crossed touch lines. The touch controller and display-module SD slot have swapped MISO/MOSI — hardware SPI can't reach them. Use the dedicated SD slot (CS 10); firmware here already works around touch.
- The QWIIC connector is mounted backwards. Check the pinout and hand-wire QWIIC sensors instead of trusting the plug.
Choose how you communicate
The badge is your beginner guide to LoRa — a radio that talks over very long distances: a lower data rate than Wi-Fi, but much longer range. Meshtastic, MeshCore, and Reticulum are three decentralized, encrypted takes on off-grid communication built on it — they run without cell towers, accounts, or a company in the middle. The badge runs all three, so you can explore each and decide for yourself.
Train your cat — flash projects here
Flashing happens in your browser over Web Serial — every image is a complete .factory.bin written at offset 0x0. Close any open serial monitors first (one client per port), plug the badge in, and let 'er rip.
badge "waiting for download" after? tap RESET once — this flasher exits via hard-reset.
How to talk to your cat
Firmware in the repo uses the 115200 baud rate. Click connect, select your board, and you're ready!
meshtastic --port PORT --info. Human-readable logs live on the UART header (J4).
rnodeconf --info PORT. The TFT build shows frequency, airtime and channel load live on the badge screen.
More than nine lives
Every image is hardware-verified — hit flash to load it into the flasher above.
hello-badge is buttons + LED + buzzer in 100 lines. Copy one as a template.Tech specs
→ docs/pinout.md
→ docs/hardware.md
→ KiCad 8 sources in hardware/
Build a case
The full case-design kit, straight from the KiCad sources. The board is 142.4 × 81.0 mm with a 25.5 mm total assembly height (display glass to battery holder). Give your cat a house.