I have a very simple project that uses an ESP32 to drive 5 servos in an HVAC setup. It works like this:
Center Vent (Open or Closed)
FootWell Vent (Open or Closed)
Defrost Vent (Open or Closed)
I have a 12 volt to 5 volt buck powering both the servos and the ESP32. 12 volt car battery supplies the buck. Servos are wired directly to the ESP32. Grounds and power are common to the buck outputs (ESP32 and servos).
It works awesome - for a little while. It will work great for a few minutes and then the ESP32 starts to get hot and eventually it shuts down. I have tried three ESP32s now and all have the same death certificate.
What could I be have wired wrong and/or programmed wrong?
I have double checked the voltage coming into the buck (always 12 to 14 volts). I have checked the buck output and it is right on 5 volts. Yes, normal 9g servos (Freewing is what I am using now). Nothing else is connected to the ESP32.
I am not using a pullup resistor, FWIW.
One question, could having the servo in a bit of a bind cause an overheating issue? Sometimes the flapper in the HVAC valve doesn't want to close all the way and this puts the servo into a bind. It's very very minimal, but I can hear the servo chattering sometimes.
Also, when I noticed this on an early version of the valve, I tuned the servo to go to where the hang up was so the stall was minimal, I think. Later versions of the valve don't have the hangup and work freely now.
I see you did some soldering on the board.
Are you sure you did not cause a short?
Even tiny spats of solder can cause a short...
Or maybe a short in your connector?
Can you please post a copy of your circuit, a picture of a hand drawn circuit in jpg, png?
Hand drawn and photographed is perfectly acceptable.
Please include ALL hardware, power supplies, component names and pin labels.
Can you post some images of your project?
So we can see your component layout.
What exactly gets hot and is destroyed on the ESP32, please be specific, a picture with the part highlighted would be good.