This is an old revision of the document!


SCOUT-CAM: Remote Reconnaissance Rover

Introduction

SCOUT-CAM is a compact, dual-mode reconnaissance rover designed for inspecting hazardous, confined, or hard-to-reach indoor environments where human entry is unsafe, slow, or simply impractical. Typical use cases include:

  • Checking suspicious packages or unattended bags from a safe distance.
  • Surveying smoke-filled rooms before firefighter entry.
  • Inspecting crawl spaces and attics.
  • Scouting around collapsed furniture or shelving in search-and-rescue training exercises.
  • Looking for lost pets, leaks, or chewed cables in places a human cannot easily reach.

The rover streams live video from an on-board ESP32-CAM and is steered with a Sony DualShock 4 controller. It seamlessly switches between two operating modes:

  • Tele-operated mode — the operator drives the rover and aims the camera using the PS4 controller's analog sticks.
  • Autonomous mode — when activated, the rover uses an ultrasonic sensor to avoid obstacles and continue exploring on its own, so it never freezes in a dangerous spot.

General Description

The system has three logical layers, separated by the communication medium they use:

  1. PS4 controller (Bluetooth) — provides the human interface. Left stick → forward/turn. Right stick → camera pan/tilt. Triangle button → toggle autonomous/manual mode. Cross button → emergency stop.
  2. Host computer (Wi-Fi) — receives controller events over Bluetooth, converts them into high-level commands and forwards them as HTTP Requests to the ESP32-CAM over a TCP socket. The same script also pulls the MJPEG video stream from the camera and displays it in a window for the operator.
  3. ESP32-CAM (rover) — parses incoming commands, drives the L298N H-bridge and the two servos, samples the ultrasonic sensor, and runs the obstacle-avoidance state machine when in autonomous mode. It also serves the live camera feed over HTTP.

In manual mode the ESP32-CAM is essentially a translator: it turns network commands into signals for the servos and the DC motors. In autonomous mode it ignores the drive commands from the PC and instead runs a simple behaviour:

  1. Go forward.
  2. If an obstacle is detected within 20 cm, stop.
  3. Pan the camera left and right, take a distance reading at each side.
  4. Turn toward the side with more free space; resume forward motion.

The operator can take control back at any moment by pressing the mode-toggle button on the PS4 controller — useful when the rover gets stuck or makes a poor decision.

The 9 V battery feeds the MB102 breadboard power supply, which provides a clean 5 V rail to the ESP32-CAM, the two servos and the L298N's logic input. The DC motors are powered directly from the battery through the L298N's H-bridge — this keeps the noisy motor current off the camera's supply, which would otherwise cause Wi-Fi resets and image artefacts.

Hardware Design

To address the elephant in the room, the reason the PS4 controller input passes through the Host PC instead of going straight to the ESP32-CAM is that, because the module only has one available antenna, activating both Bluetooth (Classic) and WiFi at the same time would require handling allocating time slices to both protocols on the antenna. This isn't a problem on itself, but the video quality of the live feed (already pretty low) would take a nosedive, together with serious input lag for the controller inputs.

Hardware Modules

| ESP32-CAM (AI-Thinker) |

3-pin Makeblock ultrasonic sensor
2× Makeblock Analog servos
L298N dual H-bridge motor driver
2× DC motors
MB102 power supply module
9 V battery
Host PC
Sony DualShock 4
ESP32-CAM-MB USB to serial adapter for flashing

Pin Connections

GPIO 2 Servo 1 — signal
GPIO 4 Servo 2 — signal
GPIO 12 L298N IN1
GPIO 13 L298N IN2
GPIO 14 L298N IN3
GPIO 15 L298N IN4
GPIO 16 Ultrasonic SIG
5V pin Power
GND -

Software Design

TBA

pm/prj2026/jan.vaduva/raul_ionut.nastasie.1778310286.txt.gz · Last modified: 2026/05/09 10:04 by raul_ionut.nastasie
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0