The Adafruit LCD shield offers an LCD and access to 4 button, using only a two wire connection with the Arduino. This is achieved with the MCP23017 I2C port expander IC.

These buttons are not directly assigned to pins, since only two pins are required for the whole communication, via the I2C protocol.

Can i use a hardware interrupt with any of the 4 buttons? If not, is there any workaround to trigger an interrupt when one of these buttons is pressed?

PS: I am using Arduino Due

2 Answers 2


The MCP23017 has two interrupt outputs. The Adafruit shield however doesn't bring out either of those two pins. You could solder a wire between one of these pins and one of the unused arduino-header pins.


No, you can not while keeping the shield intact but it's possible I think.


Here if you see the schematic and fabrication print, you will see that buttons are connected to MCP23017 I/O port. Now if you can connect to the MCP23017 pin corresponding to button you may detect the voltage change. This can be used to trigger interrupt.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.