This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TCA6416A: TCA6416A for matrix button detection

Part Number: TCA6416A
Other Parts Discussed in Thread: TCA6424, TCA8418E, TCA8418

Hi team,

My customer want to use TCA6416A for button detection. Below is the illustration diagram, actually they have 5*4 button. They want to use TCA6416A  to save IO numbers.

1. Can I use TCA6416A  to realize 5*4 button detection? I assume that totally 9 IOs of TCA6416A is uesd, once a button is pressed,  TCA6416A send a Interrupt signal to MCU, and MCU check the register's status and calculate which button is pressed, then reset the register.

2. Usually we need anti-shake function when use GPIO and software to realize button detect. Software will delay several us to avoid multiply detection for one press. 

3. Another option is use TCA6424, for each button, is this better for detect speed?


  • Hey Jeff,

    The problem with the IO expanders is they will reset the interrupt when the signal goes back to it's original value. (You press a button then the INT will trigger but when you release, the INT will reset) So if you do not read the input in time, you will not know which button was pressed.

    I would recommend TCA8418 and TCA8418E as they have a debounce function (I think this is point 2 of what you were talking about) and stores the key presses.