24 cellphone buttons controlled with 6 microcontroller pins

[J8g8j] has been playing around with an old cellphone. He wanted to control it using a microcontroller but since there’s 24 buttons he wasn’t thrilled about hooking up a couple dozen relays to do the switching. Instead, he managed to control all 24-buttons using just 6-pins of a microcontroller.

The proof-of-concept video that he posted on his site shows the phone responding to an arbitrary string of button presses. [J8g8j] spent the majority of his time reverse engineering how the phone’s keypad is wired. Once he figured out the rows and columns of the key matrix he soldered wires to access each of them. This turns out to be 14 connections. To these, he wired up a set of opto-isolators to handle the switching. These are in turn controlled by a set of three 74HC138A 3-8 bit decoders. what’s left are six input pins that leave plenty of room for him to hook up other items to the Arduino serving as the microcontroller.