# HyperPixel adding physical Button

**URL:** <https://forums.pimoroni.com/t/hyperpixel-adding-physical-button/5475>\
**Category:** Support\
**Created:** [August 1, 2017, 8:38am UTC](https://forums.pimoroni.com/t/hyperpixel-adding-physical-button/5475 "2017-08-01T08:38:44Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![PalimPalim](https://avatars.discourse-cdn.com/v4/letter/p/bbce88/32.png) [@PalimPalim](https://forums.pimoroni.com/u/PalimPalim)\
**Post date:** [August 1, 2017, 8:38am UTC](https://forums.pimoroni.com/t/hyperpixel-adding-physical-button/5475/1 "2017-08-01T08:38:44Z")

</div>

I looked at [https://pinout.xyz/pinout/hyperpixel](https://pinout.xyz/pinout/hyperpixel) Does this mean if I use the Hyperpixel, I can’t even add a button anymore?

---

<div class="post-metadata">

**Author:** ![RaspberryPicardBox](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/raspberrypicardbox/32/7454_2.png) [@RaspberryPicardBox](https://forums.pimoroni.com/u/RaspberryPicardBox)\
**Post date:** [August 1, 2017, 9:00am UTC](https://forums.pimoroni.com/t/hyperpixel-adding-physical-button/5475/2 "2017-08-01T09:00:33Z")

</div>

If you’re button is using one of the GPIO pins, then as far as I understand it, no I’m afraid you can’t add one.

I’m still unsure as to how hats like the Black Hat H3cker work, so if anyone else here who understands it a little more than I do can shed some light that’d be great. :)

---

<div class="post-metadata">

**Author:** ![gadgetoid](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/gadgetoid/32/13_2.png) [@gadgetoid](https://forums.pimoroni.com/u/gadgetoid)\
**Post date:** [August 1, 2017, 9:07am UTC](https://forums.pimoroni.com/t/hyperpixel-adding-physical-button/5475/3 "2017-08-01T09:07:38Z")

</div>

If you’re sufficiently versed in electronics, you can add them via an i2c IO expander connected to pins BCM10 and BCM11. Actually you should be able to take any HAT/pHAT that uses the i2c bus and- as long as it doesn’t conflict with the Touch i2c address- re-route its i2c bus to those two pins.

---

<div class="post-metadata">

**Author:** ![PalimPalim](https://avatars.discourse-cdn.com/v4/letter/p/bbce88/32.png) [@PalimPalim](https://forums.pimoroni.com/u/PalimPalim)\
**Post date:** [August 1, 2017, 9:23am UTC](https://forums.pimoroni.com/t/hyperpixel-adding-physical-button/5475/4 "2017-08-01T09:23:57Z")

</div>

Thanks for the Info. I don’t think I am well versed for that. At least I havent used i2c on my own just in some heads I was using. Maybe this could be added to the github repo in the future. :) Thanks for the quick replies!!!

---

<div class="post-metadata">

**Author:** ![gadgetoid](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/gadgetoid/32/13_2.png) [@gadgetoid](https://forums.pimoroni.com/u/gadgetoid)\
**Post date:** [August 1, 2017, 9:32am UTC](https://forums.pimoroni.com/t/hyperpixel-adding-physical-button/5475/5 "2017-08-01T09:32:52Z")

</div>

It’s something I’m considering experimenting with, to see if it can be documented better. It seems to be a common question!

It’s a lot easier than I make it sound. Apart from plugging the right wires into the right place, it involves a little software tweaking to re-route the i2c bus. Although I suspect it might be possible to soft-link it, to trick existing libraries into just working.

---

<div class="post-metadata">

**Author:** ![PalimPalim](https://avatars.discourse-cdn.com/v4/letter/p/bbce88/32.png) [@PalimPalim](https://forums.pimoroni.com/u/PalimPalim)\
**Post date:** [November 10, 2017, 7:57pm UTC](https://forums.pimoroni.com/t/hyperpixel-adding-physical-button/5475/6 "2017-11-10T19:57:24Z")

</div>

hey @gadgetoid I just discovered the Button Shim [https://shop.pimoroni.com/products/button-shim](https://shop.pimoroni.com/products/button-shim) Can you use the HyperPixel display and the Buttom Shim. Can you use them together?

---

<div class="post-metadata">

**Author:** ![gadgetoid](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/gadgetoid/32/13_2.png) [@gadgetoid](https://forums.pimoroni.com/u/gadgetoid)\
**Post date:** [November 11, 2017, 10:27am UTC](https://forums.pimoroni.com/t/hyperpixel-adding-physical-button/5475/7 "2017-11-11T10:27:46Z")

</div>

Yes and no. You can’t just hook it up and have it work out of the box, but I’m reasonably sure it’s possible to wire it to the i2c bus used by HyperPixel (BCM 10 and 11 for Data/Clock) and tweak the library accordingly.

Some… creative modifications… to Button SHIM itself might make this possible to do cleanly. It would be delicate, though, since you’d have to cut the traces between the IO chip and the holes for GPIO, then run copper enamel wire from the Data/Clock pins to BCM10/11.
