The MQ3 Alcohol Sensor is a widely used gas sensor for detecting alcohol vapors in the air. It is commonly used in breathalyzer projects, alcohol detection systems in vehicles, safety devices, and home automation systems. In this blog post, we’ll explore how to use the MQ3 sensor with Arduino, including how it works, wiring, code, calibration tips, real-world applications, and beginner troubleshooting. It is metal oxide semiconductor. Sensing is based on the change of resistance of semi-conductor material when is gets close or sense alcohol. By placing it in a simple voltage divider network, alcohol concentrations can be detected.

What is the MQ3 Sensor?
The MQ3 is a gas sensor module designed to detect alcohol vapors (ethanol, spirits, and organic solvents). It uses a sensitive SnO₂ (tin dioxide) layer whose conductivity increases when exposed to alcohol in the air.
The sensor is capable of detecting alcohol concentration in the range of 0.05 mg/L to 10 mg/L.

Working of MQ3 sensor:
When semiconductor layer is heated on high temperature, oxygen is absorbed on the surface. In clean air electron from conduction band in the tin dioxide are attracted to oxygen molecules. As a result an electron depletion layer is formed just below the SnO2 particles and forms a potential barrier. When this happens the SnO2 film become highly resistive and prevents the flow of current.
In the presence of air the density of absorbed oxygen is decreased which lowers the potential barrier. Electrons are then released into the tin dioxide, allowing current to flow freely through the sensor.
Components Required for using MQ3 Alcohol Sensor with Arduino:
Component | Quantity |
---|---|
Arduino Uno / Nano | 1 |
MQ3 Alcohol Sensor Module | 1 |
Breadboard + Jumper Wires | As needed |
LED or Buzzer (Optional) | 1 |
MQ3 Alcohol Sensor Module Pinout:
Pin | Description |
---|---|
VCC | Power Supply (+5V) |
GND | Ground |
A0 | Analog Output |
D0 | Digital Output (adjustable via onboard potentiometer) |

Circuit Diagram of MQ3 Alcohol Sensor with Arduino:
MQ3 Sensor | Arduino Pin |
---|---|
VCC | 5V |
GND | GND |
A0 | A0 |

We can change the sensitivity by using knob on the senor. There are two LED’s on the module. One for the power and glows when module is on and the other glows when the digital pin goes low.
Calibration of Alcohol Sensor:
- Preheat the sensor for at least 20 seconds to 1 minute before readings (some recommend 24 hours for full stability).
- Expose the sensor to clean air to establish a baseline value.
- Test with alcohol (hand sanitizer, spirit swab, etc.) to observe readings.
- Adjust the threshold in code based on your environment and requirements.
Arduino Code for using MQ3 Alcohol Sensor:
const int mq3Pin = A0; // Analog input pin for MQ3
const int ledPin = 13; // Optional: onboard LED for alert
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
int sensorValue = analogRead(mq3Pin); // Read alcohol level
Serial.print("Alcohol Level: ");
Serial.println(sensorValue);
if (sensorValue > 400) { // Threshold (you can adjust this)
digitalWrite(ledPin, HIGH);
Serial.println("Alcohol Detected!");
} else {
digitalWrite(ledPin, LOW);
}
delay(1000); // 1-second delay
}
Understanding Output Readings of MQ3 Alcohol Sensor:
- 0–300: Clean air (no alcohol detected)
- 300–400: Low alcohol concentration
- 400+: Moderate to high alcohol vapor presence
(Note: These are rough values and depend on calibration and environment.)
Applications of MQ3 Alcohol Sensor:
- Access Control Systems – Restrict access based on alcohol consumption
- Car Alcohol Detection System – Prevents ignition if alcohol is detected near the driver
- DIY Breathalyzer – Detect blood alcohol level for personal awareness
- Home Safety Device – Detect alcohol vapors in kitchens or workspaces
Troubleshooting of MQ3 Alcohol Sensor:
Issue | Solution |
---|---|
Always high/low values | Check wiring, ensure correct pin mapping |
No change in readings | Allow more time for preheat, test with a stronger alcohol source |
Random fluctuations | Place sensor away from fans or drafts, stabilize environment |
Values not printing | Check Serial.begin(9600); and use correct COM port |
D0 output not working | Adjust onboard potentiometer for digital threshold trigger |
Conclusion
The MQ3 Alcohol Sensor is a low-cost, easy-to-use module for detecting alcohol vapors. When combined with Arduino, it becomes a powerful tool for creating breathalyzer devices, vehicle safety features, and air quality monitors.
This beginner project is great for understanding gas sensors, analog signal processing, and calibration techniques.
Need Help in Setup of MQ3 Alcohol Sensor with Arduino?
If you need any Help or Assistance for Setup of MQ3 Alcohol Sensor with Arduino, with Modifications or Customization then you can contact us through WhatsApp. We can deliver you this Project in the Following Ways.