Changes
This is a huge update that implements changes to make configuration easier, with the biggest two changes being improvements to the Web Config and Mini menu.
Frontend changes
Layout page
Instead of the old pin mapping page, there's now a new Layout page for graphically mapping and changing LED colors.
Board SVG
The Board SVG view shows you the exact layout of a board with the keys and LEDs in their physical positions.
Widgets
New widgets for selecting controller and keyboard keys.
New landing page
Simple landing page with links to dections and other relevant pages.
Configuration options are hidden by default
These are settings that are meant for making custom boards, and changing them (like the i2c pins) can leave your controller in an unbootable state. The tab will appear when holding start+select at boot, but is otherwise hidden.
I still don't recommend touching any of these settings. If something makes sense to expose to the end user, it should be moved to settings.
Firmware changes
Switch Pro Input Mode
Merged upstream PR for Switch Pro input mode for better Switch 2 support.
Xbox One Input Mode changes
Removed auth requirement since it works fine on PC without it and added the capture button from Xbox Series controllers.
New Ripple LED animation
Pressing a key activates a propegating wave of pressed color.
Mapped LEDs and keys to physical positions
Instead of mapping actions to pins and LEDs to actions, both are mapped to physical positions. This means you don't need to memorize pin locations on the board and have LED colors jump around when remapping.
New old splash screen
Re-implemented the old splash screen from my original GP2040 fork.
Mini Menu
The Mini Menu was built into GP2040-CE, but using it required a bunch of dedicated keys or hotkeys.
The new system uses a single hotkey to toggle the menu. You can navigate using udlr + a/b and all keys are blocked to the connected device while the menu is active.
New board LED addon
Added addon for using the LED built into the RP2040 Zero. It shows a color for the current input mode by default and will blink a number of times when switching between profiles.
Miscellaneous
Docker Build
I used PlatformIO for a long time before the original GP2040, so the switch to the pico SDK was a bit annoying for me. Now there's a dockerfile and build script for an easy one-command build process that automatically pulls the SDK in a docker container.
Image Processing Script
I like it when screenshots look nice, so I added a script for automatically rounding corners, adding a transparent border, adding a drop shadow, and creating split images.
See the full changelog for all 401 commits.
Installation
- Download the
.uf2firmware file for your board below - Enter BOOTSEL mode — hold the BOOTSEL button while plugging in (or double-press the reset button)
- A removable drive named
RPI-RP2will appear — copy the.uf2file onto it - The device will flash and reboot automatically
If the device was previously used for other firmware, flash
flash_nuke.uf2first to clear memory.
Firmware
| Board | File |
|---|---|
| Fightboard v3 Basic Mirrored | GP2040-th_1.0.0_52a3dc3_Fightboard-v3-b-m.uf2 |
| Fightboard v3 Basic | GP2040-th_1.0.0_52a3dc3_Fightboard-v3-b.uf2 |
| Fightboard v3 Mirrored | GP2040-th_1.0.0_52a3dc3_Fightboard-v3-m.uf2 |
| Fightboard v3 | GP2040-th_1.0.0_52a3dc3_Fightboard-v3.uf2 |
| Springboard | GP2040-th_1.0.0_52a3dc3_Springboard.uf2 |