Push button debouncing circuit without

I have a push button that I would like to debounce. I only care about the first rising edge of the signal which is connected to an Arduino's GPIO. After reading on the web about hardware debouncing, I understand that to truly debounce a push button, I would need a latch or a logic gate to keep a sharp edge that the Arduino could read correctly. By I don't have any and it takes a month to order anything from where I am.

So, I came up with this circuit attending to avoid using extra parts:

Push button debouncing circuit without

I would like someone to help confirm the following assumptions:

When the button is pressed, C1 will charge almost instantly because there is no resistor to slow it down. When the button is released, C1 will slowly (0.1s) discharge thru R1. This should debounce the rising edge of the button as after the initial rise, R1 prevent C1 to discharge thus keeping the GPIO high.

I don't own a oscilloscope to test this. So this is just what I'm assuming will happen.

My questions are: - Is is safe to charge C1 so fast? - Is is safe for the GPIO? - Are my assumptions correct?


In my opignion it should work. If you are afraid of the charge rate of C1, you can add a resistor between S1 and +5V. This way, you limit capacitor's loading rate.

By the way, you can simulate your circuit on LTspice, it's a free and helpfull software.

Category: pullup Time: 2016-07-29 Views: 2

Related post

iOS development

Android development

Python development

JAVA development

Development language

PHP development

Ruby development


Front-end development


development tools

Open Platform

Javascript development

.NET development

cloud computing


Copyright (C) avrocks.com, All Rights Reserved.

processed in 0.243 (s). 12 q(s)