Button Shim


Hi all

Please forgive my newness! I bought a Button Shim to use un-soldered on my Pi with some of my HATs. From what I understood on the website this is ok to do?

I’ve downloaded the library and all installed ok, however when I try and run any of the example programs, e.g. rainbow.py, I get this error?

Traceback (most recent call last):
  File "/home/pi/Pimoroni/button-shim/examples/rainbow.py", line 15, in <module>
  File "/usr/lib/python3/dist-packages/buttonshim/__init__.py", line 294, in on_press
  File "/usr/lib/python3/dist-packages/buttonshim/__init__.py", line 188, in setup
    _bus.write_byte_data(ADDR, REG_CONFIG, 0b00011111)
OSError: [Errno 121] Remote I/O error

From what I read on the other threads, this is sometimes down to issues with soldering, but I haven’t soldered anything - it’s just resting on the GPIO pins of my pHAT Stack, underneath an Inky pHAT. I’ve oriented it the same way as shown on the photos on the product pages - am I getting something really simple wrong? Or can I not use it in this way?

Thanks for your help in advance!


I’ve attached a photo just in case that helps!


yeah its likely an issue with them not being soldered ,I have 2 different shims and had no luck with them without soldering a header to them ,the led shim would work if i ran the code and then held up on the shim to make connection to the pins ,so my i just soldered headers to them …someone else may have a different suggestion though


IO error means its not making contact. IMHO it needs to be soldered.
Its shown as soldered on the product page, https://shop.pimoroni.com/products/button-shim
You don’t need to solder every pin though, just the ones listed as used here,


Thank you both for the responses! Part of the reason for buying this was to NOT have to solder anything, but I guess I’ll pick up some more no hammer headers and give it a try that way.

Interesting, because the product pages very much makes it sound like it can be used without soldering, but it appears to not work that way in reality!


I can see why you might think that. I personally don’t read it that way though.

Our SHIM-format boards are designed to slip neatly onto your Pi’s GPIO pins and still allow you to use HATs and pHATs at the same time. Or solder the included female header onto Button SHIM and use it as a standalone board.

The way I read it is you can solder it directly to your Pi (and plug something in on top of it after) or solder a header on it and plug it in. Could be worded better and open to interpretation.

I do believe the only shim that is solderless is the LED Shim, and it clearly states it is friction fit. I have one and soldered mine anyway. I didn’t connect mine directly to my Pi’s GPIO though, its extended with jumper wires.


You said “no hammer” headers in your post, was that just a typo?
If you are using the regular “non” hammer headers, they need to be soldered.


Ahh that was a typo… I meant no-solder hammer headers! 🙈


Completely agree that I misunderstood the description - it’s so cheap it’s worth taking a chance on. And I did notice that the LED Shim is friction fit - I wondered if that applied to some of the other shims too and was just left off the description, which is clearly not the case 😊

Lesson learned though and I now know for next time!

Appreciate the help!


The “lessons learned” are no big deal when nothing bad happens. It just didn’t work.
It can be frustrating though when your left scratching your head wondering “why” it didn’t work.
I’m a retired electronic technician so its a bit easier for me to sort things out in descriptions etc.
Most times lol.
Soldering is just second nature for me these days. I’ve been doing it for 40+ years. The hammer headers do look nice, just not convinced its the way I want to go. Old habits die hard. ;)


I bet! I’ve not soldered in over 20 years but used to enjoy it at the time! Am sure I’ll get back to it eventually - I want to get the hang of some of this before throwing an added element of danger into the mix 👍


I’ve been retired now for about 20 years. Forced early retirement due to a bad back.
Getting into Raspberry Pi’s was one of the best things I did. Keeps my mind active.
My electronics background helps and makes things easier, most of the time anyway.

I have a couple of the mini Black Hat Hack3r boards, and one of the original slightly larger Black Hat Hack3r boards. I like the original one better. I don’t have pHat stacker yet, its on my wish list though.
I’ve used the mini’s as an electronics chassis / motherboard in a couple of projects. Rovers mostly.
All my projects are here if you want a look see


Jack has the pHat Stacker, and done something similar to what your doing.


Some of our SHIMs are designed to work without soldering, but Button SHIM by nature needs to be soldered to the Pi so it doesn’t wiggle around and lose connection when you press the buttons.

The product page could be a little clearer, though, so I’ll see if we can get it changed to avoid any future confusion! Sorry about that.