-->
Page 1 of 2

Setting GPIO0 to low shorts VCC and ground

PostPosted: Wed Jan 20, 2016 10:43 am
by jdkanani
I have flashed ESP12 with Blink example. I am using Arduino IDE to generate bin file and using raspberry pi (tx, rx) and esptool-ck to flash the chip. After flashing, I am getting weird problem:

While setting GPIO0 to ground shorts VCC (and CH_PD) and GND - and hangs raspberry pi. I have checked continuity before and after grounding GPIO0 and checked before/after VCC.

What causes this behavior? Any help would be appreciated. Thanks.

Re: Setting GPIO0 to low shorts VCC and ground

PostPosted: Wed Jan 20, 2016 4:59 pm
by martinayotte
What do you mean by shorting ?
Do you means that you've place an LED on GPIO0 and try to make it blink ?
Since GPIO0 is used for selecting boot mode, you can not source an LED, you can only sink it, otherwise the LED is acting like a pulldown :

Image

This is also true for GPIO2, while it is the reverse for GPIO15.

Re: Setting GPIO0 to low shorts VCC and ground

PostPosted: Wed Jan 20, 2016 10:37 pm
by jdkanani
No. I am not connecting it with LED. GPIO12 is connected to LED.

To flash the chip, I made following connections:

ESP ----> RaspberryPI
--------------------------------------------
VCC, CH_PD ----> 3.3v
GND, GPIO15 ----> GND
TX ----> RX
RX ----> TX
GPIO0 ----> GND (To flash new firmware)

While floating GPIO0, Blink example works fine. Grounding GPIO0 directly to flash new firmware causes a hang in RaspberryPI.

Re: Setting GPIO0 to low shorts VCC and ground

PostPosted: Thu Jan 21, 2016 1:17 am
by tve
you should not tie gpio0 to gnd, use a resistor instead! A few milliseconds after reset the esp outputs its 26Mhz clock on gpio0, that's what you're seeing. It causes all kinds of havoc if you ground the pin.