Hyperpixel & Buttom SHIM : Compatible?


Hi Everyone,

I had a mad idea of trying to combine a Pi3b+ + the Button SHIM + The Hyperpixel 4 Tactile .
After quite some time getting everything to fit together (having had to cut the side holes from the SHIM to fit between the HiperPixel’s stands-off ), I turned everythin on & installed softwares … but nothing works : (

  • Nothing on the screen
  • None of the example of the Button SHIM is working

So my question goes as follows : Are they even compatible ?
Any help would be highly appreciated as this is some nice looking setup and would hate to have to disassemble it (… again …)

Cheers ;)


Pinout for the Hyperpixel is here, https://pinout.xyz/pinout/hyperpixel#
Pinout for the on off shim is here, https://pinout.xyz/pinout/onoff_shim#
BCM 4 and BCM 17 are used by the Hyperpixel and the on off shim, so yes, you have a conflict.
I don’t think you can use anything else that uses GPIO pins if you have the hyperpixel attached. It pretty well uses everything.


Thanks for the reply, but it is the “Button SHIM” (https://pinout.xyz/pinout/button_shim) ant not the OnOff SHIM , so beside the power pins, it is actually the SDA/SCL pins that are being used. Pins used also by the HyperPixel, but I was hoping they would have different addresses.

Any hope fellow Pimoroni buccaneer ?


BCM2&3 are used by the Button Shim in a different mode (I2C) to how Hyperpixel uses them (DPI) so there is a conflict. The Hyperpixel 4 board breaks out an I2C connector that you could connect to Button Shim, but you wouldn’t be able to “shove hardware in 'middle”


Thanks very much Tom for the detailed explanation. I guess I’m gonna try to fond a way to use that external connection some other way.

Too bad as the “physical integration” of the components was great. May be a need for a future version of the button SHIM, this time compatible with the hyperpixel mode ;) ?

Thanks again to all for your fast answers. !



Ops, sorry about that, button shim not on off shim. I had on off shim on my mind from another post.
Anyway, what he said. The i2c bus has been repurposed (set to a different function) for the Hyperpixel.
Normally yes, if the two devices had different i2c addresses they would be fine hooked up together. I’ve done it many times.


If you’re steady of hand and keen of eye enough, you could cut the i2c traces on Button SHIM and re-route them to the pins that HyperPixel sets up an i2c bus on.

I’d probably do this on the reverse of the board, since both the i2c traces pass through the board and run together on the underside pretty cleanly and with good clearance from anything else. If you were to gently scrape away the resist from the vias (the holes that send those traces through the board) you’d have a good point of contact to bodge wires over to BCM10/11

The marked pads are the GPIO connections, and if you follow the blue (underside) traces backwards they’ll go through the vias (smaller green rings) to the red (top side) traces and into the IC.


It’s unlikely we’ll make a second SKU for HyperPixel compatibility since there just wont be a big enough market to justify it. There might be a cost neutral way of making it easier to modify though, I’ll look into it.


Thank you very much Phil for the detailled instructions. I will see how I can follow them and if my eyes/hands can come with it ;).
I have another idea, not involving medical precision, but 3D printing to hold a SHIM connected to the HyperPixel’s additional port, so i’ll see which one comes out the best, even if I really find the “normal” SHIM setup the cleanest.
Thanks again for the pointers : highly appreciated ;)