Electronic – How to reuse this set of buttons from an old Sky cable TV box

button

I'm quite inexperienced with electronics in general, so there could be inaccuracies in this.

I have taken the circuit board from an old sky (cable/satellite) box that had some buttons on it. It has a 8 pin ribbon cable attached to it and 9 buttons. The only other components on the board are 3 diodes.

It's a fairly simple layout so I was able to use my multimeter and work out this diagram.

enter image description here

Now, I was planning to connect this to a micro controller, a pi pico to be specific. However I can't work out how I can read which button has been pressed. (aside from IO7 & IO8)

I was thinking that I could supply 3.3v on each of the diode inputs, but if I do that then multiple buttons can trigger the same IO output.

My next thought was that I could supply each of the input diodes one at a time, scanning the outputs before moving to the next input. I imagine I can do this on the controller, but wasn't sure if that's the best way to go about this?

Is this a common type of button setup? I'm happy to do a bit more googling if someone can give me the right keywords.

Best Answer

That is a button matrix which is read in a multiplexed fashion. Very common arrangement, almost everything that has many buttons like your PC keyboard or TV remote has a similar matrix.

General procedure is that the buttons are arranged as to connect certain "rows" and "columns" of the matrix together when pressed. A single row or column is activated at a time for reading, so based on that there are three diodes, there are either three rows or three columns depending on how you read the matrix, and thus it is possible to one third of the buttons at a time, whether they are pressed or not.