Built to order

IoT Parking Slot Occupancy Monitor with Live Availability Dashboard

This project builds an IoT parking monitor: IR sensors on every bay detect vehicle presence, an ESP32 aggregates the states, and a live web dashboard shows a bay-by-bay availability map with occupancy trends, while an entry display guides drivers to free slots. The deliverable is the full loop — sensing hardware, firmware, dashboard and analytics — demonstrated on a scaled bay model. Suitable for B.E./B.Tech final-year projects in IoT and Embedded Systems.

IoT Parking Slot Occupancy Monitor with Live Availability Dashboard — project thumbnail preview
More project photos (2)

The problem

Drivers in malls, campuses and office basements waste time circling for a free slot while attendants guess at availability. The sensing problem is simple but unforgiving: each bay needs a reliable occupied/free decision, states must reach the dashboard in seconds, and the entry display must agree with reality or drivers stop trusting it. This project solves it with an IR reflective sensor per bay on a scaled parking model — 24 bays across two levels — wired to ESP32 nodes that publish bay states over Wi-Fi via MQTT. A web dashboard renders the live bay map, occupancy percentage and hourly trends, and a 20x4 LCD at the model entry shows free-bay counts per level. The project is honest about sensing limits: IR detection range and ambient-light interference are documented, and a calibration procedure for sensor thresholds is part of the deliverable.

How it works

  1. The IR sensor on each bay continuously measures reflected infrared; firmware compares the reading against a calibrated threshold to decide occupied or free.
  2. On every state change (with debounce), the ESP32 publishes the bay ID and new state as a JSON message over Wi-Fi via MQTT.
  3. The dashboard backend stores each event with a timestamp and re-renders the live bay map, per-level counts and occupancy percentage.
  4. Hourly aggregation jobs build the trend graphs: occupancy curve, peak hours and average dwell time per bay.
  5. The entry LCD polls the same state store and refreshes free-bay counts per level on a 5-second design-target cycle.
  6. When occupancy on a level crosses the configured alert threshold, the dashboard raises a banner and logs the event for the analytics view.
  7. The calibration routine walks the operator through setting each sensor's threshold with a vehicle present and absent, storing values in EEPROM.

Tech stack:

  • ESP32 development boards (2 nodes)
  • IR reflective sensor modules x24 (adjustable)
  • 20x4 LCD with I2C backpack (entry display)
  • MQTT broker + web dashboard
  • Arduino IDE (C/C++ firmware)
  • 5 V regulated power distribution
  • Scaled two-level bay model with wiring trunking
  • Buzzer + status LEDs
Parameter Value
Controller 2x ESP32, Wi-Fi MQTT telemetry (JSON bay events)
Bays monitored 24 bays across 2 levels (design target)
Sensor IR reflective module, adjustable range approximately 2-30 cm
State latency Under 5 s from bay change to dashboard (design target)
Dashboard Live bay map, occupancy %, hourly trends, alerts
Entry display 20x4 LCD, free-bay counts per level
Power 5 V DC regulated, approximately 2 A peak (expected)
Calibration Per-sensor threshold routine stored in EEPROM

Project features

  • [Per-bay IR sensing] Each of the 24 bays carries an adjustable IR reflective sensor that reports occupied or free; firmware debounces transitions so a passing shadow does not flip a bay state.
  • [Live availability dashboard] A web dashboard shows the bay map in real time — green for free, dark for occupied — plus occupancy percentage, free-bay counts per level and hourly trend graphs.
  • [Entry guidance display] A 20x4 LCD mounted at the model entrance shows live free-bay counts per level, so the demo mirrors how a real deployment guides drivers.
  • [MQTT telemetry] ESP32 nodes publish bay-state changes as JSON over Wi-Fi via MQTT with a design-target update latency under 5 seconds and automatic reconnect handling.
  • [Occupancy analytics] The dashboard computes peak-occupancy hours, average dwell time and daily utilization from the stored bay-state history.
  • [Threshold alerts] Configurable alerts fire when a level crosses 90% occupancy or when a sensor stops reporting, flagging a possible fault.
  • [Scaled physical model] The hardware is a two-level parking bay model with marked bays, sensor mounts and wiring trunking — a realistic demonstration rig, not loose parts on a bench.

What is included

  • Working 24-bay parking model with IR sensors, ESP32 nodes and entry LCD
  • Complete firmware source (sensing, debounce, MQTT, LCD driver)
  • Live web dashboard (bay map, trends, alerts) demonstrated with the model
  • Circuit and wiring documentation with sensor calibration procedure
  • Component list with ratings
  • Project report PDF (parking guidance background, IoT architecture, methodology, test procedure)
  • PPT presentation for final review
  • Viva Q&A preparation document (IR sensing, MQTT, debouncing, analytics)
  • Setup and demonstration guide

