Small But Digital




The Monoshield is an Arduino shield which allows you to use your Arduino as monome like device. This shield makes it possible to independently control up to 64 LEDs (or an 8-digit display) and read a grid of up to 64 push buttons in real time. If used in conjunction with the Monoshield firmware, this shield is fully compatible with the monome serial protocol and therefor with all the software available for the monome64.


The Monoshield uses the max7221 chip to drive the LEDs. It can source up to 100mA per LED and sink 500mA per LED, it has built in dimming for the display and built in character support for use as an 8-digit display among other great features. To read the button grid the Monoshield uses a standard SIPO shift register, the 74164, in conjunction with a PISO register, the 74165. By using shift registers the button grid can be read using only 5 pins on the Arduino (in fact almost any size of grid could be read in this way by cascading more shift registers, the only limiting factor is the speed at which it can be done)

Parts List


The Monoshield eagle files are available if you would like to have your own PCBs printed. You will notice that there was a mistake in the original PCBs seen in the pictures below (notice the blue jumper wire soldered in there?), but this mistake has been corrected in the eagle files that you can download below. Feel free to contact me if you have any questions about the boards.

Monoshield - Monome

I built my Monoshield to be used as a monome clone. I've been using the Sparkfun LED 4x4 button pads with white LEDs from Digikey 160-1772-ND. The aluminum face plate was made at eMachineShop. I really wish I could have used ribbon cables with IDE connectors for my LEDs and buttons, but the Sparkfun LED 4x4 button pads use 6 4x1 connectors, which are not compatible with any standard ribbon cable connecters. My solution was to use standard Molex connectors crimped by hand ... extremely tedious to make but still better than soldering the buttons to the Monoshield.