Home » GamepadBlock – Arcade and Original Game Controller USB Interface

GamepadBlock – Arcade and Original Game Controller USB Interface

GamepadBlock

Overview

GamepadBlock feature imageConnect your favourite arcade and original game controllers to your computer (Windows, Mac, and Linux, including Raspberry Pi™) with the GamepadBlock.

The GamepadBlock is an Arcade and Original Game Controller USB Interface for your computer. Are you working on your own arcade machine? Or are you building your own retro-gaming machine with original controllers? The GamepadBlock is the ideal device for easily connecting original gamepads and arcade controls like joysticks and buttons to your computer. It is connected to your computer via USB cable. Depending on the controller mode you can connect up to two gamepads to the GamepadBlock. It is fully HID compliant so that you do not need to install any drivers. Windows, Mac, and Linux are supported, which also includes system-on-chip platforms like the Raspberry Pi. You can use two or more adapters on one computer.

What is special about the GamepadBlock?

There already exist USB interfaces that allow you to connect arcade controls. And there are also other USB interfaces that allow you to connect one type of original game controllers or another type of controllers. In some cases these interfaces also only allow to connect a controller for one player. The key feature of the GamepadBlock is that it supports a whole range of controller types at the same time. It, therefore, combines several of the individually available adapters within one device. And since the GamepadBlock is USB HID-compliant, it can be used on Windows, MacOS, and Linux including system-on-chip platforms like the Raspberry Pi or Odroid. For all gaming consoles that are supported two gamepads can be connected. And you can even switch between the controller types via a virtual COM port.

Features

  • Connect your favourite arcade and original game controllers to your computer
  • Compatible with Windows, Mac, and Linux (including, for example, Raspberry Pi™️)
  • Standard HID (Human Interface Device) compliant: No need to install any drivers, plug the GamepadBlock into your PC and you are ready to go
  • Supports any 4-way arcade joysticks and up to 12 arcade buttons (for one player)
  • Currently supported original gamepads (each for up to two players):
    • Amiga
    • Atari 2700, Atari 7800, Atari 800XL
    • C64, C128
    • Nintendo Entertainment System (NES)
    • Sega Genesis/Megadrive, Sega Mastersystem
    • Super Nintendo Entertainment System (SNES)
    • VC20
  • Controller mode is set
  • Full Speed USB 2.0 support, on-board micro controller, no input lacks
  • No extra power supply needed
  • Connections with the controllers are easily made with screwing terminal blocks
  • Firmware of the GamepadBlock can be updated via USB for future additional gamepad types or other feature updates
  • Multiple GamepadBlocks can be used to increase the number of controllers to your needs

Technical Specifications

  • Dimensions (Width x Length x Height): 41 x 47 x 13 mm
    Top-down view on the GamepadBlock
  • Input Voltage: 5V via Micro USB Connector
  • Output Voltages:
    • Screwing Terminals 1 to 16: 5V or GND
    • Screwing Terminal 17: 3.3V or GND
    • The signal level depends on the set Controller Mode
  • DIP switch to set Controller Mode (alternatively via virtual COM port)
  • 2×3 In-Service-Programmer (ISP) Pin Outs
  • Reset Button to activate firmware update mode
  • 2 Mounting Holes

 

Getting Started

Attaching the GamepadBlock to the PC

In order to connect the GamepadBlock to your PC you need a USB cable with a micro USB connector on the one end and an USB-A connector on the other end. A green LED indicates an active power supply.

The GamepadBlock is connected with a micro USB cable to your PC

For Windows and Mac platforms you do not have to install or configure anything on their machine. The native USB HID drivers are used for the GamepadBlock. For Linux platforms you also do not need to install any drivers. However, you need to activate a so-called HID quirk until our patch has been merged into the Linux mainline. You can find instructions for that in the tutorial section below.

Attaching the Original Controllers to the GamepadBlock

Connect the controllers with the screwing terminal blocks to the GamepadBlock

You use the screwing terminal blocks for connecting the original controllers. If you are looking for controller sockets, we made good experiences with controller sockets from extension cables for the corresponding controllers. Alternatively, you could use original hardware from old consoles.

In the following tables you can find wiring details for every supported controller types. Click on the tab that shows the controller type that you are interested in.

  •  Arcade Controllers 
  •  SNES, NES Controllers 
  •  Sega Genesis/Megadrive, Atari 2700, Atari 7800, 800XL, Amiga, C64, C128, Sega Master System, VC20

Terminal Pin Controller Wire
1 Left
2 Right
3 Up
4 Down
5 Button 1
6 Button 2
7 Button 3
8 Button 4
9 Button 5
10 Button 6
11 Button 7
12 Button 8
13 Button 9
14 Button 10
15 Button 11
16 Button 12
GND GND of all controls

