# Qwiic Arcade Buttons -- debounce time

**URL:** <https://community.sparkfun.com/t/qwiic-arcade-buttons-debounce-time/41423>\
**Category:** Qwiic System\
**Tags:** qwiic\
**Created:** [January 29, 2021, 3:05pm UTC](https://community.sparkfun.com/t/qwiic-arcade-buttons-debounce-time/41423 "2021-01-29T15:05:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![kbloom](https://avatars.discourse-cdn.com/v4/letter/k/c57346/32.png) [@kbloom](https://community.sparkfun.com/u/kbloom)\
**Post date:** [January 29, 2021, 3:05pm UTC](https://community.sparkfun.com/t/qwiic-arcade-buttons-debounce-time/41423/1 "2021-01-29T15:05:50Z")

</div>

I made an [[alarm clock](https://github.com/kbloom/7-day-alarm-clock/blob/main/alarm_clock/alarm_clock.ino) using two Qwiic Arcade Buttons as the snooze and stop buttons. The debounce time on these buttons is set to 150ms, but I still frequently get bounce on the buttons when the weather is cold and dry. What strategies and timings have you found for debouncing these buttons that works well?]([https://github.com/kbloom/7-day-alarm-clock/blob/main/alarm\_clock/alarm\_clock.ino](https://github.com/kbloom/7-day-alarm-clock/blob/main/alarm_clock/alarm_clock.ino))

---

<div class="post-metadata">

**Author:** ![TS-Chris](https://yyz1.discourse-cdn.com/sparkfun/user_avatar/community.sparkfun.com/ts-chris/32/6057_2.png) [@TS-Chris](https://community.sparkfun.com/u/TS-Chris)\
**Post date:** [January 30, 2021, 12:26am UTC](https://community.sparkfun.com/t/qwiic-arcade-buttons-debounce-time/41423/2 "2021-01-30T00:26:23Z")

</div>

I don’t know how our engineers determined what value to use for debounce time, I would imagine they experimented with different times and stuck to what seemed to work the best. You may need to play around with the values in the library too see what works best for your application.

---

<div class="post-metadata">

**Author:** ![kbloom](https://avatars.discourse-cdn.com/v4/letter/k/c57346/32.png) [@kbloom](https://community.sparkfun.com/u/kbloom)\
**Post date:** [January 31, 2021, 2:52am UTC](https://community.sparkfun.com/t/qwiic-arcade-buttons-debounce-time/41423/3 "2021-01-31T02:52:03Z")

</div>

To clarify, I set the debounce time to 150ms myself. I feel that that’s pushing the boundaries of what you can get away with if you want the user (namely, me) to feel that the button is responsive to actual double-clicks, and yet it’s not enough to eliminate bounce in the kind of cold, dry weather were having now. So I was curious how someone might these two objectives in general, especially since double-clicking would seem to be common if someone were actually using the arcade button in an arcade type device.

I think I came up with a solution for my use case, however: the stop/skip button gets 1000ms debounce time, because intentional double-clicks should be rare, given its function. The snooze button (which increases the snooze length with each subsequent click) got extended to 200ms. I’ll keep testing to see how well this works for me.

---

<div class="post-metadata">

**Author:** ![brow](https://yyz1.discourse-cdn.com/sparkfun/user_avatar/community.sparkfun.com/brow/32/6116_2.png) [@brow](https://community.sparkfun.com/u/brow)\
**Post date:** [February 1, 2021, 3:40pm UTC](https://community.sparkfun.com/t/qwiic-arcade-buttons-debounce-time/41423/4 "2021-02-01T15:40:52Z")

</div>

That’s a really long bounce time. Have you tested it with other button types or even just some wire to make sure it’s actually bounce that you’re seeing?
