PmodKYPD Reference Manual

The Digilent PmodKYPD (Revision B) is a 16 button keypad, providing users with immense configurability.

Download This Reference Manual


  • 16 momentary push-buttons
  • Can detect simultaneous button presses
  • Isolated rows and columns
  • 12-pin Pmod port with GPIO interface

Functional Description

The PmodKYPD utilizes 4 rows and columns to create an array of 16 momentary pushbuttons. By driving the column lines to a logic level low voltage one at a time, users may read the corresponding logic level voltage on each of the rows to determine which button, if any, is currently being pressed. Simultaneous button presses can also be recorded, although it is still required to step through each row and column separately in order to ensure that the pressed buttons do not interfere with each measurement.

By design, multiple simultaneous button presses within the same row cannot be individually detected.

Interfacing with the Pmod

The PmodKYPD communicates with the host board via the GPIO protocol. Each button is placed within a simple voltage divider circuit. When a button is not pressed, a large pull-up resistor maintains a logic level high voltage on each of the row pins. When a column pin is driven to a logic level low voltage and a corresponding button is pressed, completing the voltage divider circuit, the row pin will then read a logic level low voltage instead.

Pinout Description Table

Header J1
Pin Signal Description Pin Signal Description
1 COL4 Column 4 7 ROW4 Row 4
2 COL3 Column 3 8 ROW3 Row 3
3 COL2 Column 2 9 ROW2 Row 2
4 COL1 Column 1 10 ROW1 Row 1
5 GND Power Supply Ground 11 GND Power Supply Ground
6 VCC Power Supply (3.3V/5V) 12 VCC Power Supply (3.3V/5V)

Any external power applied to the PmodKYPD must be within a voltage that your system board can handle; It is recommended that Pmod is operated at 3.3V.

Physical Dimensions

The pins on the pin header are spaced 100 mil apart. The PCB is 3.4 inches long on the sides parallel to the pins on the pin header and 2.7 inches long on the sides perpendicular to the pin header.

Additional Information

The schematics of the Pmod KYPD are available here.

Example code demonstrating how to get information from the Pmod KYPD can be found here.

If you have any questions or comments about the Pmod KYPD, feel free to post them under the appropriate section (“Add-on Boards”) of the Digilent Forum.