Arduino Playground

Arduino Keypad Playground

The rows of the keypad are connected to arduino pins 2, 3, 4, and 5, and the columns to pins 6, 7, 8, 9. See below for a full connection table.

Click "Run code" to see the demo program in action.

Pin connection list:

Keypad pin Arduino Pin
R0 2
R1 3
R2 4
R3 5
C0 6
C1 7
C2 8
C3 9

Have questions? Feedback? Please share with us below:

sketch.ino

#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {2, 3, 4, 5}; // Connect to the row pinouts of the keypad
byte colPins[COLS] = {6, 7, 8, 9}; // Connect to the column pinouts of the keypad

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup() {
  Serial.begin(9600);
}

void loop() {
  char key = keypad.getKey();

  if (key != NO_KEY) {
    Serial.println(key);
  }
}