0
\$\begingroup\$

I developed a PCB for a project I'm working on. Today after assembling I tested everything and all relays where working as well as the ESP32 itself. Then I connected the sensors and it stopped booting.

After rolling out the problematic sensor I found that a water sensor that works like a button stops the ESP32 from booting when plugged in when I connect the power, but if I connect the sensor after the ESP32 has booted it works fine.

As a side note: I also noticed that the ESP32 was getting hotter, but not overheating at all, just a bit more warm than I would say normal.

Here is the schematic (VCC = +5 VDC):

enter image description here

The sensor:

enter image description here

I'm using pin 25 for the sensor and from online research I found that pin 25 should be OK for anything and technically shouldn't interfere with the boot up.

In the schematic I had a pull-down resistor of 1 kΩ; I also tried using a 10 kΩ resistor, but no luck.

I tried removing the pull-down resistor altogether and also tried activating the internal pull-down resistor of the ESP32 using software, but still no luck.

I'm using a Raspberry power supply, so 3 A at 5 V, and using a multimeter at the 5 V pin on the ESP32 shows around 6 V being received by it, so I think I can rule out the internal diode voltage drop that some boards have.

Also tried a 10 kΩ pull-up resistor between GPIO0 and 3.3 V but that didn't do anything either.

\$\endgroup\$
3
  • \$\begingroup\$ did you plug the switch harness into the correct connector? \$\endgroup\$
    – jsotola
    Commented Sep 9, 2022 at 23:17
  • \$\begingroup\$ What kind of esp module do you use? Referring to the pins i see, it looked like a wroom module, but it missed a gnd at the right and it has a 5V pin on your scheme. So probably it’s a complete pcb attached to yours. It would be awesome to supply a photo of the pcb. \$\endgroup\$
    – RemyHx
    Commented Sep 10, 2022 at 5:05
  • \$\begingroup\$ Are you using IO25 which is GPIO16 (EE&O)? \$\endgroup\$
    – Antonio51
    Commented Sep 10, 2022 at 9:24

3 Answers 3

1
\$\begingroup\$

If VCC is 5V, then you are exceeding absolute maximum ratings for the input pin.

ESP32 does not tolerate 5V on IO pins. It may go into latch-up so it may recover, or get damaged permanently.

Don't feed overvoltages to IO pins.

\$\endgroup\$
1
  • \$\begingroup\$ I dont remember having problema with this but ill try chaging to 3.3V and ser if it works. Thanks for the input \$\endgroup\$
    – DeadSec
    Commented Sep 10, 2022 at 12:01
2
\$\begingroup\$
  1. The water sensor is applying a voltage to the ESP32 input before power is applied to the ESP32. The best solution is to use a MOSFET switch driven from an output pin to switch on the sensor power once the chip comes out of reset. Putting this under software control allows configuration to complete before the sensors operate. This is a common problem on many microcontroller-based systems.

  2. While the data sheet specifies that the digital signals max. input is 3.3 V, other discussions imply that they are 5 V tolerant. This does not apply to analog inputs.

  3. Some inputs on the ESP32 are used as reset "Strapping Options". Strapping Options are invoked by tying specified inputs to a specific level. The resistor on the water level sensor may be invoking a Strapping Option, so the reset is happening, but the ESP32 is doing something not intended.

\$\endgroup\$
1
  • \$\begingroup\$ The first option thats onde of the soluition I would try if nothing eles works. Thanks for the input \$\endgroup\$
    – DeadSec
    Commented Sep 10, 2022 at 12:00
0
\$\begingroup\$

Some GPIO are used for booting mode. ESP32 link
So check in your case if you use also these pins.
Then, boot process should be change or locked.

enter image description here enter image description here

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.