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.

Self adapting key detection in Ti's 4x4 key-pad reference design not tamper-proof

Other Parts Discussed in Thread: LDC1314

Hello there,

Proposed self-adapting key detection in Ti's reference design 16-Button Keypad Using the LDC1314 Inductance-to-Digital Converter
works quite well in most cases, but is not tamper-proof. For example, one could disable a button on purpose for quite some time, until
it would become operational again, by pressing it down very slowly. The button baseline value would be altered slowly, finally disabling
the button completely without having registered the press-down event.

Admittedly, this tampering is difficult to invoke with snap-dome buttons. But easy with spring-loaded push buttons for example.  

I may propose another method of adaptation to the environment, why not using a button's neighbor coil as a reference coil during
key-press detection? The differential method would cancel out component aging and temperature at least, and might be more
difficult to trick-out.

Any disadvantages, other than that neighbor buttons are not usable at the same time (single key-press detection only) ?

Cheers,

Johannes 

 

 

  • You are right, 

    There are more advanced algorithms to process button presses to make it more bullet-proof.

    TI is not an algorithm-development company and customer requirements are different, so they keep the processing to a necessary minimum, leaving it up to a customer to build upon this basis functionality.

    P.S. There's a much easier way to break it - just power up with button(s) pressed and then release. ;-) (Also easily fixable with a small code improvement)

  • EvgenyF is right. There are more advanced algorithms that you can implement with these devices that can assist in making applications like this more tamper proof. 

    In regards to using the surrounding coils as a reference, an algorithm for this could easily be implemented if you wanted to ignore presses on multiple buttons at once. The only thing to consider here is that you are slowing down your button processing by having to compare the two. This could be fine for some applications but would need to be taken into consideration for highly responsive systems. 

    Best, 

  • You don't even need to give up multiple button presses. 

    Just implement an arbitrage algorithm, with a 10-20 samples-deep memory cell.