YukiBotLab
Using an ESP32-CAM (AI Thinker) flashed with the Synthiam firmware as my EZ-B over Wi-Fi (client mode), I’m trying to get positional feedback from a modified MG996R into ARC with the PWM servo Feedback (ADC) skill while also streaming video via the Camera Device. The servo signal is on D5 and the feedback wiper goes through a divider to an ADC D-port: 5.1k in series to the ADC pin, then 10k from ADC to GND (common ground with the 5V servo rail), plus a 0.1 F cap to ground for smoothing. In the skill I selected the corresponding ADC port and did Auto-Calibrate.
Symptoms: with the Camera Device streaming, the ADC value in the skill jitters wildly 0-4095 or flatlines near max. If I pause/disable the camera skill (or disconnect video), the readings become much more stable and track the servo position as expected. I’ve tried moving the ADC to different D-ports, separate 5V supply for the servo (grounds tied), AP vs client Wi-Fi, and adding a bit more RC filtering. Same behavior. A quick JavaScript loop shows the issue too:
while (true) {
var v = getADC("D14");
print(v);
sleep(100);
}
I’m aware some ESP32 ADC channels don’t play nicely with WiFi, and the ESP32-CAM also ties up a lot of GPIO for the camera module. For anyone who has this working: which D ports in the ESP32-CAM firmware actually map to ADC1 channels that remain usable with WiFi active, and is there a proven wiring/calibration approach to make the PWM servo Feedback (ADC) skill stable while the Camera Device is streaming?
Related Hardware (view all EZB hardware)
