Using a multiplexer, it is possible to make the Arduino read over a hundred buttons easily. A multiplexer/demultiplexer is an integrated circuit that selects one of several inputs and forwards them to the output. It requires a few control pins to determine which input to forward to the output.
Following are the ingredients required for this recipe:
We implement a simple configuration using only four buttons. Here are the steps: