This project was developed by NJIT students in the IEEE Hardware and Computer (HAC) Club.
It is an AI-powered robotic car that uses an ESP32-CAM for vision, OpenCV + YOLOv3 for object detection, and a motor driver to move towards detected objects. A buzzer provides audio feedback when a target object (like a bird) is found.
- ESP32-CAM (AI Thinker)
- Robot chassis car kit (4 DC motors)
- Motor Driver (L298N)
- Passive Buzzer
- External Antenna (for ESP32-CAM WiFi stability)
- Battery / Power Bank
- Jumper wires
ESP32-CAM → L298N Motor Driver:
- IN1 → GPIO 14
- IN2 → GPIO 15
- IN3 → GPIO 13
- IN4 → GPIO 12
- 5V → 5V
- GND → GND
Passive Buzzer:
- GPIO 4 → Buzzer (+)
- Libraries:
esp32cam,WiFi.h,WebServer.h - Hosts a web server that provides:
- Camera image endpoint (
/cam-lo.jpg,/cam-mid.jpg,/cam-hi.jpg) - Motor control endpoints (
/move?action=forward|left|right|stop) - Buzzer endpoint (
/buzzer?action=on)
- Camera image endpoint (
- Libraries:
opencv-python,numpy,requests - Uses YOLOv3 with COCO dataset classes
- Fetches camera frames via HTTP
- Runs object detection (
birdin this demo) - Sends movement and buzzer commands to ESP32-CAM
- ESP32-CAM connects to WiFi and starts a web server.
- Python script requests live frames (
.jpg) from the ESP32-CAM. - YOLOv3 model processes each frame to detect objects.
- If the target object is detected:
- Car moves forward briefly.
- Flash and Buzzer beeps as feedback.
- If no object is detected:
- Car rotates slightly, scanning the environment.
This loop continues until the target object is found.
- Flash the ESP32-CAM code via Arduino IDE.
- Note the ESP32-CAM IP address printed in Serial Monitor.
- Update the Python script with that IP (
CAM_URL,BUZZER_URL, etc.). - Run the Python script:
python object_tracking.py
- Jennifer Corte
- Aleanny Burgos
- Christian Ramirez
- Jeraldine Rodriguez

