Playing video games is a very common activity practiced by many people around the world. If you are disabled, this activity can be difficult to perform or even impossible.

If assistive gaming solutions exist and whether new solutions arrived on the market in recent years (see dedicated log), they remain incomplete, aren't compatible between different gaming platforms, aren’t fully configurable and don't support many specifics inputs.

https://cdn.hackaday.io/images/6268711666207452809.pngWe want to rely on the strength of communities (makers and users) and open source to design a solution to these lacks and problems and share the plans so that as many users as possible can benefit from it.https://raw.githubusercontent.com/OpenStickCommunity/GP2040-CE/main/docs/assets/images/gp2040-ce-logo.pngOur project will build on the great work undertaken by the Open stick community and its GP 2040-CE project's which is  a multiplatform gamepad firmware for the Raspberry Pi Pico and others RP2040 based microcontrollers.

The goal of our approach is to use the properties of this superb work to adapt it to the needs of a maximum of users, design and create an amazing universal controller.

To check the feasibility of the project, I quickly made a prototype to explore the possibilities offered by GP2040-CE.

To start, I followed the very detailed documentation of the GP project to install the firmware on a pi pico and carry out the first tests.

A breadboard, some wires, switches and an analog joystick allowed me to add inputs very easily to a Raspberry Pi Pico.

I was also able to test a power wheelchair digital special command unit as a D-PAD via the GPIO and everything works well, on Nintendo switch and  PC. I’ll test it on the other platforms later.


With these first observations, and the proof that it can work, it was time to sit down and think about the development, list user needs and determine specifications to create an assistive device adapted so that the greatest number of users can play.

The device will act as an interface between user and the gaming device, It will allow players connecting specifics inputs corresponding to their accessibility needs : Switches, joysticks and buttons

Our goal is to design a dedicated hardware, will wich embedded the GP2040-CE and allow the use of specific inputs with ergonomics that adapt to different types of disabilities.This will go through the design of a box housing the various connectors, a dedicated electronic PCB and a battery to power everything.

We will not neglect different methods of accessibility and beyond the motor aspects, we will work on visual and sound accessibility (sensorial feedbacks implementations) and we will make the device easy to use.

Ideally, we should be able to connect the following elements to the device :

- 16 external switches  (TRS jack cable 3.5mm) for game buttons

- 2  gaming joysticks ( USB) for in game  sticks left and right

- 2 analogs sticks (TRRS cable 3.5mm) for in game sticks left and right

- 1 power wheelchair special control unit (SUB D9) for in game sticks or D-PAD

- The device will be able to connect to the game console via USB cable and a bluetooth connection would be ideal.

- The device must have a front panel layout of big buttons fors bascics control (with a D-Pad, an 6 button at least)

- Compatibility : Unlike marketed solutions, our solution will offer cross-platform compatibility, which will allow to play on PC, PS3 and PS4, Nintendo Switch, Steam Deck, MiSTer and Android. This is enabled by the GP 2040-CE

The device might look something like this. Here is what to get an idea of the different connections, do not take into account the appearance, layout big bouton isn't present and a real design work is to be carried out !

GP2040-CE offers a solid base for our work. Its customization possibilities via its built-in web-based configuration are quite crazy and the possibilities of creating hardware are just as crazy.

Let's take a look at the technical feasibility

- Add 16 external switches  via TRS jack cable 3.5mm for game buttons is easily feasable with GPIO.


-  Adding usb support to add gaming joystick is not feasible for the moment but it’s a point to be worked on soon and which will certainly be facilitated with the recent work USB host/device implementation using PIO of raspberry pi pico by sekigon-gonnoc.

- Regarding analogs sticks, its actually possible to connect only one analog stick on ADC VRX and VRY, and the Open stick community is working to add support for a GPIO expander which could accomodate a second analog stick easily.

- For the power wheelchair special control unit, it works well with a digital control unit, and we have to work on compatibility with proportionals ones.

- For the connection, USB cable is working well, and with the recent arrival Bluetooth support on Pipico there are thing to do. Openstick Community is also working on.

- Beyond the hardware, we could also consider developing an application to configure the device even more easily

With our first quick prototype, we were able to explore some of the possibilities offered by GP 2040-CE and check the feasibility to transform into a universal controller.

These different functionnalities have been tested and work well

We now need to continue the work to implement different features, test them with users and fulfill our goals.