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

User avatar
By martinayotte
#45176 It seems correct, although the fact of having 2 jumpers for GPIO0 add a bit of confusion.
You can simplify it by having the pullup permanently on VCC and having the jumper on GND without pulldown (or having it lower the than the pullup, since 2x 10K will not produce LOW level enough, but VCC/2)
User avatar
By CARPP
#45194 Thanks for your reply!

You can simplify it by having the pullup permanently on VCC and having the jumper on GND without pulldown


So is there any danger that a short circuit could happen?

I updated my schematic, would that be the simpler version?
You do not have the required permissions to view the files attached to this post.
User avatar
By martinayotte
#45197 Yes ! That looks good !
There rare case of conflict with the jumper to GND is when GPIO0 will be set by your firmware as output and that you set this output to HIGH. If you are scare by this possibility, you can add back the resistor, but smaller value, such 100R or 220R.
Personally, I'm using push button switches on RES and GPIO0, and I always press the RES first, than the GPIO0 and release the first one. In this scenario, even if my application would set GPIO0 in the scary case, it wont short, since at RES, GPIO become floating. Also, I'm using GPIO2/GPIO0 has I2C bus which requires pullups too, and when I2C is in output mode, it is in OpenDrain, so only output as LOW, when HIGH, it is back to input mode, relying on the pullups.
User avatar
By CARPP
#45198
Yes ! That looks good !

Puhh, thats good :lol:

If you are scare by this possibility, you can add back the resistor, but smaller value, such 100R or 220R.


Okay, thanks for the information. I added that resistor.

Personally, I'm using push button switches on RES and GPIO0, and I always press the RES first, than the GPIO0 and release the first one. In this scenario, even if my application would set GPIO0 in the scary case, it wont short, since at RES, GPIO become floating.


For me personally, i don't like pushing buttons on my board to get the µC-Unit into programming mode. If it works as is in my schematic i would rather stick with that jumper, especially if you say another resistor with ~100Ohm is enough to protect me from a short circuit.

It is no problem, if the Reset pin is HIGH all the time?

Also, I'm using GPIO2/GPIO0 has I2C bus which requires pullups too, and when I2C is in output mode, it is in OpenDrain, so only output as LOW, when HIGH, it is back to input mode, relying on the pullups.


I see in the datasheet, that GPIO0 is a I²C pin (i don't understand why they make a pin which is used to determine the boot variant a important bus pin). It doesn't matter for me at my current beginner stage because i haver never done anything with I²C and i first want to get the board and the ESP running. After that i maybe think about a re-design.