Repository navigation
Releases: thnikk/MP2040
Release list
v1.3.0
Changes
This release focuses on the remaining missing features of GP2040-th and making migration easier. I'll be archiving GP2040-th since MP2040 now encompasses all of the GP2040-th features and I don't want to maintain two separate codebases.
Added
- PS3/PS4/PS5 input modes
- USB host port support (needs testing and physical wired port)
- Playstation legends for the controller widget
- Config for BeatBoard-v2
- Caching for web assets
- Auto-migrate settings when flashing MP2040 over GP2040-th
- Support importing GP2040-th exported settings
- Overlay on reboot or disconnection in the web config
- Dirty state tracking for web config
- Sticky save button
- Browser setting to remember changes in LocalStorage
- Status LED flashes on profile changes
- Status LED shows preview color with color spinner
- More intuitive MIDI remapper in mini menu
Fixed
- Missing/wrong input history for keyboard/midi
- Fixed LED settings showing for basic Fightboard
Changed
- Hide LED settings for boards without LEDs
- Changed default mapping for Fightboards to put L1/L2 on the left and R1/R2 on the right (for non-mirrored).
See the full changelog for all 43 commits.
Installation
- Download the
.uf2firmware file for your board below. - Hold the second button while plugging the keypad in to enter BOOTSEL mode. If you have a touch model, plug it in first and touch the second button within 3 seconds.
- A removable drive named
RPI-RP2will appear. Copy the.uf2file onto it. - The device will flash and reboot automatically into the new firmware.
If the device was previously used for other firmware, flash
flash_nuke.uf2first to clear storage.
Firmware
| Board | File |
|---|---|
| 2k | MP2040_1.3.0_c59baf9_2k.uf2 |
| 2kw | MP2040_1.3.0_c59baf9_2kw.uf2 |
| 3x3 | MP2040_1.3.0_c59baf9_3x3.uf2 |
| 4K MegaTouch | MP2040_1.3.0_c59baf9_4kMegaTouch.uf2 |
| 4kw | MP2040_1.3.0_c59baf9_4kw.uf2 |
| BeatBoard-v2 | MP2040_1.3.0_c59baf9_BeatBoard-v2.uf2 |
| BeatBoard | MP2040_1.3.0_c59baf9_BeatBoard.uf2 |
| Fightboard Basic (Mirrored) | MP2040_1.3.0_c59baf9_Fightboard-b-m.uf2 |
| Fightboard Basic | MP2040_1.3.0_c59baf9_Fightboard-b.uf2 |
| Fightboard (Mirrored) | MP2040_1.3.0_c59baf9_Fightboard-m.uf2 |
| Fightboard | MP2040_1.3.0_c59baf9_Fightboard.uf2 |
| MacroPad | MP2040_1.3.0_c59baf9_MacroPad.uf2 |
| MegaTouch | MP2040_1.3.0_c59baf9_MegaTouch.uf2 |
| MiniTouch | MP2040_1.3.0_c59baf9_MiniTouch.uf2 |
| Springboard | MP2040_1.3.0_c59baf9_Springboard.uf2 |
v1.2.0
Changes
Added
- Ported controller widget from GP2040-th
- Controller widget now reflects input mode with icons for labels (where appropriate)
- Added XBox One input mode. This is mostly to have an alternative to the XInput mode that supports USB CDC for a simultaneous serial connection.
- Added d-pad modes to use directions as left/right stick
- Show d-pad mode in the display statusbar
- Show profile indicator in the statusbar
- Added info page to mini menu to show some misc info
- Added min/max brightness sliders for status LED
- Added dirty state tracking for config changes to change save color button and use confirmation dialog when trying to leave without saving
Fixed
- Fixed some flipped buttons in the springboard board layout
- Fixed broken version checker
- Fixed composite USB device for using serial with Switch and MIDI input modes
- Fixed input history not showing correct directions with SOCD
Changed
- Show the build year on the home page
- Replaced manufacturer and product strings for the project (thnikk and MP2040)
- Changed how RAM works with (emulated) EEPROM to not balloon memory usage with larger EEPROM allocation
- Track dirty state in web config and added browser confirm when trying to leave without saving
- Present all pages in key modal as tabs to change all modes regardless of the set input mode
- Only show single octave for MIDI widget to make better use of the modal aspect ratio
- Changed icon to GP2040-th icon
Removed
- Profile banner on switching profiles, this is replaced by the profile indicator in the statusbar
Tools
- Added
--skipto the build script to skip the build if a uf2 already exists - Added script to generate image of supported boards using board svgs
See the full changelog for all 55 commits.
Installation
- Download the
.uf2firmware file for your board below. - Hold the second button while plugging the keypad in to enter BOOTSEL mode. If you have a touch model, plug it in first and touch the second button within 3 seconds.
- A removable drive named
RPI-RP2will appear. Copy the.uf2file onto it. - The device will flash and reboot automatically into the new firmware.
If the device was previously used for other firmware, flash
flash_nuke.uf2first to clear storage.
Firmware
| Board | File |
|---|---|
| 2k | MP2040_1.2.0_e6c83cf_2k.uf2 |
| 2kw | MP2040_1.2.0_e6c83cf_2kw.uf2 |
| 3x3 | MP2040_1.2.0_e6c83cf_3x3.uf2 |
| 4K MegaTouch | MP2040_1.2.0_e6c83cf_4kMegaTouch.uf2 |
| 4kw | MP2040_1.2.0_e6c83cf_4kw.uf2 |
| BeatBoard-v2 | MP2040_1.2.0_e6c83cf_BeatBoard-v2.uf2 |
| BeatBoard | MP2040_1.2.0_e6c83cf_BeatBoard.uf2 |
| Fightboard Basic (Mirrored) | MP2040_1.2.0_e6c83cf_Fightboard-b-m.uf2 |
| Fightboard Basic | MP2040_1.2.0_e6c83cf_Fightboard-b.uf2 |
| Fightboard (Mirrored) | MP2040_1.2.0_e6c83cf_Fightboard-m.uf2 |
| Fightboard | MP2040_1.2.0_e6c83cf_Fightboard.uf2 |
| MacroPad | MP2040_1.2.0_e6c83cf_MacroPad.uf2 |
| MegaTouch | MP2040_1.2.0_e6c83cf_MegaTouch.uf2 |
| MiniTouch | MP2040_1.2.0_e6c83cf_MiniTouch.uf2 |
| Springboard | MP2040_1.2.0_e6c83cf_Springboard.uf2 |
v1.2.0-prerelease
Changes
See the full changelog for all 34 commits.
Installation
- Download the
.uf2firmware file for your board below. - Hold the second button while plugging the keypad in to enter BOOTSEL mode. If you have a touch model, plug it in first and touch the second button within 3 seconds.
- A removable drive named
RPI-RP2will appear. Copy the.uf2file onto it. - The device will flash and reboot automatically into the new firmware.
If the device was previously used for other firmware, flash
flash_nuke.uf2first to clear storage.
Firmware
| Board | File |
|---|---|
| 2k | MP2040_1.2.0_9b2b99a_2k.uf2 |
| 2kw | MP2040_1.2.0_9b2b99a_2kw.uf2 |
| 3x3 | MP2040_1.2.0_9b2b99a_3x3.uf2 |
| 4K MegaTouch | MP2040_1.2.0_9b2b99a_4kMegaTouch.uf2 |
| 4kw | MP2040_1.2.0_9b2b99a_4kw.uf2 |
| BeatBoard | MP2040_1.2.0_9b2b99a_BeatBoard.uf2 |
| Fightboard Basic (Mirrored) | MP2040_1.2.0_9b2b99a_Fightboard-b-m.uf2 |
| Fightboard Basic | MP2040_1.2.0_9b2b99a_Fightboard-b.uf2 |
| Fightboard (Mirrored) | MP2040_1.2.0_9b2b99a_Fightboard-m.uf2 |
| Fightboard | MP2040_1.2.0_9b2b99a_Fightboard.uf2 |
| MacroPad | MP2040_1.2.0_9b2b99a_MacroPad.uf2 |
| MegaTouch | MP2040_1.2.0_9b2b99a_MegaTouch.uf2 |
| MiniTouch | MP2040_1.2.0_9b2b99a_MiniTouch.uf2 |
| Springboard | MP2040_1.2.0_9b2b99a_Springboard.uf2 |
v1.1.0
New Features
This release focuses on merging Fightboard configs (and the Springboard) into MP2040. The major changes are:
- Added SSD1306 display support
- Ported Mini Menu
- Fixed BeatBoard config after testing on real hardware
- Added 3x5 font for the splash screen
- Added boot key mapping
- Added hotkey mapping
- Changed global default colors for fire, rain, and ripple modes
Otherwise, I would consider this release to be at feature parity with GP2040-th for most of the features I actually care about, with some advantages over it from MP2040, including:
- LED Simulator that shows a preview of the LED effects in the LED config
- Lighter web config
- BPS, Ripple, Rain, and Fire LED modes
- USB CDC for serial control
- Support for more input types
Tools
Some tools were added to tools/ in this release:
- font3x5_edit.pg: Export the 3x5 font to a png for easy editing with Pixelorama and re-convert the png to a header.
- display_preview.py: Preview display layouts in a simple web server in real time with pixel-perfect accuracy.
See the full changelog for all 41 commits.
Installation
- Download the
.uf2firmware file for your board below. - Hold the second button while plugging the keypad in to enter BOOTSEL mode. If you have a touch model, plug it in first and touch the second button within 3 seconds.
- A removable drive named
RPI-RP2will appear. Copy the.uf2file onto it. - The device will flash and reboot automatically into the new firmware.
If the device was previously used for other firmware, flash
flash_nuke.uf2first to clear storage.
Firmware
| Board | File |
|---|---|
| 2k | MP2040_1.1.0_b9f4d45_2k.uf2 |
| 2kw | MP2040_1.1.0_b9f4d45_2kw.uf2 |
| 3x3 | MP2040_1.1.0_b9f4d45_3x3.uf2 |
| 4K Mega Touch | MP2040_1.1.0_b9f4d45_4kMegaTouch.uf2 |
| 4kw | MP2040_1.1.0_b9f4d45_4kw.uf2 |
| Beat Board | MP2040_1.1.0_b9f4d45_BeatBoard.uf2 |
| Fightboard Basic (Mirrored) | MP2040_1.1.0_b9f4d45_Fightboard-b-m.uf2 |
| Fightboard Basic | MP2040_1.1.0_b9f4d45_Fightboard-b.uf2 |
| Fightboard (Mirrored) | MP2040_1.1.0_b9f4d45_Fightboard-m.uf2 |
| Fightboard | MP2040_1.1.0_b9f4d45_Fightboard.uf2 |
| Macro Pad | MP2040_1.1.0_b9f4d45_MacroPad.uf2 |
| Mega Touch | MP2040_1.1.0_b9f4d45_MegaTouch.uf2 |
| Mini Touch | MP2040_1.1.0_b9f4d45_MiniTouch.uf2 |
| Springboard | MP2040_1.1.0_b9f4d45_Springboard.uf2 |
v1.0.0
Release Notes
Initial release
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 |
|---|---|
| 2k | MP2040_1.0.0_b8c60ef_2k.uf2 |
| 2kw | MP2040_1.0.0_b8c60ef_2kw.uf2 |
| 3x3 | MP2040_1.0.0_b8c60ef_3x3.uf2 |
| 4K Mega Touch | MP2040_1.0.0_b8c60ef_4kMegaTouch.uf2 |
| 4kw | MP2040_1.0.0_b8c60ef_4kw.uf2 |
| Beat Board | MP2040_1.0.0_b8c60ef_BeatBoard.uf2 |
| Macro Pad | MP2040_1.0.0_b8c60ef_MacroPad.uf2 |
| Mega Touch | MP2040_1.0.0_b8c60ef_MegaTouch.uf2 |
| Mini Touch | MP2040_1.0.0_b8c60ef_MiniTouch.uf2 |
v1.0.0-prerelease
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 |
|---|---|
| 2k | MP2040_1.0.0_28947b1_2k.uf2 |
| 2kw | MP2040_1.0.0_28947b1_2kw.uf2 |
| 3x3 | MP2040_1.0.0_28947b1_3x3.uf2 |
| 4K Mega Touch | MP2040_1.0.0_28947b1_4kMegaTouch.uf2 |
| 4kw | MP2040_1.0.0_28947b1_4kw.uf2 |
| Beat Board | MP2040_1.0.0_28947b1_BeatBoard.uf2 |
| Macro Pad | MP2040_1.0.0_28947b1_MacroPad.uf2 |
| Mega Touch | MP2040_1.0.0_28947b1_MegaTouch.uf2 |
| Mini Touch | MP2040_1.0.0_28947b1_MiniTouch.uf2 |