The Button SHIM from Pimoroni (£6/$7) adds five buttons and an LED to your Raspberry Pi. So far, so simple. What’s neat about it is that it gives you full use of all of your Pi’s pins. The GPIO pins poke through the SHIM so you can get to them.
Most obviously, that means you can use the Button SHIM to add some input controls to an electronics project. If you’re running out of GPIO pins, getting five buttons for free is a real plus.
The Button SHIM also plays nicely with many HATs, so you can use it to add input controls to an output HAT. The Unicorn HAT, for example, provides a grid of colourful LEDs that can be used for visual displays or scrolling messages. By adding buttons, you can create more flexible applications that can run without a keyboard.
The buttons stick out above the top edge of your Raspberry Pi. As a result, your Button SHIM project is unlikely to fit in an existing Pi case. Positioned at a right angle, the buttons press in towards the Raspberry Pi, and are labelled from A to E.
To set up the SHIM, you’ll need to be competent with a soldering iron. The SHIM has a set of holes, so you slide it over your GPIO pins. You then need to solder several of the Raspberry Pi’s pins to the board. It’s a good idea to solder an additional couple of pins at the other end of the board to help hold the SHIM in place. As with anything that involves soldering the GPIO pins, it’s an unavoidably fiddly job because the pins are only a few millimetres apart. If there is any excess solder on a pin, it might stop a HAT from sitting on the GPIO pins properly afterwards.
There is also a female header included which you can solder to the Button SHIM if you want to use it by itself.
The RGB LED in the corner of the board is a great bonus, and ideal for adding status signals to a project. The rainbow example program shows how the buttons can be used to change the light colour. It’s a great ‘hello world’ demo, and a perfect showcase for the Python library.
A convenient and compact way to add some controls to a Pi project or HAT. The Python library and examples will get you up and running quickly, and the status LED is a nice bonus.