I2C Controlled Tactile Buttons

Sparkfun carries these nifty LED illuminated tactile buttons (SKU COM-10439). The LED’s are controllable separate from the push button action. Using them for real projects is pretty hard, especially if you have a case. In order to solve this, I devised a circuit board that has mounting holes, so these can sit up on a case.

But why stop there? For each button, you use two pins on your MCU. Then you need additional parts to do debouncing, pull ups, etc. Add a MCP23008 I2C expander, and you can control several push buttons over an I2C bus. This chip operates from 3.3V and 5V. It has wide support in the Arduino community.

2button pcb 2button pcb back