This paper introduces a few new methods of scanning small keyboards, using fewer GPIO pins.

Pat Beirne 2cbcb23165 added sample code 1 hete
parts 11b3f95e0d added the switch symbol 1 hete
3x4_4pin.png d2593c52fe Upload files to '' 1 hete
3x4_4pin.sch d2593c52fe Upload files to '' 1 hete
3x4_5pin.png d2593c52fe Upload files to '' 1 hete
3x4_5pin.sch d2593c52fe Upload files to '' 1 hete
3x4_6pin.png a12f994ed9 more files 1 hete
3x4_6pin.sch a12f994ed9 more files 1 hete
3x4_7pin.png a12f994ed9 more files 1 hete
3x4_7pin.sch a12f994ed9 more files 1 hete
3x4_res_ladder.png a12f994ed9 more files 1 hete
3x4_res_ladder_diag.sch eb9b96effc Upload files to '' 1 hete
LICENSE b75e8f54e3 Initial commit 1 hete
README.md 0b898e6ff2 add link to main article 1 hete
direct_to_pin.png eb9b96effc Upload files to '' 1 hete
direct_to_pin.sch eb9b96effc Upload files to '' 1 hete
keypad.jpg 542b8d302d Upload files to '' 1 hete
keypad_to_microcontroller.md 2cbcb23165 added sample code 1 hete
keypad_tutorial.ino 2cbcb23165 added sample code 1 hete

README.md

Keypad Scanning

The 3x4 and 4x4 matrix keyboards are commonly used for user input. Usually, the row and column wires are connected to GPIO pins on a microcontroller. A simple approach requires 7 wires for a 3x4 keypad.

This article introduces a new technique wish reduces the number of GPIO pins down to 6, 5 and even 4, using software scanning techniques and diodes.

Even though this reduces GPIO pin requirements in a manner similar to charliplexing, this is a different design.