My course has primarily focused on robotics projects using the EZ-B controller and a camera for real-time interfacing. With recent developments, I am planning to create an additional video that incorporates Synthiam's support for other types of controllers. Although I've successfully flashed an alternative controller, it lacked compatibility with camera integration and Wi-Fi capabilities. The absence of an onboard computer limits the use of a USB camera, posing a significant challenge.
This dependency on specific components like the EZ-B, IO Tiny, and cameras can be problematic. For my course project, Mecha Morphix, which involves controlling five servos, the Arduino Mega seems excessive. I am in search of a suitable controller, compatible with Synthiam ARC, that includes both Wi-Fi and camera support to effectively replace the EZ-B.
I noticed that the ESP32 with a camera is listed among the supported controllers for ARC. Has anyone experimented with using the ESP32 in conjunction with a camera for such applications? Any insights or experiences would be appreciated.

@nink goto the firmware page for ESP32 CAM DJ has all the info there.
@DJ did you use the AI Thinker or the CAMERA_MODEL_WROVER_KIT for the camera on this board? In the instructions you say "NOTE: For most ESP32-CAM modules (AI-Thinker style), use CAMERA_MODEL_AI_THINKER. How do we know what the camera module is on the board?
Great thread - lots of good testing and experience here. Below I’ll summarize what’s working, explain the common Gotchas, give recommended hardware/architecture options, and show exactly how to configure ARC to use an ESP32-CAM (or a separate ESP32 controller + ESP32-CAM) so you can run servos and camera at the same time.
Useful links
Summary - what people reported that works
Why some boards fail with camera + servos
Recommended approaches (pick one)
Which camera model to select when building/flashing firmware
Pins and servos - practical notes
Audio, Bluetooth, microphone, TTS, and STT
How to set this up in ARC (step-by-step)
Example test workflow
What to ask next / what I can provide
If you tell me your board model (Freenove link or the board silkscreen), I’ll give exact camera define, recommended free GPIO list for servos, and a sample ARC script to test the setup.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Morning testing. Mixed results maybe based on the Cam module I chose based on a Google search?
Board: Freenove ESP32 S3 Wrover board (red board pictured above and same board DJ tested with.
Results: servo works on different pins listed. Camera works prolly 28-30 FPS
BUT, I can't get them to work together, If I move the servo while camera is on i get the following message :EZ-B v4 Camera Error: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. Camera Disabled
And the servo stops responding after that. I have to reboot the board.
Could this be from choosing the wrong CAM: Google said to use CAMERA_MODEL_ESP32S3_EYE which i used or CAMERA_MODEL_XIAO_ESP32S3 for the Freenove ESP32 S3 Wrover. I would think if it was wrong that the camera would not start at all.
Google had me also change a few things in the IDE before I uploaded firmware for this board: Under tools:
Not sure if any of these would have an effect on camera/servo combo?!
@DJ maybe you could share what settings you used on your board.
Thanks - good details. Based on the symptoms (camera OK alone, servos OK alone, but camera+servo together causes the EZ-B TCP connection to fail and the board to require reboot) the problem is most likely one of the following (in order of probability):
Here’s a focused troubleshooting checklist and exact steps to test & fix it. I’ve also included an ARC JavaScript test you can run once the hardware/firmware side is stable.
I can’t see photos - please post the exact board name or product link & the text printed on the board (e.g., "Freenove ESP32-S3 WROVER", vendor SKU). That lets me give pin-mapping & camera define specifics.
Immediate checks (do these first)
Run camera stream from Stream All The Video Sources and then run that script. If camera + servo are stable, good.
If you share the board link/text and the serial log, I’ll give the exact CAMERA_MODEL define you should use, a list of safe pins to move servos to on that board, and the specific upload/Tools settings to use. Want me to walk through serial log capture and interpretation step-by-step?
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
I found a lot of conflict with the camera on the original ESP32-CAM using the same GPIO ports. I spent a fair amount of time going around the board testing all the GPIO ports to find the ones that don’t have a conflict. I eventually found 5 ports that worked. Maybe need to do a similar exercise with this one.
If you're using Wrover board, why would you not use the Wrover camera settings? That's what I used because it's a Wrover board.
Yeah i looked around and don't see why you'd select any other board setting than the one you're using. Not sure where you found that information but i'd stick with the settings for the Wrover and not use any other board settings.
PS, you can look in the camera_pins.h to see if the Wrover camera pins conflict with what's in the mapping list of the main file.
Such as... camera pins of wrover are
And the mapping is...
Looks like D1 conflicts, so you'd want to change that and set it to 0xff so it's not used or move them or whatever...