Built to order

IoT Bicycle Anti-Theft System with Vibration Alarm and Geofence Alerts

An IoT bicycle anti-theft system is an ESP32 unit on a bicycle frame that detects vibration with an SW-420 sensor, sounds a buzzer, and sends GPS position to a dashboard that alerts when it leaves a geofence circle. When armed, vibration starts a 10-second confirmation window before the alarm fires, so a brief knock does not trigger a full alert. Suitable for B.E./B.Tech final-year projects in Electronics, IoT and Embedded Systems.

IoT & Embedded NEO-6M GPS ModuleHTML · CSS · JavaScript dashboardArduino IDE firmwareESP32 · Wi-Fi microcontrollerActive buzzer alarmMQTT Wi-Fi dashboard linkHybrid
IoT Bicycle Anti-Theft System with Vibration Alarm and Geofence Alerts — project thumbnail preview
More project photos (3)

The problem

Bicycles parked outside colleges and hostels are easy targets because a standard lock only delays a thief briefly and gives the owner no warning while the theft is happening. The IoT Bicycle Anti-Theft System with Vibration Alarm and Geofence Alerts answers that gap with a unit fixed to the bicycle frame: an ESP32 controller, an SW-420 vibration sensor, a NEO-6M GPS module and a buzzer, linked over Wi-Fi and MQTT to a dashboard. When the system is armed and the frame is shaken, the buzzer sounds locally while the dashboard records the event and shows the bicycle's position, so the owner learns of it at once instead of hours later. A geofence circle drawn around the parking spot adds a second tripwire: if the bicycle is wheeled away, the dashboard flags the exit even unheard. The unit is a student-built prototype, not a commercial tracker, so it demonstrates sensing, GPS positioning, wireless alerts and dashboard logic on one bicycle.

System What it does What the owner sees What it cannot do
This bicycle anti-theft system Vibration sensing plus GPS tracking plus a geofence, with a local buzzer and a dashboard alert Live position on a map, a geofence status, and a dated event log No SMS alerts in the base build, and no GPS fix indoors
Padlock alone Physically resists removal of the bicycle Nothing until the owner returns and finds the bicycle gone No warning, no position, and no record of when it happened
Bluetooth tracker tag Reports proximity to a nearby phone An approximate last-seen location when a phone passes nearby No vibration alarm, and no continuous GPS position of its own
GPS tracker without vibration alarm Reports position at intervals A track of where the bicycle has been No local buzzer, and no warning at the moment someone shakes the frame

SYSTEM FLOW

6 components 5 connections

Live flow
Drag to explore
100%
sensorVibration Sensor

SW-420 senses frame vibration.

Follow the working sequence

How it works

The IoT Bicycle Anti-Theft System turns a parked bicycle into a watched object through a chain that runs from the frame to the dashboard: the SW-420 vibration sensor watches the frame, the ESP32 controller decides whether a trigger counts as an alarm, the NEO-6M GPS module fixes the bicycle's position, and Wi-Fi with MQTT carries positions and alerts to a dashboard that compares each position against a geofence circle. Arming the unit is what gives the chain meaning, because only an armed unit treats vibration as suspicious; disarming before riding keeps normal use silent. The confirmation window sits between sensing and alarming, so a passing knock is filtered out while sustained shaking still escalates to a buzzer and a dashboard alert within seconds. The geofence check runs independently of vibration, so quietly wheeling the bicycle away still raises an exit alert even if the frame is never shaken.

  1. The owner fixes the unit to the bicycle frame, powers it on, and arms it from the dashboard after parking.
  2. The SW-420 vibration sensor watches the frame and sends a digital trigger to the ESP32 when vibration crosses its adjusted threshold.
  3. The ESP32 starts the 10-second confirmation window (design target) and watches whether vibration triggers persist across that window.
  4. If vibration persists, the ESP32 sounds the on-board buzzer and publishes a vibration alarm event to the dashboard over Wi-Fi and MQTT.
  5. Meanwhile the NEO-6M GPS module reports the bicycle's position, and the dashboard plots it on the map with its distance from the parking spot.
  6. The dashboard compares each new position against the geofence circle and flags an exit alert when the distance exceeds the fence radius, or an entry alert when the bicycle returns inside.
  7. The owner disarms the unit from the dashboard before riding, which silences further vibration triggers until the next arming.

Builder note from the build design: the confirmation window exists because the SW-420 gives a binary trigger, not a force reading, so a single knock and a sustained shake look identical in one sample. The firmware therefore only escalates when trigger samples persist across the 10-second window. That is a logic consequence of a binary sensor, not a measured result, and it is why the window length is stated as a design target rather than a tested figure. Demo arithmetic check: with a geofence radius of 100 m (design target) and a moved-bicycle distance of 132 m, 132 m is greater than 100 m by 32 m, so the exit alert in the demo fires correctly and the numbers reconcile exactly.

