BREAVO is an IoT-based Smart Alcohol Detection and Warning System designed to enhance traffic safety by providing accurate blood alcohol concentration (BAC) measurements through breath analysis. The system offers real-time feedback with intuitive visual and audio alerts when alcohol levels exceed legal limits.
- Real-time BAC Measurement: Uses MQ-3 alcohol sensor for accurate breath analysis
- Intuitive Interface: LCD display shows real-time results with clear PASS/FAIL indication
- Visual & Audio Alerts: LED indicators and buzzer alarm when BAC exceeds legal threshold
- Quick Response Time: Complete measurement cycle in under 15 seconds
- Portable Design: Compact and battery-powered for on-the-go use
![]() |
![]() |
![]() |
- Arduino Uno R3
- MQ-3 Alcohol Sensor
- 16x2 LCD Display with I2C Adapter
- Red and Green LEDs
- Buzzer
- 9V Battery with Connector
- Jumper Wires and Breadboard
The system operates following this workflow:
- Initialization: Warms up the MQ-3 sensor for optimal performance
- Standby Mode: Waits for breath detection with "READY TO TEST" display
- Measurement: Captures and processes BAC readings when breath is detected
- Result Display: Shows "PASS" or "FAIL" with corresponding LEDs/alarms
- Reset: Returns to standby mode after displaying results
The hardware connections follow this schematic:
The system has been tested under various conditions to ensure accuracy and reliability:
- Calibration Tests: Baseline established after sensor warm-up
- Low Alcohol Tests: System correctly identifies BAC below legal threshold
- High Alcohol Tests: System accurately detects BAC above legal threshold
- Response Time: Less than 2 seconds after breath detection
breavo/
├── src/ # Source code
│ └── main.ino # Main Arduino sketch
├── hardware/ # Circuit diagrams and hardware specifications
│ ├── circuit_diagram.png
│ └── parts_list.md
├── docs/ # Documentation
│ ├── images/ # Project images
│ └── report/ # Detailed project report
└── LICENSE # License information
- Arduino IDE (v1.8.x or higher)
- Arduino Uno or compatible board
- Required libraries:
- Wire.h
- LiquidCrystal_I2C.h
-
Clone this repository:
git clone https://github.com/nminhducit/breavo.git -
Open the Arduino IDE and load the main sketch:
File > Open > [path_to_repository]/src/main.ino -
Install required libraries through Arduino IDE:
Sketch > Include Library > Manage Libraries...Search for and install:
- LiquidCrystal I2C by Frank de Brabander
-
Connect your Arduino board and upload the sketch:
Sketch > Upload -
Assemble the hardware according to the circuit diagram
- Power on the device
- Wait for "READY TO TEST" to appear on the LCD
- Blow steadily into the MQ-3 sensor for 3-5 seconds
- View the result on the LCD display:
- Green LED indicates alcohol level below legal limit
- Red LED and buzzer indicate alcohol level above legal limit
For optimal performance, the device should be calibrated periodically:
- Power on the device in a clean-air environment
- Allow the sensor to warm up for 5 minutes
- The baseline will be automatically established
- IoT connectivity for remote monitoring
- Mobile app integration
- Data storage and analysis capabilities
- Enhanced power management for longer battery life
- Compact enclosure design
- Nguyen Minh Duc (HE180274)
- Nguyen Tung Duong (HE180156)
- Nguyen Quoc Anh (HE180898)
This project is licensed under the MIT License - see the LICENSE file for details.
This project was developed as part of the IoT102 course at FPT University, supervised by Dr. Nguyen Van Toan.




