
Alcohol Detection and Safety Monitoring System Using Arduino
By Shail PathakShare
Introduction:
Drunk driving is a major cause of accidents worldwide. This project presents an Alcohol Detection and Safety Monitoring System using Arduino Uno, an MQ-3 Alcohol Sensor, a Buzzer, and an LCD Display.
It detects alcohol levels in a person's breath and alerts immediately if alcohol is detected.
Why Build an Alcohol Detection System?
Preventing drunk driving can save countless lives. This system can be used in vehicles, public transport, or even educational projects. It’s affordable, practical, and enhances awareness about road safety.
Components Required:
- Arduino Uno
- MQ-3 Alcohol Sensor
- 16x2 LCD Display (I2C Interface)
- Buzzer
- Breadboard
- Jumper Wires
- USB Cable
Circuit Connections:
Component | Pin (Arduino) | Pin (Component) |
---|---|---|
MQ-3 Sensor | 5V | VCC |
MQ-3 Sensor | GND | GND |
MQ-3 Sensor | A0 | AOUT |
MQ-3 Sensor | Not Connected | DOUT |
Buzzer | D3 | Signal / IN |
Buzzer | 5V | VCC |
Buzzer | GND | GND |
LCD Display (I2C) | A4 | SDA |
LCD Display (I2C) | A5 | SCL |
LCD Display (I2C) | 5V | VCC |
LCD Display (I2C) | GND | GND |

Libraries Required:
- LiquidCrystal_I2C Library
Steps to Install:
- Open Arduino IDE
- Go to Sketch → Include Library → Manage Libraries
- Search for "LiquidCrystal_I2C" by Frank de Brabander or similar
- Click Install
Alternatively, download from: LiquidCrystal_I2C GitHub .
Arduino Code:
#include <LiquidCrystal_I2C.h>
#define alcoholSensorPin A0
#define buzzerPin 3
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(buzzerPin, OUTPUT);
lcd.begin();
lcd.backlight();
Serial.begin(9600);
lcd.setCursor(0, 0);
lcd.print(" Breathalyzer ");
lcd.setCursor(0, 1);
lcd.print("Initializing...");
delay(2000);
lcd.clear();
}
void loop() {
int alcoholLevel = analogRead(alcoholSensorPin);
Serial.println(alcoholLevel);
if (alcoholLevel > 400) {
digitalWrite(buzzerPin, HIGH);
lcd.setCursor(0, 0);
lcd.print(" WARNING! ");
lcd.setCursor(0, 1);
lcd.print("Alcohol Detected");
} else {
digitalWrite(buzzerPin, LOW);
lcd.setCursor(0, 0);
lcd.print(" Status: OK ");
lcd.setCursor(0, 1);
lcd.print("No Alcohol Found");
}
delay(500);
}
Working Principle:
- The MQ-3 sensor continuously monitors breath alcohol concentration.
- When alcohol concentration crosses the safe limit:
- The sensor output analog value increases.
- Arduino triggers the buzzer.
- LCD shows "Alcohol Detected".
- The serial monitor logs the detection.
- When no alcohol is detected:
- The buzzer remains OFF.
- LCD displays "Safe to Drive".
Applications:
- Driver Breath Analysis Systems
- Car Safety Systems
- School or College Safety Projects
- Public Transport Safety
Final Thoughts:
This Alcohol Detection System promotes road safety awareness and provides a base for building advanced solutions like automatic engine lock, SMS alerts, or GSM integration. Easy to build and very useful!