book collections email follower instructable user

I have already built an arcade joystick before and it was huge (60x30x12 centimeters for 2 players), also hard to use cause you would need a PC with all the emulation ready for play, etc .. so that one ended up being stored somewhere I can't remember collecting dust but I still wanna play old school games with a stick and big buttons.

After that experience I wanted a better solution which it must have:

  • Built in system: plug & play with a TV by HDMI
  • Small size: easy to carry and store
  • Scalable: plug into it another joystick for more players
  • Joystick only mode: ready to use only the joystick for any other system by USB

Best option I've found is by using a RaspberryPi with RetroPie plus an USB HUB and a custom made USB signal switch. BUT I didn't want to expose the raspberry pi, I wanted a closed box with all IO ready to use.

I know this is nothing epic original but I just wanted to document and share all the stuff I came up with for each part of the build so you can build your own, improve the one you already have or even use it as inspiration for your next project.

This instructable wont be a step by step DIY for the exact same build because it has a lot of custom stuff that you may get an easier workaround with the stuff you already have in your home. Although I will try to go through it all so you don't have to re-think everything to make one with same features.

If you build one or have taken something from here please share a pic in the comments, I'd love to see it!

Step 1: What You Would Need

Picture of What You Would Need

First thing here I'll be putting links to the components I got for my build as reference I didn't buy any of mine from those sellers cause I bought all from local sellers in my country.


1. Raspberry Pi: As I said in the Intro this is system works with RetroPie so you would need a Raspberry Pi, I used the latest Pi 3 B+ but I think you can use version 2 also. The only thing here is if you go with a Pi Zero games you can play are a lot less and the build may change in some parts (since I have extended the Pi IO like Audio, USBs, HDMI and Power button) so check the schematics picture to see if it make sense for you.

2. Kit for an Arcade Joystick: I haven't bought one, instead I've assemble my own by getting 6 of the small buttons (24 mm instead of 30 mm) and 2 buttons (start and select) of 12 mm from an electronics store since I wanted an small size joystick but you would mainly need:

  • A stick
  • 2 buttons for start and select
  • N buttons for play (that is totally up to you, I used 6 cause it make sense for the games I wanna play which have X, Y, A, B, L and R buttons)
  • USB Joystick Interface

If you want more info on setups and all this stuff I recommend to check the RetroPie Wiki which has all the controls and buttons map too so it would help you decide the setup.

If you want the same stick, buttons and interface I used is this one (those are the exact components I used but not from that seller)

3. USB Hub: It's for opening the case and extend the ports of the raspberry pi so don't spend too much money on it. I bought the cheapest I could find (and which I knew was working fine on a RPi) from a local seller like this one (if you can find without switches even better I had to short them later to make them always ON)

4. Power button: This one is totally optional but it's really cool to have a power button with led for the system. Mine is this one in white led. MUST BE MOMENTARY don't get a latching one they come in both types.

Then some electronics that I will be listing on each step to keep this list short.

素雨月3 months ago

Why is your power button LED always bright?
pjnovas (author)  素雨月3 months ago
because of the setting in the config.txt


the activelow=off part inverts the feature
素雨月 pjnovas3 months ago
Yes, but LED always bright does not work.

Can you share your config.txt and shutdown system python script file.

素雨月5 months ago
gpio19 can be changed to gpio2?
pjnovas (author)  素雨月5 months ago
hey, I haven't tried it but I don't see why you couldn't.
Be sure to change the definition also to GPIO2 since there is a declaration of GPIO19, check:

Step 9: LED Power Button > The LED part of this step > issue 3

Just for curiosity, why do you wanna change it?
素雨月 pjnovas5 months ago
Thank you, guidance.

Because pgio19 is already occupied.

I don't know if pgio2 and pgio19 are the same.
ubicity6 months ago
LongJ1 year ago

I built one of these and used the exact same DPDT switch setup so I could still use the stick for my PC emulator setup (Launchbox) While the Raspi is great for 8 and 16 bit emulators it's starts to fall down with the N64 or PS1/PS2 and a couple of other emulators so I run those emulators on a PC

mitiliray1 year ago

How could a second player be added if needed?

pjnovas (author)  mitiliray1 year ago

by USB, it has an extension of USB ports (or you could just use the ones the RPi brings with it). Check Step 4 ;)

jbumstead1 year ago

Beautiful build. You have my vote!

pjnovas (author)  jbumstead1 year ago


Freddyja1 year ago

Could I buy one? Thanks

pjnovas (author)  Freddyja1 year ago

hey sorry but I don't have the time to build one for sell

MTKapp271 year ago


Can you post a Picture or Video of it in play?

pjnovas (author)  MTKapp271 year ago

hey, I've just added a short video at the first step

Thanks, but you might need to publish the update, because I still don't see any videos.

pjnovas (author)  MTKapp271 year ago

oh, it maybe some cache cause I can see it logged out and I have asked around to friends and they can see it too. (try a ctrl+F5 in this page)

CTRL+F5 is a neat trick

I tried and no go. The video might be blocked on my current wifi. Ill try it at home later tonight. There is a huge empty space at the very top of your project for me. I would imagine that is where the video sits.

Either way, this project is on my to do list.

I am hopefully going to finish my Super Game Pi tonight:

Games run much better on RPI3 than the A+

pjnovas (author)  MTKapp271 year ago

sure, I'll do this week

Gadisha1 year ago

It looks good,nice project.

pjnovas (author)  Gadisha1 year ago


Very nice looking build and well written. I want to try this project with my son thanks.
pjnovas (author)  Charleswwilson1 year ago

thanks, go for it, if you do please share the end result ;)

WannaDuino1 year ago

why build the joystick INSIDE the console?????

that means you sit directly in front of a tv or screen!!! cables cq HDMI`s are almost always 1.5M..

Dwargh1 year ago

Looks neat and tidy!

But I still don't get the part with the commutator switch.

I understand that the switch has three states.

I understand that if you switch to the USB-B, you can lead the controls out to (i.e.) a PC and use the controls on the box as a gamepad or something like that.

And I am guessing the middle state is using the controls for the Pi?

So my question is:

What is the micro USB plug for?

pjnovas (author)  Dwargh1 year ago
hey thanks!, so the commutator has only 2 states maybe i misscalled it and it's just a switch.
Both states are the ones you've described: raspberrypi or only a joystick for a pc.
The micro usb in there is the power extension, it just happened that i've used same perfboard to attach everything.
Sorry for the confusion.