Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have it only tied to switch via a pull-up resistor on a pic. I'd like to not perform any hardware debouncing to save on costs, but I'm wondering if this could lead to a higher fail rate of something internal to the MCU of which I'm unaware, like how the power-on-reset circuit works.

share|improve this question
Are you actually using the reset pin? If not, disable it in the config bits, and remove the pull-up from the BOM. – Matt Young May 14 '14 at 17:26
Yes, using the reset pin as a last resort in case firmware fails. – tarabyte May 14 '14 at 17:27
What are the consequences of an improper reset? – Spehro Pefhany May 14 '14 at 17:35
@tarabyte What model PIC have you got? – Nick Alexeev May 14 '14 at 17:38
@NickAlexeev, it's a PIC18F – tarabyte May 14 '14 at 17:51

It is not possible to physically damage an MCU from not debouncing the RESET input (assuming valid signal levels but invalid timing). It is possible to not reset it properly, which could lead to loss of data, EEPROM corruption, improper or undefined operation (heater stuck on, perhaps) and so on.

A pushbutton switch is also a kind of open invitation for ESD to come into the system via the user's fat electrically charged finger (and similarly disposed body), and it is possible to fry the input or cause potentially destructive latch-up of the chip. Microchip (PIC) products seem to be particularly sensitive as per datasheet warnings, but a series resistor and shunt capacitor is virtually always a good idea.

Since most reset inputs will have Schmitt trigger operation, this has the happy side-effect of guaranteeing proper minimum reset pulse width if you pick the part values sensibly.

Added: Since you've mentioned it's a PIC18F, here are a couple notes from a typical PIC18F datasheet.

Minimum reset (/MCLR) pulse width is 2usec:

enter image description here

Warning about ESD on /MCLR input:

enter image description here

In general, I would recommend using an external supervisory chip to guarantee proper reset unless you can convince yourself that the built-in circuit is totally bulletproof.

share|improve this answer
Fire and brimstone much? – Passerby May 14 '14 at 18:57
@Passerby I do a lot of very high (and very low) temperature stuff, I'd prefer to avoid the sulfur while I have a choice in the matter. – Spehro Pefhany May 14 '14 at 19:01

You must pull the reset line (called \${\small\overline{MCLR}}\$ in the datasheet) high to Vcc; Microchip recommends using a resistor < 10 kΩ. I typically use 4.99 kΩ. However, because this line is also used for the ICSP (In-Circuit Serial Programming), used by the PICKIT 3, ICD3 and REAL ICE programmers, Microchip recommends that a capacitor not be connected permanently between the reset line and ground, as this may interfere with programming the part. (If you want one, they suggest connecting it through a jumper so it can be removed during programming.) I believe that is too much trouble; as others I have suggested, some switch bounce is not going to harm anything.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.