Hardware Help: Random resets on ESP32 when driving high-torque servos
I'm running into a really frustrating issue with my current build and I'm hoping someone has dealt with this before. I'm using an ESP32 to control a small robotic arm setup with four MG996R servos. Everything works fine during the initial setup and the small movements, but as soon as I try to move two or more servos simultaneously to a specific position, the whole board just brownouts and restarts.
I've already tried a few things to isolate the problem. First, I'm definitely not powering the servos directly from the ESP32 5V pin; I have a separate 6V 3A power supply for the motors and I've connected the grounds together. I thought that would solve the current spikes, but it seems like the voltage drop is still hitting the microcontroller. I added a large electrolytic capacitor (1000uF) across the power rails for the servos, but it hasn't stopped the resets.
I'm starting to wonder if the inductive kickback or just the sheer transient current during the startup of the motors is causing enough noise to trigger the ESP32's brownout detector. Is there a specific way to decouple the power lines better, or should I look into using an optoisolator for the PWM signals? I've also checked my wiring and everything seems solid, no loose