HOMEMADE BADGE

The real badge is at Breakpoint, in London.

This one wasmade at home.

Not pretty. It works. A 2.8" touchscreen, a clear breadboard on its back, an ESP32-C5 and twelve jumper wires. It runs a fork of Solana OS and has its own wallet. I tap the screen, or drive it from my keyboard over the cable.

exploded view

Taken apart.Nothing soldered.

A red 2.8" ILI9341 in front. A half-size clear breadboard on its back. An ESP32-C5 on top. Twelve jumper wires and one USB-C cable.

live · the screen is the real firmware

The screenis live.

It runs the real firmware. Click the screen, then use your arrow keys, Enter and Esc, the way I drive mine over serial. Drag to turn it. Or play with it flat, below.

TOKEN

official · not launched yet
$BADGEHomemade Badge
CAdrops at launch, from the badge_
pair
SOL · pump.fun
signed
on the badge
creator fees
→ its wallet
02 / PLAY

The real firmware, in your browser.

The badge's own C, compiled to WebAssembly. Same screen as the badge up top, same console. The real badge takes taps on its screen and a PC keyboard over USB serial; the pad here stands in for both. It made you a devnet wallet that lives in this browser.
CAat launch
--:--▂▄▆█▮▮▮
● pump.lua · the real firmware
+

click the screen, then ← ↑ ↓ → move · ⏎ ok · esc back · h home. In a text field just type, or ctrl+v.

--:--▂▄▆█▮▮▮
● console
▌
>

LAUNCH SEQUENCE

1 signature
  1. 01picturePNG or JPEG sent over USB into the chip's flash; the badge makes the thumbnail
  2. 02namename, ticker, description: typed on your PC's keyboard, over USB
  3. 03ipfsthe picture, then the metadata, up with your own key
  4. 04press okit builds the create_v2, shows it, signs when you press OK

THIS BROWSER

devnet

Your wallet here is a devnet wallet in this browser's storage. Launching needs devnet SOL (faucet.solana.com) and an IPFS key (wallet ipfs key).

03 / INSIDE

Six parts. Zero solder joints.

Everything on the badge, every wire on it, and what the firmware does once it boots. No PCB was ordered in the making of this badge.

BILL OF MATERIALS

6 parts · 0 solder joints
  1. 01ESP32-C5 N16R8

    RISC-V, Wi-Fi 6 on 2.4 + 5 GHz, 16 MB flash

    on the breadboard; apps live in its flash, BOOT is Home

  2. 022.8" ILI9341

    320 × 240 over SPI, XPT2046 touch

    the front: swipe from the left edge for back, tap the logo for home

  3. 03breadboard

    half size, clear

    stuck to the display's back, no solder

  4. 04jumpers

    12 female-to-male

    display header straight into the ESP32's pins

  5. 05capacitor

    100 µF

    across 5V and GND

  6. 06USB-C

    power + serial console

    a PC keyboard over USB drives it too. No battery yet

WIRING

ILI9341 → C5
CS · RST · DCGPIO 1 · 0 · 7
MOSI · SCKGPIO 10 · 9
LEDGPIO 3
T_CS · T_DOGPIO 6 · 8
T_DIN · T_CLKGPIO 10 · 9
VCC · GND5V · GND
HOMEGPIO 28 (BOOT)

SDO and T_IRQ not wired · touch is polled

FIRMWARE

C under a Lua app
  • ✓walletEd25519 in C; the key stays in the badge's flash, apps only see the address
  • ✓approveevery signature waits for the OS's own dialog: nothing is signed until you OK it
  • ✓rpcJSON-RPC straight from the badge over Wi-Fi, no phone in the middle
  • ✓imagesPNG and JPEG sent over USB, decoded and thumbnailed on the chip
  • ✓ipfspicture and metadata go up with your own key, from the badge
  • ✓kbtext fields take your PC's keyboard and paste over USB
  • ✓mintbring a vanity mint made on your PC (…pump), or a fresh random one