At NeoTeo, we are staunch defenders of the keyboard-and-mouse combo for gaming, but we also understand that some titles feel much better with a gamepad. From fighting games to Metroidvanias and similar genres, the fingers-eyes-screen coordination must be optimal. With that in mind, we came across GP2040, an open source firmware project for creating a custom gamepad that runs on the Raspberry Pi Pico. It is compatible with the main protocols, offers less than a millisecond of latency, and even supports RGB.

GP2040: Create Your Own Gamepad with This Excellent Open Source Project
Gp2040

When it comes to acquiring a gamepad, there are two general strategies: we can buy cheap models and reduce them to dust, or invest in a superior solution and bet on its durability and repairability. However, there is a third alternative: creating a DIY gamepad or controller.

Now, the term 'creating' can mean adapting one protocol to another, reviving an old model that lost support, or building a custom solution by choosing the stick, buttons, and positions. Of course, none of that would be possible without a flexible firmware, and that is where the GP2040 project comes in.

GP2040: Firmware for DIY Gamepads, Open Source and Easy to Configure

GP2040: Create Your Own Gamepad with This Excellent Open Source Project
Once installed, GP2040 is easily configured without any additional software.

The main advantage of GP2040 is that it is based on the Raspberry Pi Pico and other boards that depend on the RP2040 microcontroller. This is a dual-core ARM chip running at 133 MHz (with an average overclock of 400 MHz), bringing a firepower far superior to other microcontrollers, which this firmware seems to use very well.

GP2040: Create Your Own Gamepad with This Excellent Open Source Project
Yes, it also supports RGB.

GP2040 supports three different input modes (XInput, Direct Input, and Nintendo Switch), a maximum polling rate of 1000 Hz (in all modes) with input latency below one millisecond, emulation of left and right sticks via the D-pad, RGB for buttons and player indicators, and monochrome displays like the SSD1306. We should also highlight the SOCD cleaning modes: Simultaneous Opposing Cardinal Directions. And last but not least: a visual configuration application, courtesy of an integrated web server.

GP2040: Create Your Own Gamepad with This Excellent Open Source Project
Feral AI's Pico Fighting Board further simplifies using GP2040 with the Raspberry Pico.

The rest is up to you. Do you want to create a Hit Box clone, set up an alternative controller for a MiSTer, or adapt an old console gamepad that brings back good memories? With GP2040 you can do all that and much more. In fact, you can already find custom PCBs to take advantage of GP2040 with the Pico, further simplifying the construction of DIY gamepads.

Official site: Click here