[Gil Yankovitch] noted that playing games on a touchscreen phone gave up a certain something in terms of the tactile feedback one gets from real buttons. To that end, he was inspired to build a controller specifically for phones that solved this very problem.
The result was JoyFon. It’s a small gamepad built around the Raspberry Pi Pico, and can be put together around an RP2040 or an RP2350 as desired. It has four face buttons, a directional pad, and start and select buttons, as well as additional shoulder buttons up top in later revisions.
The JoyFon enumerates as a standard USB HID gamepad, so you could use it to play games on just about any PC, laptop, or tablet. However, the JoyFon is specifically designed for use with smartphones in the vertical orientation. This guided the design of the 3D printed enclosure, which positions the USB-C port to plug into the base of a phone, such that the buttons sit neatly beneath it. It does cover some of the phone screen, but that’s not always a problem when playing emulated games with a 4:3 or similar aspect ratio. The result is a button and screen layout not dissimilar to that of the original Game Boy handhelds.
We’ve seen some other great custom controller builds over the years, like this fantastic design using keyswitches.

I have to say I appreciate the hinged design for the base of it. I have a Hyperkin Smartboy that I bought for the physical buttons (and cartridge slot) and not being able to access the UI elements on the bottom of the screen was a big headache, so being able to flip the buttons out of the way to access things is a much better design.
That video makes me never want to see anything made by this guy.
What video? Sorry, I blinked. I tried to look what kind of switches this is using, but I don’t know. So it’s likely the worst option for gaming (those cheap tactile switches)
On the flip side, “emulating” a gamepad with a microcontroller is easier then ever, which is great for people building custom controllers. I personally prefer to use micropython in this case, as it’s easier to quickly adapt compared to using the C code.
And I’m happy to see an open design for a custom controller, it’s hard to find 3D printed controllers (due to any search giving back a million controller stands instead of custom controllers)
Generally ignore the snark in the comments because different strokes for different folks but yeah that is an obnoxious video.
Funny, I was thinking the opposite.
I’ll admit the video isn’t really in the style I would have made but to each their own. At least in my eyes it doesn’t really detract from the project itself.
Its a nice form factor. I do recommend one more button, a home button, which comes quits handy in emulation
Open source Pocket taco controller with no L+R buttons.
Nice.
I tried to play games on a phone and after a while my finger stops moving smoothly on the screen I found, it gets resistive.
Is that just me? Or something about the screen? Or do other people have that too.
It’s an issue I don’t recall anybody else recounting, but surely I’m just a person like millions of others, and the phone was a branded deal. Without screen protector btw.
Is this one of those things many people know but nobody talks about? like those forced phone-home apps to ‘unlock’ actions cams before first use and such things.