So you're a Noob? Post your questions here until you graduate! Don't be shy.

User avatar
By PCBEE
#86476 Hello,

I've designed a custom PCB to monitor my beehives, inspired (and admittedly largely copied) from Kevin Darrah's trigboard V7. It's working for the most part, however it seems to boot up in programming mode as shown in the console output: rst cause:2, boot mode:(3,6). Only when I reset it, it runs the code as expected.

I use an ESP-12s. I know that to boot in 'normal' mode I need to pull pins:
-GPIO0, GPIO2 high
-GPIO15 low

From the ESPs datasheet it results that the threshhold for logic high is 2.475v for a 3.3v power-supply.

I assume that it's not getting the required 2.475v at GPIO0 because I'm pulling it high through an LED and a 1K resistor, which causes a voltage drop resulting in only 1.9v at pin GPIO0.

However, Kevin Darrah does pull his GPIO0 high through an LED and 1K resistor in his design as well and it works for his board, which confuses me. How does it still reach the required 2.475v threshhold?
See Trigboard V7 schematic below:
Image

This is my implementation:
Image

And this is my board:
Image
Image

Any help would be greatly appreciated, as this is the last thing I need to correct before I can actually start using my board.

Thanks :D
User avatar
By PCBEE
#86523 Apparently it's not caused by the LED's voltage drop, because I desoldered it, made a direct connection and replaced the 1k pull up resistor by a 10k pull up resistor.

Quite stumped since I still measure 3.3v before the 10k resistor, and 1.9v at the GPIO0 pin for some reason.
User avatar
By btidey
#86538 The LED + pull up would not cause a problem on GPIO0 as they are not trying to pull that pin down. There is an internal weak pull up (~35k) on that pin so you have to make sure nothing external is actively trying to pull that down.

It looks like you have not used the bit of circuit that seems to be an autoflash off the DTR signal but used a switch instead.

On my ESP-12 modules GPIO0 without any external components measures 3.3V (with a high impedance voltmeter) as expected.

So I think you have to carefully check all connections to GPIO0 to see what might be drawing some current to GND. If possible just isolate GPIO0 at the module.
User avatar
By PCBEE
#86541
btidey wrote:The LED + pull up would not cause a problem on GPIO0 as they are not trying to pull that pin down. There is an internal weak pull up (~35k) on that pin so you have to make sure nothing external is actively trying to pull that down.

It looks like you have not used the bit of circuit that seems to be an autoflash off the DTR signal but used a switch instead.

On my ESP-12 modules GPIO0 without any external components measures 3.3V (with a high impedance voltmeter) as expected.

So I think you have to carefully check all connections to GPIO0 to see what might be drawing some current to GND. If possible just isolate GPIO0 at the module.

Hello btidey,

Thanks for your reply!

Yes, I use buttons since I didn't want to keep it relatively easy.

I completely desoldered the pull up resistors and the pin is still at 1.9v only. I'll go over all the connections tonight and hopefully get somewhere. Might even solder a second board for comparison since the first one was also my first ever attempt at SMD stencil soldering with a hot air gun.

That said, I wonder if I made a stupid design mistake somewhere. For completeness I'll add my PCB design too. Maybe a more experienced person can easily spot the problem. I'm still a beginner at all of this. Keep in mind that this is my first ever PCB. I've highlighted the GPIO0 net in light green.

Ps. I also noticed one time after desoldering that when the board is still a little warm (not super hot), it somehow works as expected. Then when it cools down again, it stops booting up correctly.

Image
Image

Again thanks! Much appreciated!