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

User avatar
By GeorgeIoak
#19500 In the hardware manual (08-ESP8266_Hardware_User_Guide_EN_v1.0.pdf) it states on p14 that CHIP_EN has an internal pull-up. It says the same about the reset pin on p15.

Typically these are clearly defined in the datasheet for the chip along with the value of the pull-up or pull-down internal resistor but it's not for the ESP8266. The problem with not adding external resistors is that if the internal resistors are very weak than noise could induce a false change in level and reset or disable the chip.

When a chip first boots it is common for them to read the state of pins and based on that state it will change how it boots. After the chip boots the pins can then be used as standard GPIO pins. The "problem" I see with the ESP8266 is that to come out of deep sleep it issues a reset so the state of the pins will be read again so if your application is using that pin for something and has changed the state of the pin you'll have problems booting.

Maybe in the future the deep sleep command will change and this won't be true, I don't believe it is on other devices but I've never played too much with deep sleep on chips.
User avatar
By LastSamurai
#19560 Thanks for all the help guys! I started to create a circuit diagram with the basic parts need to get the ESP-12 to work.
    The bottom part is a (generic) 3.3V converter, I guess the capacitors aren't quite right here yet. Have to look up in the ic's cheat what capacitor to use. Is another capacitor of 100uF between the vcc and gnd rails before the ic needed?

    The middle part is just 2 connectors for the power (I took that part from another design of mine, where I needed input and output)

    The top part is the esp itselft with some pullup resistors, buttons for restart and flash mode and a 100nF ceramic cap.

    GPIO 4,5,12,13,14 can be used as normal GPIOs, TX and RX for serial communication.

    How do I connect the ADC pin if I don't have to measure anything?

If you see any mistakes please let me know!
I plan to update this in the near future to add some more parts (like pin headers for serial communication and flashing) and to clean it up a little.
Thanks again for the feedback
You do not have the required permissions to view the files attached to this post.
User avatar
By Lotus
#19564 Thank you. I downloaded the latest documentation and confirmed your finding. I suppose if I'd like to use GPIO15 as an output I would have to pull it down to ground with a 10kohm resistor so that the processor can startup from flash.

I did find this on the espressif bbs (cautionary tale on GPIO default state, not sure if it applies to all GPIOs?):

Dear Sir,

Before first software download, GPIO0 is an output pin by default.

If you short GPIO0 to ground, there should be about 46mA of current flows through which may be also the max output current.

If you turn off the output of GPIO0, there will be no excessive current.