Tech stack:

  • ESP32 microcontroller · Wi-Fi
  • NEO-6M GPS module
  • SW-420 vibration sensor · LM393 comparator
  • MQTT · Wi-Fi dashboard link
  • Arduino IDE firmware
  • Active buzzer alarm
  • Lithium-ion battery · 5 V regulator
  • HTML · CSS · JavaScript dashboard
Parameter Value
Controller ESP32 (datasheet value: dual-core Xtensa LX6 up to 240 MHz, Wi-Fi 802.11b/g/n, Bluetooth 4.2)
GPS module NEO-6M (datasheet value: horizontal position accuracy 2.5 m CEP, 2.0 m CEP with SBAS, up to 5 updates per second)
Vibration sensor SW-420 (datasheet value: digital output via LM393 comparator, operating voltage 3.3 V to 5 V, sensitivity set by on-board potentiometer)
Alarm output Active buzzer on the unit (5 V supply, design target)
Confirmation window 10 seconds (design target)
Geofence radius 100 m (design target, configurable before the build)
Dashboard refresh 5 seconds (design target)
Connectivity Wi-Fi 2.4 GHz with MQTT to the dashboard; no GSM module in the base build
Alerts Dashboard alert plus on-board buzzer; no SMS alert in the base build
Power Rechargeable lithium-ion pack with 5 V regulator (runtime not quoted: depends on GPS fix time and alarm frequency)
Mounting Frame-mounted enclosure fixed to the bicycle frame
Demo check Geofence radius 100 m with a moved distance of 132 m gives 132 m minus 100 m equals 32 m beyond the fence, so the exit alert fires correctly

Project features

The IoT Bicycle Anti-Theft System earns its place on a bicycle through four capabilities working together: armed and disarmed states that decide whether vibration matters at all, a vibration-triggered buzzer that waits out a confirmation window before alarming, a geofence circle that flags entry and exit on the dashboard map, and a live position plus event log that turns every trigger into a dated record. The owner arms the unit when parking and disarms it before riding, so ordinary handling never raises an alarm. The dashboard shows the bicycle's position, its distance from the parking spot, and whether it sits inside or outside the fence, which means a theft attempt is visible as an event with a time attached rather than as a silent disappearance. That combination of a local deterrent and a remote record is what separates this build from a lock or a tracker tag alone.

  • [Armed and disarmed states] The owner arms the unit when parking and disarms it before riding, so vibration is only treated as an alarm trigger while the system is armed, and ordinary handling of a disarmed bicycle raises no alert.
  • [Vibration alarm with confirmation window] When armed, an SW-420 trigger starts a 10-second confirmation window (design target); the buzzer and dashboard alert fire only if vibration persists across that window, so a single brief knock does not trigger a full alarm.
  • [Local buzzer deterrent] The on-board buzzer sounds at the bicycle itself when an alarm fires, drawing attention at the parking spot while the dashboard alert is sent at the same time.
  • [Live GPS position on the dashboard] The NEO-6M GPS module reports the bicycle's position to the dashboard, where it appears on a map with its distance from the parking spot.
  • [Geofence entry and exit alerts] A circle drawn around the parking spot is checked against every new GPS position, and the dashboard flags an exit alert when the bicycle moves beyond the fence radius, and an entry alert when it returns inside.
  • [Dated event log] Every arm, disarm, vibration trigger, alarm and geofence crossing is written to an event log with its time, so the owner can review exactly what happened and when.
  • [Dashboard alerts over Wi-Fi and MQTT] Alerts travel to the dashboard over Wi-Fi using MQTT, with no GSM module and no SMS in the base build, so the owner needs dashboard access to receive a remote alert.

Implemented in the base build: armed and disarmed states, the vibration alarm with a 10-second confirmation window, the local buzzer, live GPS position, geofence entry and exit alerts, the dated event log, and dashboard alerts over Wi-Fi and MQTT. Optional on request: a GSM module for SMS alerts, or a larger battery pack. Future scope only, not in the base build: any automatic police notification, and any motorised wheel lock.

