
ESP32 Cam EZB
Hardware:
ESP32 Cam
Author: DJ Sures
This firmware converts a ESP32 Cam into an EZB for ARC to connect to it.
This firmware transforms the ESP32 Cam module into a fully functional EZ-B with an integrated Synthiam ARC camera, providing a powerful all-in-one solution for robotics and IoT applications. The firmware allows the ESP32 Cam to simultaneously operate as a video streaming device and a controller for peripherals like servos and sensors, making it an ideal choice for compact, feature-rich projects.
Key Features:
- EZ-B Compatibility: The firmware enables the ESP32 Cam to emulate an EZ-B, making it compatible with Synthiam ARC for controlling robotics systems and IoT devices.
- Integrated Camera: The ESP32 Cam’s built-in camera streams video directly to Synthiam ARC, offering real-time visual feedback alongside EZ-B functionality.
- Dual Functionality: Supports servo control and camera streaming simultaneously, making it versatile for applications requiring both visual monitoring and peripheral actuation.
Recommended GPIO Pins for Servos:
To ensure smooth operation of both the camera and peripheral controls, the following pins are recommended for use in servo control while the camera is active:
- D2
- D12
- D13
- D14
- D15
These pins are optimized to avoid conflicts with the camera's operation and other internal processes, ensuring reliable performance in EZ-B mode.
How It Works:
- EZ-B Functionality: The ESP32 Cam handles peripheral controls, such as servo motors, sensors, and other devices, through Synthiam ARC commands.
- Video Streaming: The built-in camera streams video directly to Synthiam ARC, enabling real-time monitoring and control.
- Resource Allocation: The firmware ensures efficient management of the ESP32 Cam's resources, prioritizing critical functions like video streaming and servo control.
Benefits:
- Compact All-in-One Solution: Combines the functionality of an EZ-B and a camera into a single, compact device, saving space and reducing complexity in your projects.
- Cost-Effective: Offers a budget-friendly alternative to traditional EZ-B and camera setups while retaining full compatibility with Synthiam ARC.
- Versatile Applications: Suitable for robotics, home automation, surveillance, and other IoT projects requiring simultaneous video streaming and peripheral control.
Use Case Example:
This setup is perfect for robotic systems that require both camera feedback and precise control of servos or other peripherals. For instance:
- A robotic arm with a camera for object recognition and manipulation.
- A mobile robot with live video streaming and servo-driven navigation or gripper control.
By converting the ESP32 Cam into an EZ-B with an integrated camera, this firmware unlocks a versatile and efficient solution for advanced robotics and IoT applications.
wow that was a lot of wires, lol, unnecessary
Just got it today, I was amazed also - just plug it into your laptop or computer - works good
Hi Nink,
the picture you took of me is when I used the FTDI adapter on the Esp32 cam with the ARC program - just a few wires, lol... I learned that from a great Arduino teacher from Canada named Bill
Here is a short (funny) video of the "new" ESP32 cam with "NO" wires, lol - It has a built-in adapter to upload DJ's Arduino file, makes it easy, lol
In ARC, connect first when you get the IP from the serial monitor , add the camera last
EzAng
Now I just need to work out how to get GPIO working with ARC and servos / sensors. So far I managed to get one servo to vibrate on GPIO0 but that is as good as it gets.
Hi Nink,
DJ has a video of how to use a servo with the esp32's GPIOs
Step 1: First download version 3 DJ's ESP32 DOIT DevKit v1 - Firmware - Synthiam https://synthiam.com/Firmware/DJ-s-ESP32-DOIT-DevKit-v1-YGHLAL0K4JE
then get the IP to connect to ARC from the serial monitor
Step 2: read Esp32 Devkit V1 - Compatible EZB Robot Hardware - Support - Synthiam Watch this video
Near the end of this video, DJ show how to add a servo - : no vibrating servo here: https://youtu.be/CbMffZfq5cc
for a test, I first used the Led, then the servo, I used a micro servo (a little off, but), works well
remember the GPIO pins on the esp32 are the D pins in ARC servo controls
Auto-position works great
EzAng
Hi @EzAng Yes ESP32 works fine. What doesn’t work is the ESP32-CAM with servos. Finding a free GPIO and making work is the problem.
All I see on this site is:
The pins in ARC are labeled D0 - D23. The ESP32 has GPIO labeled pins, which are not in any ordered sequence. This translation chart below shows the mapping of the ESP GPIO to ARC Dx pins.
I noticed the DATA2 is a D3 and DATA3 is D4
either the cam works or the servo but not together, you are right, seems like a question for DJ
EzAng
It’s most likely due to the timer or resources that are shared between the servo and camera. Must be a conflict of some sort between those two libraries.
Agree
I just used an IoTiny on connection 1 for a servo
esp32 cam on connection 0
that works
esp32 cam can't do it alone
I guess Nink will have to go this rout for now
Thanks
EzAng