Using button PCBs with the Hyperpixel HAT


I’m looking into building my own portable RetroPi console and I thought that the Hyperpixel would work perfectly. Since I’m looking to build a horizontal console instead of a vertical one, I plan on using these PiGrrl 0 boards by Adafruit. When I looked up the pinout for the Hyperpixel though, I found that all of the BCM pins are used up by the HAT. Will these button pcbs still work with the Hyperpixel?


The only two pins you can use when HyperPixel is connected are the Data/Clock pins of the software i2c bus used by the touchscreen (and the power/ground of course, but that goes without saying.)

In order to connect the button PCB to i2c, you will need an i2c IO expander. Something like this: (or the equivalent on a breakout if you can find it).

Following the pins BCM10 (i2c Clock) and BCM11 (i2c Data) are the ones you will need. These show up as /dev/i2c-3 iirc.


So I’d be using that chip to make the button PCB compatible with the Data/Clock pins then? Since I wouldn’t really need the touchscreen features, would not soldering the pins used by the touchscreen be a possibility?


The chip would read the state of the button PCB, and communicate it to the Pi via i2c.

You’d have to move the Hyperpixel off the Pi or physically modify it (cut traces, eek) to prevent the i2c features interfering with your buttons, and even then you’d only get back 3 GPIO pins that could support 3 individual buttons.


It’ll be easiest just to get another screen or find another type of button PCB then. Thanks for the information though!


Correct! Might I recommend:

It may not be what you’re looking for if you’re going for a compact build, but you could use any USB-compatible dev board and just have it pretend to be a regular keyboard.