ESP32-WROOM Occasional reset, and then locked in bootloader WDT

commando_j
Posts: 27
Joined: Tue Feb 05, 2019 5:26 pm

Re: ESP32-WROOM Occasional reset, and then locked in bootloader WDT

Postby commando_j » Mon Oct 28, 2019 5:51 pm

The I2C bus can hang up.

"If the data line (SDA) is stuck LOW, the master should send nine clock pulses.The device that held the bus LOW should release it sometime within those nine clocks.If not, then use the HW reset or cycle power to clear the bus. The master I2C must be
able to generate this “bus clear” sequence."
https://www.analog.com/media/en/technic ... N686_0.pdf

There's also a general call reset for I2C, but I'm less familiar with this.

If hardware reset is not possible or troublesome, a power switch or mosfet can be added to control the power to the I2C peripheral, allowing it to be reset by the ESP32. Although, finding the root cause of the hang up is more optimal of course. If power control is added, be sure to watch for voltage drops on your power line when it is turned on; the inrush of current to fill the capacitors can cause a voltage dip large enough to reset the main controller.

The WDT may be triggered due to the hung condition still being present on the I2C lines after each WDT reset

Who is online

Users browsing this forum: No registered users and 191 guests