I’ve always enjoyed taking older electronics apart to recreate them with modern technologies. When I came across this keypad on eBay I knew it would be a perfect project for a modern upgrade.
This number pad was made for Apple computers in the late 80’s, it uses 2 ADB connectors which were used in primarily in Apple devices. The key switches are mechanical Alps keys, these feel very smooth and have a nice tactile snap. This is not OEM Apple hardware, but still has a very solid build. The only thing I wish it came with was a coiled ADB cable that many computer devices in the late-80s had.
To adapt this keypad to work with modern computers I first searched for Arduino libraries that handled ADB signals. There wasn’t a ton of resources I could find on this, and results varied between PC, Mac, and Linux platforms, so I decided to bypass the onboard IC and solder directly to the keyswitches.
I reprogrammed the keys by creating a keypad matrix connected to my Arduino Leonardo. A keypad matrix works by assigning and connecting the columns and rows to I/O pins. Each key uses two pins, one connected to the row pin, and one connected to the column pin By making 6 rows, and 4 columns (6x4=24 keys; needs 22 keys) I was able to create a matrix of all the buttons, using the Keypad library. These can all be read as individual keys, allowing multiple keys to be pressed simultaneously.