What is included

  • Working frame-mounted prototype unit with ESP32, NEO-6M GPS module, SW-420 vibration sensor and buzzer
  • Firmware source code with armed and disarmed states, the confirmation window logic, and MQTT publishing
  • Working HTML dashboard demo with live position map, geofence status and event log for preview (the demo runs in a browser and is not the hardware build itself)
  • Circuit and wiring documentation with the component list
  • User guide covering arming, disarming, geofence setup and threshold adjustment
  • Project report PDF (background, problem statement, methodology, system working, outcomes)
  • PPT presentation for final review
  • Viva Q&A preparation document covering ESP32, GPS positioning, vibration sensing, MQTT and geofencing

To get a quotation, send the bicycle type and the geofence area you want covered on WhatsApp, and Projectech will reply with a quotation stating the price and the delivery timeline for your build.

Limitations & prerequisites

  • GPS needs open sky: the NEO-6M cannot fix a position indoors, underground, or under heavy cover, so the dashboard shows the last known position until a new fix is acquired.
  • GPS accuracy bounds the fence: with a datasheet accuracy of 2.5 m CEP, a very small geofence radius would produce false exits, so the 100 m design-target radius keeps the fence well above the position error.
  • The SW-420 is binary: it reports vibration above a threshold, not vibration force, so the system cannot tell a hard knock from a gentle shake except through the confirmation window.
  • Remote alerts need Wi-Fi and dashboard access: if the parking spot has no Wi-Fi coverage, positions and alerts cannot reach the dashboard until connectivity returns.
  • The buzzer only helps nearby: it draws attention at the parking spot but cannot stop a determined thief, and this prototype is not a certified security device.
  • No SMS in the base build: remote alerts reach the dashboard only, so an owner without dashboard access will not see an alert; a GSM module for SMS is an optional addition.
  • Battery runtime is not quoted: it depends on GPS fix time and how often the alarm fires, so no fixed hours figure is promised.

Frequently Asked Questions

What does this system do when someone shakes the bicycle?

When the system is armed, shaking the frame triggers the SW-420 vibration sensor, which starts a 10-second confirmation window, and if vibration persists across that window the on-board buzzer sounds and a vibration alarm event appears on the dashboard with its time. A single brief knock that stops inside the window does not escalate, which is the point of the window: it filters out passing contact while still catching sustained interference with the bicycle.

How do the geofence alerts work?

A geofence is a circle drawn around the parking spot on the dashboard, with a design-target radius of 100 m, and every new GPS position is compared against that circle so the dashboard flags an exit alert when the bicycle moves beyond the radius and an entry alert when it returns inside. The demo shows the check directly: a moved distance of 132 m against a 100 m radius sits 32 m beyond the fence, so the exit alert fires, and the live map shows the bicycle outside the circle.

Does it send SMS alerts to the owner's phone?

No, the base build sends alerts to the dashboard over Wi-Fi and MQTT and sounds the on-board buzzer, because there is no GSM module in the base build and no SMS path is claimed, so SMS is not part of what the owner receives. The owner therefore needs dashboard access to receive a remote alert, which is stated plainly rather than implied. A GSM module for SMS alerts can be added as an optional change before the build, with its own SIM and network requirements.

Does it work without Wi-Fi or indoors?

Partly, because the local parts keep working while the remote parts do not: the buzzer still sounds on a vibration alarm without any network, but GPS positions and dashboard alerts need open sky for a fix and Wi-Fi coverage to reach the dashboard. Indoors or underground the GPS module cannot fix a position, so the dashboard keeps showing the last known position until the bicycle is back under open sky and connectivity returns.

Can the sensitivity and the geofence be changed?

Yes, both are adjustable before and during use, because the SW-420 threshold is set with its on-board potentiometer and the geofence radius is a configurable value agreed before the build, with 100 m as the design-target default, and both settings are covered in the user guide. A tighter threshold catches lighter shakes but also catches more passing knocks, so the setting is a trade-off the user guide explains, and a much smaller fence radius is not recommended because GPS error alone could then trigger false exits.

Is this project suitable for a final-year project?

Yes, for Electronics, IoT and Embedded Systems programmes, because the build combines sensor interfacing, GPS positioning, wireless communication and dashboard logic in one working prototype that a review panel can test by arming the unit, shaking the frame and watching the alert appear. The report and viva document cover the ESP32, the NEO-6M, the SW-420, MQTT and geofencing in the depth a review panel expects, and the confirmation window gives a genuine design decision to explain.

Components & software requirements
  • ESP32 microcontroller · Wi-Fi
  • NEO-6M GPS module
  • SW-420 vibration sensor · LM393 comparator
  • MQTT · Wi-Fi dashboard link
  • Arduino IDE firmware
  • Active buzzer alarm
  • Lithium-ion battery · 5 V regulator
  • HTML · CSS · JavaScript dashboard
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 free synopsis (PDF)

Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.

Get a quotation