ControlBlock - Game Controllers, Power Switch and I/O for the Raspberry Pi

PetRockBlogSKU: MMP-0411
Sale price £35
incl. VAT
excl. VAT
Only 9 units left

Compatible with:

Awesome Extras

SanwaSanwa Round 30mm Snap-in Arcade Button (OBSF-30)
Sale price £2.25 incl. VAT excl. VAT
The Pi Hut16mm Illuminated Pushbutton - Red Momentary
Sale price £1.30 incl. VAT excl. VAT

The ControlBlock has been updated! Similar to the PowerBlock it now comes with USB-C for the Raspberry Pi 4 and 5 and a high-current (7A!) power switch circuitry for your most energy demanding projects.

The ControlBlock is an add-on board for the Raspberry Pi. The two key features of the ControlBlock are:

  • A safe power button functionality to shutdown the Raspberry Pi without the risk of any data losses
  • Terminal blocks and a driver for connecting original game controllers for arcade machines and various game consoles.

The ControlBlock makes it very easy to connect arcade controllers or console controllers, for example, for (S)NES, Atari, Genesis/Megadrive, or Sega Master System consoles. Up to two players are supported by a single ControlBlock. Stacked upon each other, up to four players are supported.

The open-source driver for the ControlBlock is easy to install and can be configured to your liking.

The power switch functionality allows you to turn on and off the power to the Raspberry Pi with a toggle switch without the risk of data loss. You can also connect a status LED for indicating the power status of the Raspberry Pi.

Compatible with all 40-pin models of Raspberry Pi (however a USB-C power supply is required). Now compatible with Raspberry Pi 5 - please see this blog entry for info.


  • Supports arcade and original game controllers
    • Arcade controls
    • SNES and NES controllers
    • Atari controllers
    • Sega Master System controllers
    • Sega Genesis / Megadrive controllers
    • All supported controllers for up to two players
  • Safe power button (includes the same functionality as the PowerBlock)
    • Supports toggle and momentary switches
    • Automatic detection of switch type
    • Smooth power status indication via optional external LED
  • All 32 GPIO channels of the ControlBlocks can be accessed via SPI and, thus, can also be used for any other purpose for your project!
  • Input Voltage: 5V
  • Output Voltage: 5V
  • Continuous Current @ 25°C: maximum 7 A
  • MOSFET Static On-Resistance: 0.006 Ω
  • GPIO pins used
    • 3.3V (pin 1)
    • 5V (pin 2)
    • GPIO 17 (pin 11)
    • GPIO 18 (pin 12)
    • MOSI (pin 19)
    • MISO (pin 21)
    • SCLK (pin 23)
    • CE0 (pin 24)


Attaching a Power Button

To turn the Raspberry Pi on and off with the ControlBlock you need to attach a toggle or a momentary button to the two “switch” pins on the ControlBlock. The ControlBlock then uses the status of the attached button to power on or off the Raspberry Pi.

  • If you do not want to use the power switch functionality you can disable this in the configuration file /etc/controlblockconfig.cfg by setting “powerswitch”: false.
  • The power switch circuitry of the ControlBlock leads to a tiny voltage drop and we made the experience that a good quality power supply and a good quality USB cable are mandatory for a working setup. If unsure, we can recommend the official Raspberry Pi Power Supply.
  • You can use both, a toggle or a momentary button.

Attaching a Power Supply

If you want to use the power switch function of the ControlBlock you need to connect your (micro USB) connector only to the ControlBlock – and not to the Raspberry Pi directly.

Alternatively to the micro USB connector you could also use the USB-B pin outs for soldering a USB-B connector to the ControlBlock. Also, you could use the 5V and GND input pins for power supply.

Attaching a Power Status LED

The ControlBlock has pinouts for an optional status LED that indicates the power state of the Raspberry Pi. You can directly attach an LED to the pins that are marked with “LED”.

You need to pay attention to the polarity of the LED: The LED pins are marked with “+” and “-” for that.

The LED will blink in four different patterns that depend on the power state of the Raspberry Pi:

  • Off: The LED is simply off.
  • Booting: The LED slowly fades in and out.
  • On: The LED constantly stays on.
  • Shutting down: The LED fades in and out twice as fast as during boot up.

Attaching Controllers

The cables of the arcade buttons, joysticks, as well as of the (S)NES or all other gamepads are connected to the ControlBlock via the screw terminal blocks. You need a slotted screwdriver with a maximum width of 2.5 mm for that.
Detailed instructions for the individual controller types are given here.

Regarding the software, you need to install the ControlBlock driver to enable the power switch and game controllers functions.

You can find detailed instructions for the driver installation here.

Payment & Accreditations

Payment methods
Visa Mastercard Maestro PayPal Amazon Klarna

Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.