The problem
Drunk driving remains one of the deadliest preventable causes of road accidents, and the most reliable intervention point is before the vehicle ever moves. Interlock devices exist commercially, but they are black boxes — a student-built prototype makes the sensing and decision chain transparent and examinable. This project builds that chain: an MQ-3 semiconductor gas sensor, sensitive to alcohol vapour, feeds an analog signal to an Arduino Uno; the firmware compares it against a calibrated threshold with hysteresis, and on detection it de-energizes a relay in series with the ignition — demonstrated with a DC motor standing in for the engine — while a buzzer and LCD announce the lock. The demo triggers the sensor with an alcohol sample, the motor stops, and the system stays locked until a clean reading and manual reset. Students learn how real safety interlocks are reasoned about: sensor warm-up, threshold calibration, fail-safe relay wiring and the honest limits of a semiconductor gas sensor.
MQ-3 semiconductor sensor whose analog output rises with alcohol vapour in the driver's breath.
Follow the working sequence
How it works
- On power-up the firmware runs the MQ-3 heater warm-up timer; the LCD shows WARMING and the system stays disarmed.
- Once warm, the Arduino samples the MQ-3 analog output continuously and smooths it with a moving average.
- Each averaged reading is compared against the calibrated threshold; crossing it (with hysteresis) is a detection event.
- On detection the firmware de-energizes the ignition relay — the demo motor stops — sounds the buzzer and updates the LCD to LOCKED.
- The system remains locked while readings stay above the release level; only a clean reading plus manual reset re-arms the ignition.
- Below threshold the relay stays energized, the motor runs, and the LCD shows READY with the live level bar.
Tech stack:
- Arduino Uno (ATmega328P)
- MQ-3 alcohol gas sensor module (analog + digital outputs)
- Relay module (ignition-cut)
- DC motor as engine stand-in
- 16x2 LCD (status display)
- Buzzer (audible alert)
- Arduino IDE (C/C++ firmware)
- 5 V / 12 V supplies per rail
| Parameter | Value |
|---|---|
| Controller | Arduino Uno (ATmega328P), 10-bit ADC |
| Sensor | MQ-3 semiconductor alcohol sensor; heater warm-up required (minutes, per datasheet) |
| Decision | Calibrated analog threshold with hysteresis; calibration procedure included, buyer-run |
| Actuator | Relay in ignition path, contacts rated per module datasheet; demo switches a DC motor |
| Alerts | Buzzer + 16x2 LCD (LOCKED/READY + live level bar) |
| Reset | Manual reset after clean reading; no auto-restart |
| Demo engine | DC motor stand-in (a real vehicle ignition is never wired in the demo) |
| Classification | Educational safety-system prototype; not a legal breathalyzer or certified interlock |
Project features
- [MQ-3 alcohol sensing] The semiconductor gas sensor's analog output rises with alcohol vapour concentration, read by the Arduino's ADC for the lock decision.
- [Relay engine lock] A relay in the ignition path cuts power to the demo motor on detection — the direct physical analogue of an ignition interlock.
- [Calibrated threshold with hysteresis] The trip point is set through a documented calibration procedure, with separate engage/release levels so the lock does not chatter at the boundary.
- [Buzzer and LCD alerts] Detection triggers an audible buzzer and an LCD status screen showing LOCKED/READY state — the driver gets unambiguous feedback.
- [Sensor warm-up handling] The firmware enforces the MQ-3's heater warm-up period before arming, since readings are meaningless on a cold sensor.
- [Manual reset procedure] After a lock event, the system requires a clean reading plus a deliberate reset action — no automatic restart while alcohol persists.
- [Live level display] The LCD shows a continuous relative alcohol-level bar, so the examiner can watch the reading climb toward the threshold during the demo.
What is included
- Working interlock prototype (Arduino, MQ-3 sensor, relay, demo motor, LCD, buzzer)
- Complete firmware source code (warm-up timer, averaging, threshold logic, lock state machine)
- Sensor calibration procedure (threshold setting with alcohol samples, documented step-by-step)
- Circuit and wiring documentation (including fail-safe relay wiring notes)
- Project report PDF (gas-sensor background, interlock logic, calibration method, safety analysis)
- PPT presentation for final review
- Viva Q&A preparation document (semiconductor sensors, ADC, hysteresis, relay driving)
- Setup and demonstration guide
Limitations & prerequisites
- The MQ-3 is a semiconductor gas sensor responding to alcohol vapour — it is a proxy measurement, not a calibrated blood-alcohol instrument; the report states this explicitly and it must never be presented as a legal breathalyzer.
- The sensor needs minutes of heater warm-up before readings are valid, and it cross-responds to other vapours (perfume, smoke); the calibration procedure accounts for baseline conditions.
- Threshold calibration is buyer-run with their own samples — sensitivity is set during bring-up, not characterized at build.
- The demo switches a DC motor, not a real vehicle ignition; adapting this to an actual vehicle is buyer-done engineering outside the kit.
- This is an educational prototype demonstrating interlock principles, not a certified automotive safety device.
Frequently Asked Questions
How does it detect alcohol?
The MQ-3 semiconductor sensor's analog output rises with alcohol vapour concentration near its sensing element. The Arduino samples it continuously, smooths the signal with a moving average, and compares it against a calibrated threshold with hysteresis. Crossing the threshold is treated as a detection event: the ignition relay de-energizes, the buzzer sounds and the LCD reports LOCKED.
What happens when alcohol is detected?
The relay in the ignition path opens — the demo motor stops — the buzzer sounds and the LCD switches to a LOCKED status screen. The system stays locked while readings remain above the release level; recovery requires a genuinely clean reading followed by a deliberate manual reset. There is no automatic restart, which mirrors how real interlocks behave.
Is this a legal breathalyzer?
No, and the report is explicit about it. The MQ-3 gives a proxy measurement of alcohol vapour, not a calibrated blood-alcohol reading, and it cross-responds to other vapours like perfume and smoke. This is an educational prototype demonstrating interlock principles — sensing, threshold logic, fail-safe actuation — not a certified or legally meaningful instrument.
Why does it need warm-up time?
The MQ-3's sensing element is heater-based and needs several minutes to reach a stable operating temperature; readings taken cold are meaningless. The firmware enforces this with a warm-up timer — the LCD shows WARMING and the system stays disarmed — which is itself a viva-worthy point about how semiconductor gas sensors actually work.
What are the main limitations?
Proxy rather than true BAC measurement, minutes of warm-up before arming, cross-sensitivity to non-alcohol vapours, and a threshold that must be calibrated by the buyer with their own samples during bring-up. The demo also switches a DC motor, not a real vehicle ignition, and the build is an educational prototype rather than a certified automotive device.
Is this project suitable for a final-year project?
Yes — for Electronics, Electrical and automobile-adjacent programs. Analog sensor interfacing, ADC-based threshold design with hysteresis, relay control of inductive loads and safety-system state machines make a technically honest project. The calibration procedure and the explicit discussion of sensor limits give the viva real substance. Suitable for B.E./B.Tech final-year projects in Electronics, Electrical and Automobile-adjacent engineering.
Components & software requirements
- Arduino Uno (ATmega328P)
- MQ-3 alcohol gas sensor module (analog + digital outputs)
- Relay module (ignition-cut)
- DC motor as engine stand-in
- 16x2 LCD (status display)
- Buzzer (audible alert)
- Arduino IDE (C/C++ firmware)
- 5 V / 12 V supplies per rail
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.