Chat freely about anything...

User avatar
By btidey
#88328 One of the advantages of not having a pull up on the module for EN is that it gives more flexibility if you want to use this pin for things like externally waking up from deep sleep. The EN pin is intrinsically a very high input impedance input and having a low value pull up built in reduces some of the possibilities for interfacing. A free EN pin is used on all ESP-12 modules.

If not planning to use EN for wake up then it is actually safe to just connect it to the Vdd (3.3V) as it is a pure input. That doesn't apply to the other pins like GPIO15 or GPIO0 where connecting to Vdd or GND carries the risk that the program may configure the pin as an output and then try to drive into a short circuit.

I wouldn't connect it to RST as the reset pin normally has decoupling capacitor as well as a pull up to slow the rise of that signal during power up. Slowing both RESET and EN is almost certainly is fine but is an extra complication I prefer not to introduce.
User avatar
By Sahbi
#88344
schufti wrote:Hi,

as I wrote: for _stable_ operation ... meaning that e.g. gpio0 and gpio2 have _ weak _ internal pullups, so as you correctly concluded: may pick up static and lead to eratic behaviour. For rst: this pin allready has a pullup on the esp-01 module.
The requirement for pull ups/downs (e.g. gpio15) is intrinsic to the requirements of the required logic levels for a certain operational state (flash, rund code fron flash, sdcard, etc) detailed in the ds. Open (floating) pins don't meet the requirement for a _stable_ logic level unless mentioned in the ds (what is not the case).

I'll keep that in mind once I'll actually start using one of these ESPs in production. =]

btidey wrote:One of the advantages of not having a pull up on the module for EN is that it gives more flexibility if you want to use this pin for things like externally waking up from deep sleep. The EN pin is intrinsically a very high input impedance input and having a low value pull up built in reduces some of the possibilities for interfacing. A free EN pin is used on all ESP-12 modules.

I thought you needed to solder a wire to RST and not EN for deep sleep wake-ups though? Or do you mean to just pull CH_PD low to power it down entirely, then pull it back high to start it again? Like a hard reset as opposed to a soft reset via RST.

btidey wrote:If not planning to use EN for wake up then it is actually safe to just connect it to the Vdd (3.3V) as it is a pure input.

You mean connect it directly, without a resistor? I've thought about that but I preferred to be on the safe side.

btidey wrote:I wouldn't connect it to RST as the reset pin normally has decoupling capacitor as well as a pull up to slow the rise of that signal during power up. Slowing both RESET and EN is almost certainly is fine but is an extra complication I prefer not to introduce.

Yeah I won't be permanently pulling RST high. ;]
User avatar
By eriksl
#88536 Exactly that. Pull-ups to CH_PD (aka EN) and RST are REQUIRED. If it works without, you're lucky but don't blame anyone if it doesn't.

Even better (in my experience) is to have EN and RST have their own R/C network, so fluctations in the power supply can't trigger a reset.
User avatar
By btidey
#88540 Modules like the ESP-12F or dev modules based on this already have a pull up resistor (12K) to Vdd on the RST line. This is not a weak internal pull up, it is a separate external resistor inside the module. They also have a capacitor from RST to 0V. I have not seen the value of this capacitor on any schematic but I reckon it is 100nF as the rise time is about 1mSec. This capacitor provides both filtering and a slight delay to the RST line going high during power up. A separate additional external pull up is not necessary.

Circuits which drive the RST signal need to take this capacitor into account as if they are not low impedance then it takes a little while to discharge the capacitor to 0V.

EN certainly needs to be high (Vdd) for active operation and this can either be via a pull up or direct connect to Vdd if not intending to use EN. I do normally use a pull up even when the app doesn't drive EN as if I need to do a serial upload if OTA has got screwed up then I use EN rather than RST to initiate the auto-upload.