4
\$\begingroup\$

As I understand it, the ESP8266 can be reset by pulling either the Reset pin or the Enable pin to 0V. Holding either pin at 0V will keep the ESP in reset indefinitely.

In addition, holding Enable at 0V will keep the ESP in an ultra-low-power state, consuming less than 1mA. Whereas holding Reset at 0V offers very little in terms of power saving.

Therefore, I have to ask.....what is the point of the Reset pin? Why does it even exist? When would I use the Reset pin in preference to the Enable pin?

(And for extra points.....do both pins require external pull-ups, or can one or both of them be left floating? And can Reset be safely connected directly to VDD without a resistor?)

\$\endgroup\$
4
  • 2
    \$\begingroup\$ I'd imagine coming out of reset from the ultra-low-power state takes longer than coming out of reset from the standard reset state. \$\endgroup\$ Commented Jul 16 at 2:11
  • \$\begingroup\$ Yes, that thought did occur to me. But is a couple of milliseconds really worth the wasted power? Besides, why hold a chip in reset at all, if you're not doing it to save power? If you absolutely need the ESP to respond instantly to a signal, just leave it running. \$\endgroup\$ Commented Jul 16 at 12:34
  • \$\begingroup\$ Who says you'd hold it in reset? Perhaps you're intended to pulse the reset pin (e.g. with an external watchdog timer) to quickly get the chip to reboot, while the enable pin is for power-saving. Or maybe holding it in reset by the reset pin is necessary for programming or debug functionality, while the reset state entered by the enable pin is too low-power for programming use. I'm only speculating here, but I can think of a number of reasons you would have multiple reset modes. \$\endgroup\$ Commented Jul 16 at 12:50
  • \$\begingroup\$ You don't hold a chip in reset. It's for an external button. If you have no use for it connect it to Vcc. I believe reset has a internal pullup resistor, so you can leave it floating. \$\endgroup\$ Commented Jul 16 at 13:35

4 Answers 4

2
\$\begingroup\$

Your voltage regulator would pull the Reset pin while the supply voltage is out of regulation, to make sure that the ESP does not try to start up while the supply is unstable.

You then use the Enable pin for power saving without shutting down the regulator.

\$\endgroup\$
1
  • \$\begingroup\$ Well, assuming I was using a voltage regulator capable of this feat, which most are not.....I could just have the regulator pull the Enable pin down instead, which would have the same effect. I still don't see any reason for the Reset pin to exist. \$\endgroup\$ Commented Jul 16 at 12:31
2
\$\begingroup\$

According to the datasheet, a proper power-up sequence for the ESP8266EX SOC requires the manipulation of first Reset and then Enable.

enter image description here

both t3 and t5 should be more than 100usec.

enter image description here

\$\endgroup\$
1
  • \$\begingroup\$ Interesting. I was not aware of this. You're correct of course, but in practice it really isn't necessary to raise Reset before Enable. I've used dozens of ESP8266 modules, and I always put a 10K pull-up on Reset and on Enable, which will of course raise them concurrently. And many of the NodeMCU boards use a 2-transistor reset circuit for programming, which uses either Reset or Enable but not both. So you can drop Enable or Reset independently without issue. Plus of course, the Wemos D1 doesn't even expose Enable. The datasheet says the sequence is important, but that's not true. \$\endgroup\$ Commented Jul 16 at 18:25
2
\$\begingroup\$

For those extra points ;-)

Both Reset and Enable pin of ESP8266 must be pulled up and can't be left floating. Note, however that only few people solder QFN chip (plus antenna, plus Flash, plus quartz, plus bunch of required resistors and capacitors, etc.) themselves. And if you have some kind of ESP8266 module instead, then it probably has Reset (or both Reset and Enable) pulled up. Use multimeter to check it.

Also, it is safe to connect Reset (or Enable) pin to VDD directly. Except, if your module has some extra conflicting circuitry. For example, Nodemcu-like devboards have auto-reset circuit that can pull Reset all the way down to ground. Then tying Reset to VDD and simply typing esptool would result in a short circuit.

BTW. If is perfectly safe to have only one pull up resistor while tying Reset and Enable together.

\$\endgroup\$
2
  • \$\begingroup\$ I think of the ESP-12 module as an "ESP8266", but of course you are right, in that the actual ESP8266 is the tiny chip inside the ESP-12. So more correctly I should have asked about the nature of the ESP-12. Thank you for the information. \$\endgroup\$ Commented Jul 16 at 18:44
  • 1
    \$\begingroup\$ @SodAlmighty There are different modules named esp-12 - 12e, 12f, 12s etc. AFAIR, they all have 12K pull up for Reset pin but none for Enable pin. \$\endgroup\$ Commented Jul 16 at 19:21
-2
\$\begingroup\$

Historically, the reset pen served, besides its primary function of bringing the cpu to a known state at power up, to handle the watchdog timer. The watchdog timer counts down, and is reset to a high figure at every passage of the main program loop. If ever it counts to zero, that is a sign that the main program loop is not or incorrectly functioning, and the cpu will re-initialise just like at power-up. This applies of course to process control applications, which is what an ESP is mostly used for.

\$\endgroup\$
2
  • \$\begingroup\$ This answer claims the reset pin is used to handle the watchdog timer, but fails to describe how they are related. How would the external reset pin handle an internal watchdog that can internally reset the MCU? \$\endgroup\$ Commented Jul 16 at 13:45
  • \$\begingroup\$ Yes, this answer is just plain wrong. The reset pin has nothing to do with the watchdog. And besides, my question didn't ask the historical purpose of reset pins, but rather why the ESP8266 essentially has two of them. \$\endgroup\$ Commented Jul 16 at 18:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.