<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Badge Firmware | Go Education Project</title><link>https://goeducation.net/docs/badge-firmware/</link><atom:link href="https://goeducation.net/docs/badge-firmware/index.xml" rel="self" type="application/rss+xml"/><description>Badge Firmware</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><image><url>https://goeducation.net/media/logo.svg</url><title>Badge Firmware</title><link>https://goeducation.net/docs/badge-firmware/</link></image><item><title>Badge Firmware</title><link>https://goeducation.net/docs/badge-firmware/firmware/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://goeducation.net/docs/badge-firmware/firmware/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;Visit the
to download the source code, report issues, and get the latest version.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The badge firmware is a &lt;strong&gt;single shared codebase&lt;/strong&gt; 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.&lt;/p&gt;
&lt;h2 id="hardware-targets"&gt;Hardware Targets&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Target&lt;/th&gt;
&lt;th&gt;Build tag&lt;/th&gt;
&lt;th&gt;Resolution&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GopherBadge&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gopher_badge&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;320×240&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NiceBadge&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nicenano&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;240×135&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GoBadge / PyBadge&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pybadge&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;160×128&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="menu-options"&gt;Menu Options&lt;/h2&gt;
&lt;p&gt;The main menu lists the available modes for each hardware target. The options shown depend on what is defined in &lt;code&gt;menuOptions&lt;/code&gt; inside each &lt;code&gt;defs_{board}.go&lt;/code&gt; file — simply add or remove a constant from that slice to control which entries appear.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Constant&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeBadge&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Badge&lt;/td&gt;
&lt;td&gt;Shows the personalised badge screen (name, titles, QR code, logo)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeInfo&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Info&lt;/td&gt;
&lt;td&gt;Show QR for quick access to info and tutorials about the board&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeSchedule&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GopherCon Schedule&lt;/td&gt;
&lt;td&gt;Browse the conference schedule and mark favourite talks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeAdventure&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GopherCon Adventure&lt;/td&gt;
&lt;td&gt;Text adventure set at the conference&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeLEDs&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rainbow LEDs&lt;/td&gt;
&lt;td&gt;Neopixel LED animations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeAccelerometer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Accelerometer&lt;/td&gt;
&lt;td&gt;Live 3-axis accelerometer visualisation (hardware with LIS3DH only)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeMusic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Music!&lt;/td&gt;
&lt;td&gt;Play melodies via the buzzer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeGameSnake&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Snake&lt;/td&gt;
&lt;td&gt;Classic snake game&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeGameLife&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Game of Life&lt;/td&gt;
&lt;td&gt;Conway&amp;rsquo;s Game of Life simulation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeGameColors&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Color Game&lt;/td&gt;
&lt;td&gt;Colour-matching reaction game&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeGameReflex&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Reflex&lt;/td&gt;
&lt;td&gt;Reaction-time tester&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeGamePacman&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Pac-Man&lt;/td&gt;
&lt;td&gt;Pac-Man arcade game&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;modeEnterBootloader&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enter Bootloader&lt;/td&gt;
&lt;td&gt;Reboots into UF2 bootloader mode for flashing new firmware (NiceBadge only)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="configure-your-badge-online"&gt;Configure Your Badge Online&lt;/h2&gt;
&lt;p&gt;Don&amp;rsquo;t want to set up a local build environment? Use the &lt;strong&gt;
&lt;/strong&gt; to personalise your badge — choose your name, titles, QR code, and logo — and download the generated firmware directly.&lt;/p&gt;</description></item></channel></rss>