# Time parameters of pressing a tact button by people

1. How fast people can press a tact button? I.e. what is minimal time of holding a button pressed people can get?

2. What is typical bouncing time when people press tact button?

I have no oscilloscope to check it, but maybe anyone already did it and public in the Internet?

I am not sure how fast. It's likely few hundered miliseconds.

2) Here are some nice resources about the topic. It highly depends on the type of switch and how it's built, but 10's of miliseconds is the norm.

http://www.ganssle.com/debouncing.htm

http://www.eng.utah.edu/~cs5780/debouncing.pdf

If you really try, you can press a button for only a few 10s of milliseconds. However, that is quite extreme and requires a deliberate attempt.

In my experience, 50 ms is a good debounce time. That is about the limit where humans start to notice the delay if they aren't specifically looking for it. Most switches stop bouncing in 10-20 ms, but I have run into a few that bounced longer than that. Since humans don't notice a 50 ms delay, it's pretty much a no-brainer to debounce for at least that long, assuming the switch is being operated by a human.

If the switch is a mechanical sensor, then a faster response may be needed depending on its exact purpose. In that case a different debouncing algorithm may be appropriate, like react to the first state change immediately, but then block out new state changes for some interval.

I have used basic 50 ms debounce logic in many products, and not once has anyone complained or even mentioned they noticed the delay. To me the response feels instantaneous, although I know it's not. The processor usually has a 1 ms periodic interrupt for various other timing purposes anyway. To be clear, the debounce algorithm is that the new state of the switch is only made official if it has been seen that way for 50 consecutive 1 ms samples. This is easy to do and quite robust in my experience.

• I would expect a concert pianist could press a switch for 20ms without much difficulty, but for the rest of us, I believe 50ms to be perfectly adequate!
– user16324
Commented Dec 2, 2012 at 19:07