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

TargetBuild tagResolution
GopherBadgegopher_badge320×240
NiceBadgenicenano240×135
GoBadge / PyBadgepybadge160×128

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.

ConstantLabelDescription
modeBadgeBadgeShows the personalised badge screen (name, titles, QR code, logo)
modeInfoInfoShow QR for quick access to info and tutorials about the board
modeScheduleGopherCon ScheduleBrowse the conference schedule and mark favourite talks
modeAdventureGopherCon AdventureText adventure set at the conference
modeLEDsRainbow LEDsNeopixel LED animations
modeAccelerometerAccelerometerLive 3-axis accelerometer visualisation (hardware with LIS3DH only)
modeMusicMusic!Play melodies via the buzzer
modeGameSnakeSnakeClassic snake game
modeGameLifeGame of LifeConway’s Game of Life simulation
modeGameColorsColor GameColour-matching reaction game
modeGameReflexReflexReaction-time tester
modeGamePacmanPac-ManPac-Man arcade game
modeEnterBootloaderEnter BootloaderReboots 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.

docs