All controls are low active. This means that you can use a single wiring harness for GND.

Diagrams of SNES and NES controller sockets
Diagrams of SNES and NES controller sockets
SNES Controller Front Pin Out
Terminal Pin Controller Wire
1 VCC Player 1
2 Clock Player 1
3 Latch Player 1
4 Data Player 1
5 GND Player 1
6 not used
7 not used
8 not used
9 VCC Player 2
10 Clock Player 2
11 Latch Player 2
12 Data Player 2
13 GND Player 2
14 not used
15 not used
16 not used

Terminal Pin Controller Wire
1 DB 1 Player 1
2 DB 2 Player 1
3 DB 3 Player 1
4 DB 4 Player 1
5 DB 5 Player 1
6 DB 6 Player 1
7 DB 7 Player 1
8 DB 9 Player 1
9 DB 1 Player 2
10 DB 2 Player 2
11 DB 3 Player 2
12 DB 4 Player 2
13 DB 5 Player 2
14 DB 6 Player 2
15 DB 7 Player 2
16 DB 9 Player 2
GND DB 8 (GND) Player 1 and Player 2

For Genesis / Megadrive controllers you can use 6 button controllers. Switch to 6-button mode with the button combination “A+B+C+Start+Up”.

 

Setting the Controller Mode

 

You set the Controller Mode with the DIP switches A, B, and C

The controller mode determines how the GamepadBlock polls the terminal inputs. You need to set the three DIP switches according to the controller that you want to attach to the GamepadBlock.

To activate the new configuration, you need to unplug and reattach the micro USB cable. The following table shows the needed DIP switch settings for all supported controller types:

A B C Description
0 0 0 Arcade Controllers
1 0 0 Super NES Controllers
0 1 0 NES Controllers
1 1 0 Genesis/Megadrive Controllers
0 0 1 Not used yet (Arcade Controllers as default) 
1 0 1 Atari 2700, Atari 7800, 800XL, Amiga, C64, C128, Sega Master System, VC20 
1 1 1 Not used yet (Arcade Controllers as default)

 

Updating the firmware

The firmware of the GamepadBlock can easiliy be updated via the USB connection. We recommend to update the firmware before first use. This ensures that you get the latest firmware version with the maximum of features.

To update the firmware we have developed the tool “GamepadBlock Updater”. You can find detailed instructions about the tool and a how to for updating the firmware in this dedicated article.

Getting it and Support

Tutorials and Posts about the GamepadBlock

Atari-style support for GamepadBlock GamepadBlock: New Firmware V1.2.0 Now Supports Amiga, C64, and Equal Joysticks - The GamepadBlock is an Arcade and Original Game Controller USB Interface for your computer. It lets you connect your favourite arcade and original ... Read More
GamepadBlock Firmware Update GamepadBlock Updater: Updating the firmware of the GamepadBlock - The GamepadBlock is an Arcade and Original Game Controller USB Interface for your computer. It lets you connect your favourite arcade and original ... Read More
GamepadBlock DIP Switch for Controller Mode Tutorial: Using the virtual COM port of the GamepadBlock - This tutorial explains the virtual COM port of the GamepadBlock. It can be used, for example,  to switch the Controller ... Read More
GamepadBlock – Universal Game Controller USB Interface - Retro-Gaming is popular. And a lot of people are building their own arcade machines or gaming consoles as personal projects. ... Read More
Tutorial: GamepadBlock with Debian / Ubuntu - This is a post as part of a tutorial series about getting to start with the GamepadBlock. In this tutorial ... Read More
Tutorial: GamepadBlock with Raspbian - This is a post as part of a tutorial series about getting to start with the GamepadBlock with various images ... Read More

 

Gadgets that you might also be interested in

If you are working on a Raspberry Pi project and are looking for a combination of power (“on – off”) switch and game controller interface, you might very well be interested in the ControlBlock.

If you are looking for a power switch only for your Raspberry Pi project, the PowerBlock is the gadget for you.

Acknowledgements

The firmware of the GamepadBlock makes use of the great Lightweight USB Framework for AVRs – in short “LUFA” – by Dean Camera. You can find the complete license of LUFA in the following toggle box:

LUFA License

LUFA License

LUFA Library
Copyright (C) Dean Camera, 2013.

dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org

 

Permission to use, copy, modify, and distribute this software
and its documentation for any purpose is hereby granted without
fee, provided that the above copyright notice appear in all
copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.

The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.

 

TL;DNR

The GamepadBlock is an easy to use, multi-platform USB interface for connecting arcade controls as well as various original console gamepads. Up to two gamepads can be connected. You do not need to install any drivers, only connect the controllers and you are ready to go. The GamepadBlock can be updated via USB for future enhancements. You can find technical details, videos and tutorials above in this article.

%d bloggers like this: