Let's Make Robots!

MaKey MaKey Shield for Arduino

Howto build a MaKeyMaKey Shield for Arduino

MaKey Makey is a project created by Eric Rosenbaum und Jay Silver. It's an Arduino based keyboard. A very special keyboard, because you can use apples, bananas or Play Doh as keyboard keys. Sounds strange, but it works very well.

How it works:

The trick is using a very high resistor on the Arduino input (10..50MOhm). That is Mega Ohms not Milli Ohms! This big resistor is connected from the Input to VCC. The second resistor is build from the apple and the finger which touches the apple and the resistor of the human body that is holding the ground cable. More or less its a simple voltage divider. When you touch the apple, the contact will be recognised as closed and the programmed keyboard or mouse event will be send to the PC. 

How to build it:

The original MaKey Makey is using the ATmega32U4, the same processor as the Arduino Leonardo is using. The newer Arduino boards like Arduino Uno, Due or Mega use a smaller version of this chip family like the ATmega16U2 or 8U2 as USB serial interface. This Processor family can also be programmed as USB HID Devices and act like a keyboard or mouse. So it will work with every program/game that can be contolled with a keyboard/mouse. The older Arduinos using the FTDI chip will not work. I have been used an Itead Leonardo for this project.

The schematic is really simple, based on the original schematic. You will just need a 10..50MOhm resistor on each input pin. I use 2 x 10MOhm which is easier to get at the local electronics shop.

For testing the schematic without bananas each contact is made of copper foil. This give a good contact for the alligator clips, too.

What can I do with it:

You can use the MaKey MaKey for every program/game that uses a keyboard/mouse. Most projects use Scratch as graphical frontend, like the Piano or the drum machine.

My first idea was to use it for play 'Simon says': There exist a lot of examples on the Scratch hopmepage. I choose this one, only need to modify the keymap to get it working.

Whats next:

I don't like the need of the ground connection. Maybe a better way is to use a capacitive sensing instead of resistors. It should almost work with the existing hardware. Will try it.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Perhaps rather than telling people the difference between m and M prefixes you should confuse them further and write things in standard form. The amount of people who can't read or write in standard form astounds me sometimes.

Check out this project:


It's electronic bagpipes.  I have the electronics part built but haven't installed them in the "Bag" yet.  Still, this guy wrote his own touch library and it doesn't require a ground connection.

Thank you for the link, looks promising. Found another interesting project on Instructable about how to use a pencilo drawing as a capacitive sensor.