0
\$\begingroup\$

Esp8266 programming circuit is here. Could anyone help me identify the purpose of this capacitor?

Thanks in advance.

enter image description here

\$\endgroup\$
  • 1
    \$\begingroup\$ Tips: Turn off the grid when taking screengrabs. Crop the image. Proof-read before hitting submit. There are buttons to assist with the mark-up language on the editor toolbar. Welcome to EE.SE. \$\endgroup\$ – Transistor May 11 '18 at 23:02
1
\$\begingroup\$

When the reset button is pressed, it allows only a narrow negative reset pulse on the reset pin. Without the capacitor the reset would last for as long as you held or pushed the button in.

The capacitor makes sure the act of pressing the reset button does nothing unusual. It may be done with the reset sequence before you release the button.

Bypassing the capacitor would do no harm except delay the time in which the IC could reset, which would be when you release the button.

The parts are cheap, and it makes for a smoother reset sequence.

\$\endgroup\$
  • \$\begingroup\$ Thank you for your answer. Do you have any idea why the same setup was not used for gpio0 reset? \$\endgroup\$ – mastermind braveson May 12 '18 at 12:04
  • \$\begingroup\$ @mastermindbraveson. Chances are that pin is not edge triggered if it is for GP I/O. You would need a RS latch to hold the I/O pin low until it can respond, then use another pin to reset the RS latch. For interrupts, use pins that can set an ISR flag. \$\endgroup\$ – Sparky256 May 12 '18 at 20:11
1
\$\begingroup\$

It generates a negative pulse on the reset line when the button is pressed. In steady state with the button released there are zero Volts across the capacitor, and reset is at 3.3V. When the button is pressed, zero Volts must remain across the capacitor, so reset instantly goes to zero Volts then charges up to 3.3V through R6 in the usual V*(1 - exp (-t/(R*C)). Note, it's not a pulse in the digital sense, but close enough for reset purposes.

Addressing the question of why GPIO0 is treated differently it's because you are meant to hold down GPIO0 and then press reset. GPIO0 is s bootstrap pin that is read at startup to determine the boot mode. The capacitor makes what would otherwise be a sustained button press into a momentary button press.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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