Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By btidey
#77043 These modules normally have an internal pull up resistor and capacitor to ground on the reset line. The pull up resistor is normally around 10K but unfortunately the value of the capacitor does not normally appear on the schematic.

The capacitor will slow down the edges when the GPIO16 tries to drive it so one would tend to think that the ESP-12S module may have a higher value capacitor and that is what gives rise to the slower edges on the ESP-12S module.

The bit that is puzzling is that the ESP-12E shows the 'normal' behaviour where the GPIO16 outputs a fixed width pulse to do the reset (wakeup) whereas the pulse on the ESP-12S seems to be switched off as soon as the reset is sensed, and the waveform starts to rise immediately. That would indicate that either the slower edge (higher capacitance) is upsetting the reset behaviour or that there is real difference between the chips behaviour in handling GPIO16 during wake ups.

In principle, if the reset is still seen by the ESP-12S then it should still work OK, but you indicate that you see intermittent problems. If one wanted to check further then one could try putting a buffer between GPIO16 and the reset to speed up the discharge.
User avatar
By craigfoo
#77278 I ended up removing the shields on both the ESP-12S and ESP-12E to try to track down the differences. There is one major difference that, so far, has not been documented anywhere (even by AI-Thinker).

The schematics of the modules that have been floating around are not 100% correct. Even the schematic from the AI-Thinker documentation for the ESP-12E is incorrect.

In the ESP-12E module, there is a series resistor (about a 450 Ohm) in series between the RST pad and the EXT_RSTB of the ESP8266. There is also a 12k pull-up and some value capacitor. Seems like the RC circuit slows the rise time for the reset. This 450 Ohm resistor doesn't exist in the ESP-12S module which isn't documented anywhere.

Adding this 450 Ohm resistor in series externally on the ESP-12S fixes the pulse issue.

User avatar
By rudy
#77280 That makes more sense. Based on the schematics available I thought the ESP12S had the correct operation, the reset waveform you showed. It was what I would expect from the RC reset. But now with the resistor between the Reset pin+RC and the outside world the ESP12E waveform makes more sense. I wonder why they changed it.

I'm glad you got to the bottom of this. I have not used any ESP12S yet (I do have some) and this is something to be aware of.
User avatar
By McChubby007
#77283 Congrats on doing a solid investigation - something that is sadly lacking in a lot of other forums. It's bloody frustrating, however, that the manufacturer cannot be trusted to keep even the most fundamental (and simple) documentation up to date. Perhaps you should ask Ai-Thinker to pay for your time in doing this work? I guess I know the answer you'd get though.