Badge Firmware
Visit the official repository to download the source code, report issues, and get the latest version.
The badge firmware is a single shared codebase that targets multiple hardware boards. Each board gets its own build tag that activates the correct drivers, pin definitions, and display configuration — no forking required.
Hardware Targets
| Target | Build tag | Resolution |
|---|---|---|
| GopherBadge | gopher_badge | 320×240 |
| NiceBadge | nicenano | 240×135 |
| GoBadge / PyBadge | pybadge | 160×128 |
Menu Options
The main menu lists the available modes for each hardware target. The options shown depend on what is defined in menuOptions inside each defs_{board}.go file — simply add or remove a constant from that slice to control which entries appear.
| Constant | Label | Description |
|---|---|---|
modeBadge | Badge | Shows the personalised badge screen (name, titles, QR code, logo) |
modeInfo | Info | Show QR for quick access to info and tutorials about the board |
modeSchedule | GopherCon Schedule | Browse the conference schedule and mark favourite talks |
modeAdventure | GopherCon Adventure | Text adventure set at the conference |
modeLEDs | Rainbow LEDs | Neopixel LED animations |
modeAccelerometer | Accelerometer | Live 3-axis accelerometer visualisation (hardware with LIS3DH only) |
modeMusic | Music! | Play melodies via the buzzer |
modeGameSnake | Snake | Classic snake game |
modeGameLife | Game of Life | Conway’s Game of Life simulation |
modeGameColors | Color Game | Colour-matching reaction game |
modeGameReflex | Reflex | Reaction-time tester |
modeGamePacman | Pac-Man | Pac-Man arcade game |
modeEnterBootloader | Enter Bootloader | Reboots into UF2 bootloader mode for flashing new firmware (NiceBadge only) |
Configure Your Badge Online
Don’t want to set up a local build environment? Use the Badge Configurator to personalise your badge — choose your name, titles, QR code, and logo — and download the generated firmware directly.