sodcalculator

10 Tech How-To

Connect Arcade Controls to PC or Raspberry Pi

Guide 10-37062 · Updated · Step by step

This guide shows you how to wire arcade buttons and joysticks to a PC or Raspberry Pi using a USB encoder board. You’ll be able to play emulators, Steam games, or retro classics with authentic arcade feel. First, gather your parts and tools, then follow the steps to map each control to a keyboard key or gamepad button.

What You’ll Need

  • Arcade buttons and joysticks (with microswitches, usually 5-pin or 2-pin connectors)
  • USB encoder board (e.g., Zero Delay USB Encoder, IPAC, or similar)
  • PC or Raspberry Pi (with USB port)
  • Wire strippers/cutters
  • Soldering iron and solder (optional, if not using quick-connect terminals)
  • Electrical tape or heat shrink tubing
  • Phillips screwdriver (for mounting controls)
  • Zip ties or cable management clips

Step-by-Step

  1. Plan your control layout. Decide which buttons will map to which keyboard keys or gamepad buttons. For example, joystick directions map to arrow keys, and buttons map to Z, X, C, etc. Write this down for reference.
  2. Identify the encoder board terminals. Look for labeled pins: usually “UP”, “DOWN”, “LEFT”, “RIGHT”, “BUTTON 1”, “BUTTON 2”, etc., plus a ground (GND) terminal. The Zero Delay board has two rows of pins: one for ground (common) and one for each input.
  3. Connect the joystick microswitch wires. Each joystick direction has a microswitch with two terminals: one common (usually the middle) and one normally open (NO). Connect one wire from the common terminal to the GND pin on the encoder, and one wire from the NO terminal to the corresponding direction pin (e.g., UP). Repeat for all four directions.
  4. Connect the button microswitches. Each button also has two terminals. Connect one wire from the common terminal to GND, and the other from the NO terminal to the desired button input pin (e.g., BUTTON 1). Do this for all buttons.
  5. Use quick-connect terminals or solder. If your wires have female quick-connect terminals, simply push them onto the microswitch tabs. If not, strip the wire ends and solder them to the terminals, or use crimp connectors. Ensure solid connections to avoid intermittent signals.
  6. Plug the encoder into the PC or Raspberry Pi. The Zero Delay board has a USB cable that plugs directly into a USB port. For Raspberry Pi, you may need a USB OTG adapter if the Pi has a micro USB port (older models) or use a standard USB port on Pi 4/5.
  7. Test the controls. Open a text editor or a gamepad tester (like the one in Windows Control Panel or online tools). Press each button and move the joystick to see if the correct key/button registers. If not, check your wiring and remap if needed.
  8. Mount the controls. Once everything works, mount the joysticks and buttons into your arcade cabinet or control panel. Use screws or bolts through the mounting holes. Ensure the encoder board is secured inside the cabinet, away from moving parts.
  9. Configure software. In your emulator or game, set the input mappings to match your encoder’s key/button assignments. Most emulators allow you to define controls via a settings menu.
  10. Final cable management. Use zip ties to bundle wires neatly, keeping them away from sharp edges and ensuring they don’t interfere with button presses.

Common Mistakes

  • Wiring ground incorrectly: Forgetting to connect the common terminal to GND, or connecting it to the wrong pin, results in no response.
  • Swapping NO and common: Some microswitches have a third terminal (NC). Using NC instead of NO will make the button act inverted (always on until pressed).
  • Poor solder joints: Cold solder joints or loose connections cause intermittent issues. Always heat the terminal and wire properly.
  • Overloading the encoder: Connecting too many buttons to one encoder may exceed its input count. Check the board’s specs.
  • Not testing before mounting: Mounting everything first and then finding a wiring error is frustrating. Test on a bench first.

Tips

  • Use color-coded wires (e.g., red for +5V, black for GND) to simplify troubleshooting.
  • If your encoder has a screw terminal block, use that instead of soldering—it’s easier to rewire.
  • For Raspberry Pi, consider using a GPIO-based solution (like RetroPie with a GPIO encoder) if you want to avoid USB, but USB is simpler.
  • Label your wires with small tags or tape to know which button they belong to.
  • Invest in a multimeter to check continuity and voltage if something isn’t working.

Troubleshooting

  • No response at all: Check USB connection, try a different USB port. Ensure the encoder is powered (some have an LED). Verify that the common wire is connected to GND.
  • One button not working: Check the wire connection at both the microswitch and the encoder pin. Swap with a known-working button to isolate the issue.
  • Joystick directions mixed up: Swap the wires on the encoder pins to correct the direction mapping.
  • Intermittent signals: Likely a loose connection. Re-solder or re-crimp. Check for frayed wires.
  • Buttons work but not in game: The game may have its own input mapping. Configure the game’s controls to match the encoder’s key assignments.
  • Raspberry Pi not recognizing the encoder: Try a different USB port, or use a powered USB hub if the Pi can’t supply enough current.

Frequently Asked Questions

Do I need a special encoder for Raspberry Pi?

No, most USB encoders work with Raspberry Pi out of the box. RetroPie and other emulation systems recognize them as standard gamepads.

Can I use arcade controls without soldering?

Yes, if your microswitches have quick-connect terminals and you use female connectors on your wires. Many encoders also have screw terminals.

How many buttons can I connect to one encoder?

It depends on the encoder. Zero Delay boards typically support 12 buttons plus a joystick. Check the product specs for the exact count.

Can I connect multiple joysticks to one encoder?

Most encoders support only one joystick (4 directions) and multiple buttons. For two players, you’ll need two encoders, which the PC sees as two separate gamepads.

What if my encoder uses a different pinout?

Always refer to the manual or silkscreen on the board. If you have a generic board, search online for the specific model’s wiring diagram.

Can I use arcade controls wirelessly?

Yes, but it’s more complex. You’d need a wireless encoder or a Bluetooth adapter, but wired is more reliable and cheaper.

Related

General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.

More in this bed

The whole Tech How-To bed →