ESP32-S3 freezing at some locations - PWM still working
Posted: Tue Aug 26, 2025 2:16 pm
I produce an equipment with a PWM motor controller, an optical sensor, LCD and INA219. It uses WiFi for update and Bluetooth for two optional sensors.
At my lab all devices work fine, but in some places, they just freeze at a random time after motor is started. No logs, no panic, no restart. Just move to other place and all work fine.
It could be WiFi related, but in places the equipment freezes I tried turn off Wifi and Bluetooth and not solved. Checked voltages at chip input, use resistor at GPIO0, capacitor decoupling in next to ESP and devices, bigger cap in 3v3 line, etc. All current parameters are ok, nothing too hot. I put a CPU monitor running and nothing above 10% in both cores, free heap around 100k with no memory leak.
I'm going crazy with this because is not wifi signal related or code related, it just completes freeze BUT motor PWM still working!! LCD just stop and the button won't work to stop motor. Inside the code I have a task reading the sensor and stopping the motor PWM, it freezes too.
The same equipment, with same power adapter, working exactly equal in other location won't freeze.
Right now, I have near a hundred units made, same PCB, same components and just a few have this issue. Update different versions of code don't change the behavior.
It sounds like hardware defective, but the fact is location related is too strange.
The code has an NDA but I can share hardware config and setups if it helps, but I'm almost sure is hardware related and really appreciate any advice.
At my lab all devices work fine, but in some places, they just freeze at a random time after motor is started. No logs, no panic, no restart. Just move to other place and all work fine.
It could be WiFi related, but in places the equipment freezes I tried turn off Wifi and Bluetooth and not solved. Checked voltages at chip input, use resistor at GPIO0, capacitor decoupling in next to ESP and devices, bigger cap in 3v3 line, etc. All current parameters are ok, nothing too hot. I put a CPU monitor running and nothing above 10% in both cores, free heap around 100k with no memory leak.
I'm going crazy with this because is not wifi signal related or code related, it just completes freeze BUT motor PWM still working!! LCD just stop and the button won't work to stop motor. Inside the code I have a task reading the sensor and stopping the motor PWM, it freezes too.
The same equipment, with same power adapter, working exactly equal in other location won't freeze.
Right now, I have near a hundred units made, same PCB, same components and just a few have this issue. Update different versions of code don't change the behavior.
It sounds like hardware defective, but the fact is location related is too strange.
The code has an NDA but I can share hardware config and setups if it helps, but I'm almost sure is hardware related and really appreciate any advice.