In the quest for having the BEST set-top box for retro gaming ever made, having everything connected and ready for use in a tidy space, easy to clean, makes life much easier and retro gaming much more pleasant. Have you ever skipped playing a game because it required an accessory and you had to get up, take it out, switch peripherals, etc?, being limited to a single port where devices must be swapped in and out depending on the core and the functionality we want is a no way for me.

The Internal Mt32-Pi Hat allows to internally install a Raspberry-Pi Zero 2w to work as an mt32-Pi. It connects on top of your DE10-Nano to the second user i/o port, which frees the use of the primary port for SNAC devices or other peripherals at the same timeEverything remains internal and nice, no more connecting and disconnecting stuff to switch between SNAC controllers, guns, etc, and the mt32-pi. The definitive solution to have everything ready to use at any given moment!

It has headers to optionally wire your own “Rom” and “Synth” buttons, or connecting an external Oled display for the looks, this is completely unnecessary though, as this functions can be controlled from the remote control of your Ironclad Plus, also from the MiSTer cores menu, and the “oled” can be shown on the TV screen. But the possibility is there for you modders out there.

The Hat also has two holes to screw a 40mm fan on top of the FPGA, this is usually non necessary, specially if you bought the “Massive Heatsink” along with your Ironclad, as a single fan extracting hot air from the case is enough, or even passive operation is possible, but there are some Mini-ITX cases that don’t have a single place to properly mount a FAN, and in that situation this addition becomes really handy. A suggested fan model for this purpose might be the Noctua NF-A4x10 PWM for example, but any 40mm fan will fit and work, be it PWM or not, as usual. Note that only PWM fans (4-pins) benefit from the automatic thermal fan control or adjustable speed from the Ironclad Plus.

The kit includes:

  • The mt32-Pi hat.
  • All screws and Stand-offs needed for installation.
  • 5-pins female to female ribbon cable.

This Hat is only intended for the Raspberry-Pi Zero 2w and, maybe, future “Zero” models the Mt32-Pi project might support. A standard sized Raspberry-Pi will not fit. A ribbon IDC extension cable might help with that, but you are on your own in that adventure 😉


This installation instructions assume you already have a working Raspberry-Pi Zero 2w with the GPIO header already soldered (In some sites they sell this as “headered”). Also, installing and configuring the MT32-pi software to work in your Pi is out of the scope of this instructions, you can follow THIS easy guide from the mt32-pi official wiki.

  1. Screw the three short stand-offs to the three small holes of the Hat, and Connect your Raspberry-Pi Zero 2w to the Hat from below, making sure it is not backwards and the three standoffs are correctly aligned with the Pi’s holes. If that is correct, screw the Pi to the hat.
  2. If you are attaching a fan to the Hat, now is the time to do it.
  3. With your Ironclad setup properly built replace the two screws at the corners closer to the DE10’s LAN port with the long standoffs supplied.
  4. Place your Pi-sandwich on top of the DE10 as shown in the images, making sure the bottom 8-pin male header aligns correctly with the rightmost female header pins on the DE10, once you are sure, press it down, the holes of the Hat should align properly with the long standoffs you installed before, if so, use your previously removed screws from the DE10 to screw the Hat in its place over the standoffs.
  5. Interconnect both “PI-CONN” headers on the Hat and the Ironclad with the supplied 5-pins ribbon cable keeping it straight.

The remote control key “0” changes loaded Rom, the key “C” changes Synts. Both keys can be configured with the standard procedure of the remote learning feature of the Ironclad. Only if the Mt32-Pi Hat is connected the Ironclad will ask for two extra keys during the IR Learning procedure.

The mt32-pi internal hat uses the secondary user i/o port so, for now, it needs modified cores to work, you can replace your existing cores or have both installed at the same time. Work is been done to include this cores into update_all script to make things easier. For now you can download the modified latest cores from the MiSTer Enhanced cores repository (download the “+” versions), or use the direct link below:

MiSTer mt32-Pi UserIO2 Cores (updated 2023-02-16)