ESP32 Cam

ESP32 Cam Arduino Relay

Hardware: ESP32 Cam 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 into a versatile gateway proxy for an Arduino, enabling seamless integration with Synthiam ARC over a WiFi connection. The setup leverages the ESP32 Cam's capabilities as a video streaming device while delegating all input/output (I/O) operations, such as controlling servos, digital pins, analog inputs/outputs, and other peripherals, to the connected Arduino.

Since the ESP32 Cam has limited I/O ports, this approach significantly expands its usability by incorporating the Arduino's rich I/O capabilities. This configuration enables advanced robotic and IoT projects by combining the video feed from the ESP32 Cam with the Arduino's extensive I/O functionality.

Key Features:

  1. Video Streaming: The ESP32 Cam streams video directly to Synthiam ARC, providing real-time visual feedback for your project.
  2. I/O Gateway: The Arduino handles all peripheral controls, including:
    • Servo motor control
    • Digital inputs/outputs
    • Analog inputs/outputs
    • ADC (Analog-to-Digital Conversion)
  3. WiFi Connectivity: The ESP32 Cam establishes a wireless connection to Synthiam ARC, eliminating the need for physical USB cables.

How It Works:

The ESP32 Cam acts as a bridge between Synthiam ARC and the Arduino, with the following responsibilities:

  • ESP32 Cam: Provides the video feed to Synthiam ARC and forwards I/O commands received over WiFi to the Arduino.
  • Arduino: Executes commands for peripherals like servos, sensors, and other connected devices, responding via the ESP32 Cam.

This division of labor allows for efficient use of the ESP32 Cam's video capabilities without limiting your project's I/O requirements.

Hardware Connections:

To set up the hardware, establish the following connections between the Arduino and ESP32 Cam:

  • Arduino TX0 (Transmit) ESP32 Cam RX (Receive)
  • Arduino RX0 (Receive) ESP32 Cam TX (Transmit)

Benefits:

  1. Enhanced I/O Capability: By offloading I/O tasks to the Arduino, you can utilize its extensive pins and peripherals while still leveraging the ESP32 Cam's video functionality.
  2. Wireless Flexibility: WiFi connectivity allows for remote control and monitoring through Synthiam ARC.
  3. Modular Design: The firmware enables the ESP32 Cam and Arduino to work in tandem, creating a flexible and scalable platform for various applications.

Application Example:

This setup is ideal for robotic systems where visual feedback and extensive I/O control are essential. For example:

  • Use the ESP32 Cam to stream a live video feed of your robot's environment to Synthiam ARC.
  • Simultaneously control servo motors and read sensor data using the Arduino, all managed wirelessly through Synthiam ARC.

By combining the strengths of both the ESP32 Cam and Arduino, this firmware unlocks new possibilities for advanced robotics and IoT projects. Whether you’re building a robot with a camera or creating a remote monitoring system, this setup ensures flexibility, scalability, and seamless integration with Synthiam ARC.


This project builds using...

  • Espressif Systems esp32 library version 3.0.7
  • ESP32Servo by Kevin Harrington version 3.0.6
Supported Capabilities
  • ADC with 10 bit resolution
    The ADC captures analog voltage at 10 bit resolution. This means the native value will be an 8 bit (0-1023) from the controller. However, within ARC the resolution will be scaled to 12 bit for appropiate commands.
  • Hardware UART TX/RX with DMA buffer and adjustable baud rate
    Contains 1 or more hardware UARTs with TX/RX functionality and DMA RX buffering.
  • I2C Master
    The controller supports the ARC I2C commands for Master mode.
  • Native WiFi Connectivity from ARC
    Controller supports WiFi connectivity using TCP between your computer with ARC.
  • PWM Duty on digital ports
    Digital ports can output a PWM between 0% and 100%.
  • PWM servos on digital ports
    The controller supports PWM Servos on digital ports. These are also called Hobby servos.
  • PWM servos on digital ports can release their position
    PWM servo driver on digital ports support the feature to release their holding position.
  • Read/Write Digital I/O Ports
    The ports marked as being digital will respond to Read and Write commands of boolean logic. The status of the digital port will be either TRUE or FALSE when voltage is detected or not, respectively.
  • Transmit Uart TX on all digital ports
    All digital ports support the ability to transmit (TX) serial/uart data at various pre-determined baud rates.
  • Ultrasonic Ping distance sensor support
    Digital ports can natively support ultrasonic distance sensors. The firmware will perform the logic to calculate the distance from the ping sensor and return it as an 8 bit distance (0-255).

Version Information

  • Initial release
Click to show supported capabilities
Supported Capabilities
  • ADC with 10 bit resolution
    The ADC captures analog voltage at 10 bit resolution. This means the native value will be an 8 bit (0-1023) from the controller. However, within ARC the resolution will be scaled to 12 bit for appropiate commands.
  • Hardware UART TX/RX with DMA buffer and adjustable baud rate
    Contains 1 or more hardware UARTs with TX/RX functionality and DMA RX buffering.
  • I2C Master
    The controller supports the ARC I2C commands for Master mode.
  • Native WiFi Connectivity from ARC
    Controller supports WiFi connectivity using TCP between your computer with ARC.
  • PWM Duty on digital ports
    Digital ports can output a PWM between 0% and 100%.
  • PWM servos on digital ports
    The controller supports PWM Servos on digital ports. These are also called Hobby servos.
  • PWM servos on digital ports can release their position
    PWM servo driver on digital ports support the feature to release their holding position.
  • Read/Write Digital I/O Ports
    The ports marked as being digital will respond to Read and Write commands of boolean logic. The status of the digital port will be either TRUE or FALSE when voltage is detected or not, respectively.
  • Transmit Uart TX on all digital ports
    All digital ports support the ability to transmit (TX) serial/uart data at various pre-determined baud rates.
  • Ultrasonic Ping distance sensor support
    Digital ports can natively support ultrasonic distance sensors. The firmware will perform the logic to calculate the distance from the ping sensor and return it as an 8 bit distance (0-255).

ARC Pro

Upgrade to ARC Pro

Stay on the cutting edge of robotics with ARC Pro, guaranteeing that your robot is always ahead of the game.

PRO
Canada
#1  

Nice I will be using this for sure.