Build a Pan-Tilt Face Tracking Robot (Phase 1 MVP - Python & ESP32-CAM)

Job ID: 40529967

Budget: ₹1,500 – ₹12,500 INR

I want to build a highly minimalist, budget-friendly desktop robot that tracks a person's face in real time. This is Phase 1 of a larger project; the goal here is strictly to build the pan-tilt tracking base using low-cost components. The robot will use a camera to follow a user's movements left/right and up/down.

Hardware Framework (Low Budget):

Microcontroller/Camera: ESP32-CAM

Actuators: 2x SG90 Micro Servo Motors (for Pan and Tilt)

Chassis: Minimalist 3D-printed or basic off-the-shelf pan-tilt bracket.

Brain: A local computer running the tracking logic, communicating with the ESP32 over Wi-Fi.

Software Architecture & Requirements:

Video Streaming: The ESP32-CAM must stream its video feed over the local network to a Python environment.

Computer Vision (Python): A lightweight Python script (using OpenCV or MediaPipe) must process the stream, identify the user's face, and calculate the target's coordinates relative to the center of the frame.

Control Loop & Kinematics: The Python script must calculate the required servo adjustments and send movement commands back to the ESP32-CAM via a simple, low-latency protocol (like lightweight HTTP requests or WebSockets).

Clean Code: The Python code must be highly modular and well-documented. Because I have a GCP background, the codebase needs to be structured cleanly so I can eventually scale it, add telemetry, or offload processing to the cloud in later phases.

Deliverables:

A complete, budget-optimized Bill of Materials (BOM) using easily sourceable parts.

Clean, well-documented Python script for the face-tracking logic.

Arduino C++ code for the ESP32-CAM to handle the video stream and receive servo control commands.

A brief wiring diagram and setup guide.

To Apply:
Please share your experience with OpenCV, Python, and basic servo control using microcontrollers. Let me know what low-cost pan-tilt assembly or components you recommend to keep the hardware costs low