DP / PATEL
All Projects

Team Project — Embedded Systems & Computer Vision

Smart Parking System

A dual-controller parking system using a Raspberry Pi 4 and Arduino Due, with OpenMV occupancy detection, servo-actuated gates, and real-time sensor coordination.

Raspberry PiArduinoOpenMVReal-Time SystemsEmbedded C++
Smart Parking System
01

Overview

A team embedded-systems project pairing a Raspberry Pi 4 for vision-based occupancy detection with an Arduino Due for hard-real-time sensor polling, servo gate actuation, and driver-facing display feedback. This was a team project; I was responsible for the complete electrical and software system.

02

Team Project & My Contribution

Smart Parking System was developed as a team project. I was responsible for the complete electrical and software system, including its architecture, implementation, and testing.

  • Electrical architecture and integration — sensor wiring, voltage-divider signal conditioning for the ultrasonic echo lines, LED current-limiting, and power distribution across the Raspberry Pi, Arduino Due, and sensor rail.
  • Embedded software for both controllers — the Arduino Due's real-time sensor polling and actuator control, and the Raspberry Pi's coordination and decision logic.
  • OpenMV camera integration for ROI-based parking-space occupancy detection.
  • Device communication — UART handshaking between the Raspberry Pi, Arduino Due, and OpenMV camera.
  • Control logic for the dual-sensor gate-timing and occupancy behavior, and testing/debugging of the full electrical and software system.
03

System Architecture

Raspberry Pi 4

High-level decision-making, occupancy tracking, and Pi–Arduino coordination

Arduino Due

Hard-real-time sensor polling, servo gate control, and LED/LCD output

OpenMV Cam H7 Plus

ROI-based occupancy detection via frame-intensity comparison to an empty-lot baseline

Ultrasonic + IR Sensors

Dual-sensor gate timing and occupancy verification

Servo-Actuated Barriers

Entry/exit gates, confirmed via before/after ultrasonic sensing

LCD + RGB LEDs

Driver-facing availability display and per-spot occupancy indicators

04

Testing & Results

  • Gate actuation + ultrasonic sensing (hard real-time): ~600–900 ms gate response at 100 ± 2 ms polling — within the required under-1-second window.
  • IR fail-safe layer: ~100 ms polling, used to confirm occupancy when the camera's read is uncertain.
  • LCD display updates: ~500 ms, matching the design target.
  • OpenMV detection: ran at 30–31 FPS against a ~30 FPS target.
  • Field validation: tested against a real outdoor parking lot rather than only a lab bench, to confirm the ROI-comparison approach held up outside controlled conditions.
05

Challenges & Limitations

  • Vision-based detection was sensitive to strong sunlight reflections and shadows during outdoor testing — the IR sensors were added as an override layer so occupancy detection stayed reliable when lighting interfered with the camera.
  • A live camera-feed demo wasn't possible at presentation time (no OpenMV IDE connector on hand), so detection was validated against recorded real-world frames instead.
06

Gallery

System-level block diagram of the smart parking lot system's dual-controller architecture
System-level block diagram — dual-controller architecture
Real parking lot photo with OpenMV occupancy detection overlay marking occupied cars in red and an empty space in green
Real-world field test — OpenMV ROI detection classifying occupied (red) and empty (green) spaces