@cdswindell posted:Finally completed support for using I2C digital I/O extender boards to add more buttons. The code creates a new type of gpiozero “Button” that has all of the same behavior. This means that you can use the “when_pressed” and “when_held” call backs, which was central to my design.
The code was developed for the CQ Robots Ocean 16 port board, but should work with any board with a MCP23017 chip. The nice thing about this chip is it provides interrupt support so you do not have to poll the board looking for button presses.
I don’t think I’m going to take the time now to add support to drive LEDs, although I think doing so would be pretty simple.
— Dave
It was pretty simple; support for I2C LEDs is now in place