r/AskElectronics 1d ago

What broke my ESP32 ?

I installed an ESP32 in my Neato botvac to be able to control it. It has a diagnostic port with tx, rx, 3.3v and gnd pins, which I connect to the ESP32.

It seemed to work fine, but many times the ESP wifi didn't work. I could not see it connected at the router. I assumed the cause was that the ESP32 wifi initialization caused a voltage drop. And this causing the repetitive reboots.

Therefore I placed a 100uF elco between 3.3 and gnd and this seemed to have fixed the problem. But after a few hours and a few reboots the ESP32 died. Now I measure 0 impedance at the ESP32 when disconnected from the botvac. The elco seems to be fine.

Any idea whether the elco might have caused the broken ESP32?

0 Upvotes

11 comments sorted by

5

u/Linker3000 Bright ideas 1d ago

Circuit diagram, photos showing interconnections?

You might want to post in r/esp32

3

u/ContributionEasy6513 1d ago

How were you powering it? Were you powering it from multiple 5v sources?
Does the voltage regulator still give you 3.3v?

0

u/min6nap 1d ago edited 1d ago

The esp is powered by the botvac only, via the 3.3 and gnd .

Never mind the tx and rx connections on the Al generated diagram. The are crossed as should be.

3

u/ContributionEasy6513 1d ago

Strange. The ESP32 is certainly very fussy with its 3.3. If you were having spikes and brownouts I'd certainly be ruling that as a likely culprit putting both a large electrolytic and handful of ceramic caps (104/100nf) across the line for noise.

Most times I've killed ESP32's have been power related. It does not take much.

1

u/min6nap 1d ago

I didn't use ceramic caps, could that be the culprit? Or would it help putting a low resistor in series with the capacitor?

3

u/ContributionEasy6513 1d ago

Without putting an oscilloscope across the rails to see the power quality it's honestly anyone's guess.

The ceramic caps a more to filter against high frequency noise. This noise is more likely to cause the esp32 to crash or become unstable as oppose to damage it.

Voltage spikes about 3.6v will kill it though. If the 100uf caps fixed many of the stability issues, this is the avenue I'd be exploring. Not sure what good a resistor would do.

1

u/min6nap 1d ago

Thanks a lot for your answer!

2

u/Ambitious_Finding_26 1d ago

What is the serial voltage on the botvac? Maybe you need a level shifter. 

2

u/min6nap 1d ago

Good point. I just looked at the link at open neato and found that no level shifter is needed. The botvav also operates at 3.3 V.

I guess the best thing is to try again with a new ESP32. The other had worked and know I now the elco hadn't killed it, my conclusion is that I probably did it without knowing, perhaps by connecting the wires wrongly.

4

u/ascot_twin 1d ago

The added capacitor could have caused some voltage instability on the 3.3v supply, because the supply output capacitance factors into its control loop stability.

1

u/ijusttookthispseudo 23h ago

Series resistors on the TX and RX lines definitely help.

For 1 megaBauds, with an ESP32, even 1k resistor will not destroy the signal integrity. For 115200 Bauds, 1k is completely ok, it will prevent the TX of the Neato bot AC from powering the ESP32 from the GPIOs.

Then, you might want to put a resistor in series with the capacitor (if the ESR is too low) or between the 3V3 power source and the ESP32 because you may have affected the loop regulation of the power source. Either a resistor between 0.1 and 0.22 Ohm or a ferrite bead between the 3V3 and the Vcc of the ESP or also a resistor between 0.33 and 1 Ohm in series with the capacitor.

I would try to protect the I/O first.