Creative Commons images are CC BY 2.0

Description: The MPR121 capacitive keypad uses the MPR121 and 12 touch sensitive pads to give you a simple ‘keypad’ with an I2C output. These keypads function by measuring the capacitance of twelve electrode points. When an object comes close to the electrode connector, the measured capacitance changes. This signals the MPR121 that something has touched a ‘button’.

The board also has four mounting holes allowing it to be used as an input system in place of traditional buttons. This keypad outputs 3.3V logic. If you are using a board which only accepts 5V logic, you will run into a problem. You will want to use a logic level converter, or a board which accepts 3.3V logic.


Recommended Products

Customer Comments

  • Any chance Sparkfun could offer a variant of these with illuminated keys (such as with blue LEDs on the back side shining through holes in the center of the keys)?

    • Honestly, probably not. That many variations of the same product usually don’t sell well for us. However, we do have all the blue LEDs you could want and tutorials so you could hack the customization yourself ;)

  • The hookup guide for this board didn’t work for me when using the Pro Micro 3.3V. I eventually found another guide ( which uses the wire.h library and it worked right away.

  • The Hookup Guide shows this hooking directly up to an Arduino Uno. The UNO I2C Pins are 5V aren’t they? Shouldn’t there be a Logic Level Converter Bi-Directional like your BOB-12009 in there between the UNO I2C pins and the Touch Sensor I2C pins?

  • How sensitive is this board? I’d love to know if it could be behind some perspex or other plastic barrier and still pick up touches.

    • From AN3747: “The minimum pad size for Freescale’s products is 3 mm by 3 mm when using thin film overlays to about 0.5 mm thickness of acrylic or ABS plastic. The maximum pad size used for touch is about 15 mm by 15 mm. This thicker pad can be used with plastics of up to 3 mm thickness and still achieve consistent operation.” . From the image measurements the used pad size seems to be 13mm here.

Customer Reviews

2 out of 5

Based on 2 ratings:

Currently viewing all customer reviews.

0 of 1 found this helpful:

They forgot to put puillup resistors on the I2C lines

Once you get it working, its very nice.

The reason they dont use the standard Wire.h library is it doesnt have the required I2C pullup resistors on the board. You need to either add them externally, or connect any other I2C device on the same pins.

was hoping for LINX support

tough to use without

Related Tutorials

MPR121 Hookup Guide

December 18, 2013

How to get started using the MPR121 for capacitive touch sensing with your Arduino.