Limitations & prerequisites

  • IR sensors report presence, not vehicle identity — number-plate recognition is out of scope.
  • Strong direct sunlight on the sensor face can shift thresholds; the model is demonstrated indoors and calibration is per-installation.
  • Detection is binary per bay; the system does not measure vehicle size or detect double-parking across bays.
  • Dashboard and LCD need the same Wi-Fi network as the nodes; internet outages pause cloud history but local states persist on the nodes.
  • 24 bays is the design target for the demonstration model; a real deployment would add per-node addressing and power budgeting.

Frequently Asked Questions

How does the system know a bay is occupied?

Each bay has an IR reflective sensor aimed at the parking surface. When a vehicle is present, reflected IR rises above the calibrated threshold and firmware marks the bay occupied after a debounce window; when it falls back, the bay is marked free. Thresholds are set per sensor during the calibration routine.

What does the dashboard show?

A live bay map with every bay coloured free or occupied, occupancy percentage, free-bay counts per level, hourly occupancy trends, peak-hour analysis and average dwell time — plus configurable alerts for high occupancy or silent sensors.

How fast does the dashboard update?

Bay-state changes are published over MQTT immediately with a design-target end-to-end latency under 5 seconds; the entry LCD refreshes on a 5-second cycle from the same state store.

Can it handle a bigger parking lot?

The architecture scales — more ESP32 nodes publish to the same broker and the dashboard aggregates by level or zone. The 24-bay model demonstrates the pattern; power and network planning for a real lot are covered as future scope in the report.

What are the main limitations?

IR sensing is presence-only with no vehicle identification, strong sunlight needs recalibration, the demo is a 24-bay indoor model, and cloud history pauses if the network drops.

Is this project suitable for a final-year project?

Yes — for IoT and Embedded Systems programs. It covers multi-node sensing, MQTT telemetry, a real-time dashboard, a physical demonstration model and honest calibration, all strong viva material. Suitable for B.E./B.Tech final-year projects in IoT and Embedded Systems.

Components & software requirements
  • ESP32 development boards (2 nodes)
  • IR reflective sensor modules x24 (adjustable)
  • 20x4 LCD with I2C backpack (entry display)
  • MQTT broker + web dashboard
  • Arduino IDE (C/C++ firmware)
  • 5 V regulated power distribution
  • Scaled two-level bay model with wiring trunking
  • Buzzer + status LEDs
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Blueprint-style technical illustration of an ESP32 development board at the centre, with sensor nodes, data-flow arrows and a circuit-brain motif representing an AI agent reasoning and sending decisions back.Engineering students building IoT or embedded final-year projects who want to add local AI agent behaviour with ESP32, MQTT and a small language model.

AI Agents on ESP32: Agentic IoT Final-Year Projects

An agentic IoT system observes, reasons, acts, remembers and explains. On ESP32 that means a split architecture: the chip senses and acts while a small local model (Ollama on your laptop) reasons over MQTT — a full LLM needs gigabytes of RAM the chip doesn't have. This guide covers three working patterns (host-reasoned agent, on-device tinyML on ESP32-S3, and a hybrid of both), plus Wi-Fi CSI presence sensing, parts and budget for India, code shapes, and honest limits to state in your report.

Read guide
Technical illustration of three electronic control units linked by a twisted-pair CAN bus cable carrying signal pulses between them.Electronics, E&TC, IoT and robotics students who keep hearing “CAN bus” in EV, automotive and industrial project ideas and want to understand it properly before wiring anything

CAN Bus Basics for Students: How ECUs Communicate

CAN bus is the shared network that lets dozens of controllers in a car, EV or robot communicate over two wires. This guide explains message IDs, arbitration, the physical layer, frame structure, error handling and CAN FD, then walks through building a working two-node bench network with an ESP32 and a transceiver.

Read guide
Illustration of a quadcopter drone build showing labeled parts including frame, motors, propellers, ESCs, flight controller, and battery.B.E./B.Tech Electronics, Mechanical, and Computer Science students planning to build a quadcopter drone who need to select compatible parts without wasting money on mismatched

Drone Build: Parts Selection Guide

Picking drone parts that actually work together is a sizing problem, not a shopping problem. This guide walks the compatibility chain — frame to props to motors to ESCs to battery — with the thrust math, firmware choices, LiPo safety, and the bench-test order that prevents disasters.

Read guide
Get a quotation