VKey Voltage Keypad Hookup Guide

This Tutorial is Retired!

This tutorial covers concepts or technologies that are no longer current. It's still here for you to read and enjoy, but may not be as useful as our newest tutorials.

Contributors: Byron J.
Favorited Favorite 3


If you need to add a keypad to your microcontroller project, but don't want to use up a lot of I/O pins to interface with it, the VKey is the solution for you. It outputs an analog voltage to encode which key has been pressed, which can in turn be read by an analog to digital converter on a microcontroller.

SparkFun VKey Voltage Keypad

3 Retired

Traditional digital keypad interfacing techniques can require a large number of digital I/O lines. One common arrangement uses N digital outputs and M digital inputs to interface with an N*M array of keys, as described here. On a small controller, there may not be many I/O pins left for other tasks.

The VKey board has 12 pushbutton switches and some supporting circuitry. It outputs an analog voltage that represents which of the keys is being pressed. This output can be sampled using a single channel of ADC, allowing 12 keys to be scanned using a single analog input pin.

Covered In This Tutorial

This tutorial will guide you through connecting the VKey to an Arduino, and it introduces a library that tells the application which key is currently pressed.

Required Materials

Suggested Reading