Is it possible to add additional buttons to Picade pcb or hat?

I want to make portable game players with the Raspberry Pi 3. The Picade Hat seems to have the features I am looking for (safe shutdown, audio amp, and easily adding inputs) in an easy to use set up. The problem is that the boards only support six game buttons where I want to add substantially more. How could I add more button inputs? There are 13~15 buttons, 4 way dpad, and two additional analog sticks. (A,B,C,X,Y,Z, L1, R1, L2, R2, L3, R3, Start, Select, Function key).

I have another different styled handheld, but I can only upload one picture. The number of buttons and analog sticks is the same though.

Using some of the unclaimed GPIO, it would be possible, I guess, to add up to 5 inputs to a Picade HAT (one of them hard to get to), making the total button count 19, including D-pad.

To control analog joysticks you would need something to convert the digital signal over I2C. You’ll need one input per axis, so 4 total, pretty standard for an ADC.

So, your project may be just able doable, but cramming all of that alonsode a power source in a handheld form factor is another matter, particularly if you want to use a Pi3.

Software wise, supportting the analog joysticks and integrate that alongside the Picade input support might also be non trivial - it depends on your experience.

… doable but not for the faint of heart.

While I hate to miss the opportunity to sell more of our shiny shiny stuff, I think you might be better off using a USB-capable microcontroller such as the Teensy LC to enumerate both your buttons and analog sticks. This could then be programmed to simulate a regular USB gamepad.

Looks like you’d need 17 digital inputs and 4 analog. 21 total- or the full complement of IO on a Teensy LC: https://shop.pimoroni.com/collections/arduino-microcontrollers/products/teensy-lc

That said, you can multiplex buttons together. to save pincount and generally scan them fast enough that you’d never know it was happening.

Thanks for your responses. My technical experience is limited, but I think with tutorials and forums I can get things set up and running. It sounds like the Teensy is the better solution and I did buy a soldering iron.

@gadgetoid There are a lot of people modding the gameboy DMG, psp, vita, wii u, gamegear and other handhelds to use raspberry pi and raspberry pi zero. There are a number of people making all-in-one boards for the gameboy form factor, but the designs are pretty constrained due to the gameboy case.

Do you think there could be a big enough market for a picade pcb designed to be 1) enclosure agnostic 2) capable of having teensy like number of IO inputs, 3) the following all-in-one features (amp for speakers, safe shutdown, battery boost, simultaneous charging/discharging of battery, a port for a volume potentiometer, port for a power button).

Users could buy a raspberry pi or a similar board, a mythical Picade Portable all-in-one PCB, stuff them both into an enclosure with a battery and after soldering up the buttons, switches, and potentiometer be set.

Like people could retrofit almost any old handheld they have laying around and have the possibility of adding more buttons and analog sticks. Other people could use hobbyist designs on 3d file sharing sites like Thingiverse and have them 3d printed.

Maybe it’s too niche? But If this did exist I bet a small community of hardware modders would grow around it. Maybe there could be monthly design contests. On the sudomod forums there are people who are already on their 3rd, 4th, builds.