12 Key Common Terminal Keypad




This is a quick and dirty way of addressing the pins on a 12 key common terminal keypad with an Arduino type micro-controller dev board. The keypad is branded Seeedstudios and I got it from the RadioShack Electronics Component Pack 2. The "Arduino" today will be an UNO Rev3 clone.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Program the Controller

First, take your bare Arduino board without anything hooked up. I strongly recommend programming the board before hooking anything up to it. You don't want to accidentally short an output pin set to high to ground!

Open the code in Arduino's software and compile and upload it.(Or do whatever you do to program your Arduino.)

Step 2: Connect the Pins

The easiest way to do this would be with a solder-less breadboard and jumper wires. Jump each pin directly to the headers on the Uno.

When facing the buttons of the keypad, the leftmost pin will be the common terminal("pin 1" see image). Wire this pin to ground. Then wire the remaining pins from left to right(pins 2-13) to Arduino pins 2-13 respectively.

Now there's nothing left to do but reconnect the Arduino and try it out.

Step 3: Watch the Numbers Fly In!

Open the serial monitor and press some buttons on the keypad. If wired correctly, the compiled code should have Arduino printing the character of the key on a newline in the serial monitor. ( Serial.println("*") )

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    5 Discussions


    4 years ago on Introduction

    Made it, but for practical use, I'm going to add debounce code. Plan to use the keypad for frequency entry to my Arduino Mega ADK multiple output square-wave generator.

    4 replies

    Reply 4 years ago on Introduction

    Thanks. I only wish the Fluke belonged to me (it's a loaner I'm presently using in my home office/lab to develop code for my employer).