The problem
Vehicle theft and fleet misuse share one root problem: the owner finds out too late. Commercial trackers solve this with monthly subscriptions and cloud dashboards, but the underlying technique — GPS for position, GSM for messaging — is entirely buildable at student scale. This project does exactly that: an Arduino Uno reads NMEA sentences from a NEO-6M GPS module, and a SIM800L GSM module handles a small SMS command set. Text "LOC" to the tracker and it replies with latitude, longitude, speed and a maps link; arm the geofence and crossing the boundary triggers an automatic alert SMS; a panic button sends an SOS with position. The demo shows the SMS exchange on a real phone and the track plotted on the map dashboard — a genuine working demo of the software side, captured for the gallery. Students learn the two most practical wireless skills in embedded work: parsing GPS data and driving a GSM modem with AT commands.
How it works
- The NEO-6M acquires a satellite fix and streams NMEA sentences; the Arduino parses position, speed, satellites and fix quality.
- Each valid fix is compared against the stored geofence circle using haversine distance; crossings generate alert events.
- The SIM800L listens for incoming SMS; a LOC message triggers a reply with coordinates, speed and a maps link, while ARM/DISARM toggle the geofence.
- Geofence exits and SOS presses generate immediate alert SMS messages to the registered owner number.
- Fixes, ignition state and events are logged to the track record, which the dashboard demo visualises on a live map.
- Between fix intervals the controller sleeps to conserve vehicle battery, waking on schedule or on the SOS interrupt.
Tech stack:
- Arduino Uno (ATmega328P)
- NEO-6M GPS module (NMEA output)
- SIM800L GSM module (SMS via AT commands)
- Owner's phone (SMS commands, no app needed)
- Web map dashboard demo (Leaflet + OpenStreetMap)
- 12 V vehicle supply with buck regulation + backup battery
- Arduino IDE (C/C++ firmware)
- Active SIM with SMS plan (buyer-provided)
| Parameter | Value |
|---|---|
| Controller | Arduino Uno (ATmega328P), 16 MHz |
| GPS | NEO-6M, NMEA 0183; datasheet accuracy ~2.5 m CEP, cold start typically under a minute with open sky |
| GSM | SIM800L quad-band, SMS text mode via AT commands; needs active SIM with SMS balance |
| Commands | LOC (position + maps link), ARM/DISARM (geofence), STATUS; SOS via panel button |
| Geofence | Circular, configurable centre/radius; haversine boundary check per fix |
| Dashboard | Web demo: live track, geofence overlay, telemetry, alert/SMS log on OSM map |
| Power | Vehicle 12 V via buck converter; backup battery for power-cut operation |
| Fix interval | Configurable, default every 60 s; sleep between fixes |
Project features
- [SMS position on demand] Texting the LOC command returns latitude, longitude, speed and a clickable Google Maps link — position without any app or internet on the owner's side.
- [Geofence breach alerts] A circular geofence (configurable centre and radius) is checked against every GPS fix; exit or entry fires an automatic SMS alert to the owner.
- [SOS panic button] A dashboard/panel button sends an immediate SOS SMS with the current coordinates — the personal-safety use case examiners ask about.
- [Live map dashboard demo] The companion web demo plots the vehicle track, geofence circle, telemetry and the SMS channel on a real map — a working visualisation of the system's data.
- [NMEA GPS parsing] The firmware parses GGA/RMC sentences for fix quality, satellites, speed and course, ignoring stale fixes below a quality threshold.
- [Ignition and power sensing] Digital inputs log ignition state and supply voltage with the track, so the data tells a fuller story than position alone.
- [Low-power vehicle design] The tracker runs from the vehicle supply with sleep between fixes, and a backup battery keeps it alive if main power is cut.
What is included
- Working tracker prototype (Arduino, NEO-6M GPS, SIM800L, antennas, power wiring)
- Complete firmware source code (NMEA parsing, AT-command SMS engine, geofence logic, sleep)
- SMS command reference card for the demo
- Working map dashboard demo (single-file HTML with Leaflet map)
- Geofence configuration guide
- Circuit and wiring documentation (including vehicle power notes)
- Project report PDF (GPS/GSM background, NMEA parsing, geofence math, power design)
- PPT presentation for final review
- Viva Q&A preparation document (NMEA sentences, AT commands, haversine, GSM bands)
- Setup and demonstration guide
Limitations & prerequisites
- GPS needs open sky: it does not work in basements, tunnels or dense urban canyons, and cold starts take longer — the report covers this honestly with datasheet figures.
- SMS alerts need an active SIM with balance and network coverage; the module cannot send messages without the cellular network, and SMS delivery latency is carrier-dependent.
- Position accuracy is the NEO-6M's ~2.5 m CEP per datasheet under good conditions — this is a tracker, not survey equipment.
- The map dashboard is a demonstration visualisation of the tracker's data stream; live cloud upload from the moving vehicle is not part of this SMS-based build.
- In-vehicle installation (concealment, permanent wiring, antenna placement) is buyer-done; the kit is the tracker electronics.
Frequently Asked Questions
How do I find the vehicle's location?
Send an SMS containing LOC to the tracker's SIM from the registered owner number. The SIM800L receives it, the Arduino fetches the latest GPS fix from the NEO-6M, and you get a reply with latitude, longitude, speed and a clickable Google Maps link. Your phone needs no app and no internet — any phone that can text can track.
What is a geofence alert?
A geofence is a virtual circular boundary — a centre coordinate plus a radius — stored in the tracker. Every GPS fix is checked against it with haversine distance math; when the vehicle crosses the boundary, the SIM800L automatically texts the owner. It is the standard theft-detection and fleet-monitoring pattern, demonstrated here without any subscription or cloud service.
Which modules are used?
A NEO-6M GPS receiver supplies position as NMEA sentences, a SIM800L GSM module handles all SMS over AT commands, and an Arduino Uno orchestrates both — parsing fixes, evaluating the geofence and running the command set. The bill of materials is deliberately classic: every part is widely documented, cheap and viva-friendly.
Does it need internet?
No. Position comes from GPS satellites and messaging rides the cellular SMS channel, so the tracker works anywhere with mobile coverage — no data plan, no cloud account, no app. The tradeoff is that alerts arrive at SMS speed and there is no live web map of the moving vehicle; the dashboard demo visualises the tracker's data stream instead.
What are the main limitations?
GPS needs open sky and fails in basements and tunnels; SMS needs network coverage and SIM balance, with carrier-dependent delivery latency; the NEO-6M's accuracy is about 2.5 m CEP per datasheet under good conditions; and permanent in-vehicle installation — concealment, wiring, antenna placement — is buyer-done.
Is this project suitable for a final-year project?
Yes — for Electronics, IoT and Communication programs. Parsing NMEA sentences, driving a GSM modem with AT commands and implementing haversine geofence checks are practical, industry-adjacent skills. The live SMS exchange on a real phone plus the map dashboard demo make the viva presentation concrete and convincing. Suitable for B.E./B.Tech final-year projects in Electronics, IoT and Communication engineering.
Components & software requirements
- Arduino Uno (ATmega328P)
- NEO-6M GPS module (NMEA output)
- SIM800L GSM module (SMS via AT commands)
- Owner's phone (SMS commands, no app needed)
- Web map dashboard demo (Leaflet + OpenStreetMap)
- 12 V vehicle supply with buck regulation + backup battery
- Arduino IDE (C/C++ firmware)
- Active SIM with SMS plan (buyer-provided)
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.