
- 📌 Introduction
Public transportation is one of the most widely used modes of travel in cities and towns. But passengers often face difficulties in knowing the real-time location of buses. To solve this problem, we can implement a Bus Tracking System using Arduino, ESP8266 WiFi module, RFID, MQTT protocol, I2C LCD, and Buzzer.
This project tracks the bus location at every stop and updates it on a mobile app using MQTT protocol. It provides real-time updates to passengers about when the bus last reached a particular stop.
⚙️ Project Overview
Each bus stop is assigned a unique RFID tag.
On the bus, an RFID reader is installed.
When the bus arrives at a stop, the RFID reader scans the tag and identifies the stop.
The system records the bus stop name and arrival time.
Using the ESP8266 WiFi module, this information is sent to the MQTT broker.
Passengers can view the bus’s last stop location and time using any MQTT mobile application.
Additionally, the bus stop name is displayed on an I2C LCD display, and a buzzer gives an alert when a tag is scanned.
🛠️ Components Required
Arduino UNO
ESP8266 WiFi Module (ESP-01 or ESP-12)
RFID Reader (RC522 Module)
RFID Tags (for bus stops)
I2C 16×2 LCD Display
Buzzer
Breadboard & Jumper wires
Power supply
🔌 Working Principle
RFID Detection – When the bus reaches a stop, the RFID reader detects the unique RFID tag placed at that stop.
Data Processing – Arduino processes the scanned tag and identifies the stop name.
Display & Alert – The bus stop name is displayed on the I2C LCD, and a buzzer sound alerts that the stop has been scanned.
Data Transmission – Using the ESP8266 WiFi chip, the Arduino sends a message to the MQTT broker. The message contains:
Bus Stop Name
Time of Arrival (from Arduino millis clock, or later from RTC module)
Mobile App Update – Any MQTT mobile client (like MQTT Dashboard from Play Store) subscribed to the topic will receive the update instantly.
📡 MQTT Topics & Messages
Topic:bus/lastStop
Message Example:Bus reached Stop 3 at 00:05:32
This ensures that passengers can always see the latest bus stop reached.
💡 Applications
✅ Public bus transportation systems
✅ School bus tracking
✅ Company employee shuttle tracking
✅ Real-time fleet monitoring
🚀 Future Enhancements
Use an RTC (Real-Time Clock) module to log actual time instead of Arduino’s millis.
Add GPS module for exact location tracking.
Store history of bus stops in cloud database (Firebase/ThingsBoard).
Create a custom mobile app for passengers.
🎯 Conclusion
This project demonstrates a simple yet effective IoT-based Bus Tracking System using Arduino, ESP8266, RFID, MQTT, LCD, and Buzzer. By combining RFID and IoT, it provides passengers with real-time bus location updates, making public transport more reliable and convenient.
It is an excellent IoT final year project for students and can be further enhanced into a full-fledged smart transport system.
Project Code:
- Download project code from below button.
- If you want to understand code explanations then please watch YouTube video.
Click Here To Download Project Code
YouTube Video :
- If you want to understand how to connect hardware with Arduino Uno,
- And Program explanation for this project,
- And how to do this project by yourself then please watch our YouTube video
Purchase Readymade Project:
- If you want to purchase a readymade project from Mytrained.com then contact us on whatsapp.
- We do not encourage any student to purchase a readymade project from us. Our mission is to give complete knowledge free of cost.
- So from our end we already provide code and detailed steps to create this project by yourself in our YouTube video.
- So if you want to save your money then watch our video and follow the steps that are mentioned in the video.
- Once you purchase a project then it will take at least 1 month to design your project.
- You have to pay the complete project cost while placing the purchase order.
- no refund no exchange policy



Leave a Reply