The Challenge/Problem
There are plenty of button pads out there like the Monome, Novation Launchpad, the Akai APC series and the Adafruit UNTZtrument, etc. 

However a bunch of friends and I wanted a bunch of features we couldn’t find in exiting products. 

  • Color buttons
  • Modular design (build any combination of 4x4 modules into a bigger device)
  • Open Source hardware and software
  • Stand alone operation (code running on the unit)
  • Hardware Midi

Originally called the "Monome-ish MIDI Controller Build Crew” after the first couple of meetings the product turned into Gunfingers. 

The project has been going since 2014 but progress has been slow/glacial with occasional bursts. We have the first prototype of the button pad PCB that’s unpopulated and untested.

There have been other “similar” attempts at open source button pads in the past, however we couldn’t find one that was modular or had enough published information to build on. 

The Solution

The gunfingers modular system is made up of several components  

Button Pads 
The button pads use WS2812 LED’s for the LED’s inside the buttons. Gunfinger members have had success with this before on other projects.  The button’s are just routed to connectors to be managed by the IO Module’s

IO Modules
The IO models fit under the button pads and will use i2c IO expanders to provide button input to the main board.

The Mainboard hosts the target microcontroller board and provides Power regulation and distribution, hardware MIDI and connections to the IO Modules.

Depending on the use of interrupts the IO modules the mainboard will be connected to the IO modules in either a star or daisy chain topology. 

It’s likely that eventually there will be different flavours on mainboard for Teensy, ESP, Raspberry Pi  etc The first mainboard will be designed as a FeatherWing allowing initial testing on a range of micros. 

Acknowledgements and Licensing 

The button pad parts are based off parts from the Sparkfun Eagle Library. Thanks Sparkfun