ESP32でMG996Rを動かすためにDC電源から直接つないだところ、
サーボモータが暴れ出しました。

結局
DC電源(-) → Servo(GND) → ESP32(GND)と直列に繋ぐことで解決しましたが原因はなぜでしょう?

ちなみにDCは6Vです。

おそらくPWMの分電圧が上がるため、DC電源-6Vでは電圧が0にならずに??不具合?
なのかなと考えていますが、
ESP32(GND)は電圧0Vという訳でもないですよね?