Chat freely about anything...

User avatar
By Barnabybear
#31867 Hi, glad you got that sorted.
In an ideal world the ESP8266 has all the internal pullups required to function with just power added.
The problem is that they appear to be around 100K. With resistances this high, the quality of manufacture of the IC its self, the pcb it is attached too, the solder and amount of flux left on the board all come into play. That’s before any RF, long connecting cables and well used proto boards affect things.
What works for some people doesn’t for others, hence the different guidance.. 10K is my preferred value for resistors (some use 4.7K or 1K) I recommend 10K for GPIO 0 & 2 as they can be left in place whilst using the pin for other functions after boot. That said if you are going to use them as SPI I believe 4.7K is the recommended value.

My recommendation for connections for normal ‘run mode’ (you may not have all these pins exposed):
Power (external 500mA min).
Vcc -> 3.3V
GND -> GND & GND on your serial device.
Capacitors on power (as close as possible to IC terminals).
Vcc -> GND =< 100uF (to prevent power drops)
Vcc -> GND 0.1uF (to prevent noise)

Serial.
Tx -> Rx (Tx -> Tx if you are using an Arduino as serial device)
Rx -> Tx (Rx -> Rx if you are using an Arduino as serial device)

GPIOs.
GPIO 0 -> resistor -> 3.3V (low is flash mode)
GPIO 2 -> resistor -> 3.3V (low stops other things working)
GPIO 15 -> resistor -> GND (high is boot from SD card mode)

Other pins.
CH_PD -> 3.3V (via resistor if you want to have option to power down)
RST -> 3.3V (via resistor if you want to have option to reset)

Deep sleep.
GPIO 16 -> 1K resistor -> RST

Connections for other modes or functions.
The ‘&’ is normally actioned with a normally open push button.
Flash mode.
GPIO 0 -> resistor -> 3.3V (as above)
& GPIO 0 -> GND (whilst resetting or powering down)

Resetting.
RST -> resistor -> 3.3V (as above)
& RST -> GND

Power down.
CH_PD -> resistor -> 3.3V (as above)
& CH_PD -> GND

Boot from SD card (you’ll never use this).
GPIO 15 -> resistor -> GND
& GPIO15 -> 1K resistor -> 3.3V (whilst resetting or powering down)

Hope that helps.