An I2C Illuminated Button Matrix

LED matrices are generally output devices — though we’ve seen one used as a part of a very clever scanner here. If you’d like a 4×4 display that also takes input in the form of buttons for each one, be sure to check out this Illuminated Button Matrix by David Johnson-Davies, which uses an ATtiny88 for control and communicates via an I2C interface.

The 16 buttons are all directly connected to inputs on the microcontroller, and eight outputs trigger the 16 LEDs in a matrix setup, where one row of LEDs is triggered at a time. Remaining outputs are dedicated to the SDC and SCL lines of the I2C interface, along with an interrupt pin that fires when a buttons state switches from off to on or vice versa. Conveniently, power to the unit can be supplied at 5V or 3.3V, meaning it can work with everything from an Arduino Uno to an Arduino Zero and the plethora of boards in between.

Possible applications for the device range from a musical instrument, perhaps playing cords with combinations of buttons; to part of a simple sequencer; or to gaming, where the display is also the input method. Puzzle games called Tacoyaki+ and Tacoyaki are included in this example Arduino program for use with the light-button matrix.

An I2C Illuminated Button Matrix was originally published in Hackster Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.

Original article: An I2C Illuminated Button Matrix
Author: Jeremy S. Cook