Interface multiple keys with one wire and save pins of MCU

Usually, the keyboard is connected by using matrix type of connection – rows and columns. For instance, for a 12 button keyboard wee need 3+4 digital inputs of the microcontroller. There is a way to build a keyboard and connect it to the microcontroller using only one wire. For this, we will need only signal wire, power, and ground, and of course microcontroller must have analog ADC input. One wire keypad circuit: The circuit is nothing more than simples digital to analog converter. The microcontroller reads the voltage from the signal line and calculates which key is pressed. Let’s see how it works. If no keys have been pressed, then the line has a voltage equal to a power source. If any key is pressed, the voltage divider divides the voltage according to the resistor connected to this button. A capacitor works as a filter of mechanical noise during button contact. This way microcontroller can check the voltage of the signal line and calculate which button is pressed.