S-Alco / Student Alco Tester

Introduction: S-Alco / Student Alco Tester

Student Alcotester aka S-Alco. The idea of alcotester was born because I wanted to creat a device that could be interesting for my colleagues students (ex).
So with relatively low cost alcotester was produced, which shows the concentration of alcohol in exhaled air. With increasing concetration of acohol in air, LEDs will turn on and values of mg/L will be shown on LCD (ARM microcontroller).

Bill of Materials:

- Sensor MQ-3

- LM3914 ("VU meter")

- optional some microcontrolle

- 10 LEDs

- BOX/bottle for calibrating the sensor

- electronic enclosue

- 96% etanol

- digital multimeter

- power supply

- solder iron

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Alco VU Meter With LM3914

Using LM3914 is simple. Based on input voltage 0V-5V lineary turns on 10 LED. For sensor MQ-3 supply voltage 5V is needed and on output we get 0-5V based on concentration of alcohol. With that we have ideal connection on LM3914 which needs input signal up to 5V.

Idea is that at 0% alcohol all LEDs are off and at different concentrate of alcohol LEDs are turning on. For that we need proper resistor on sensor. Meanwhile microcontroller has input signal max 3.8V so I used 3.9kOhm. Also first LED is connected directly to supply and GND with 220ohm in series to indicate standby.

Step 2: Calibrating Sensor MQ-3

Sensor MQ-3 needs voltage 5V as described before. After connecting supply we need to measure resistance on two pins. With changing concentrate of alcohol, resistance changes.

I used box (calculate volume of it, in my case 22,7liters), then I measured weight of 96% etanol wich evaporated inside of box and then calculate whas is concentrate of alcohol in air [mg/L].

First step is to connect sensor and leave it for few minutes to stabilise it and then measure resistance at clean air (without alcohol). Result was ~600 Ω, then repeat measurement at ~44 mg/L that is 1g evaporated alcohol in box with volume 22,7l.

In box I placed some tank, put inside 1g of 96% etanol and heated it up, so that alcohol evaporated. Mass of evaporated alcohol was calculated in way that weight of tank with etanol was measured before and after.

Resistance in second case was 65kΩ. After measurement in box I relaised that this method is not accurate enough due to convetion of heat. Vapor of etanol was not disposed homogeneously along in the entire box. And also I exceeded range where sensor works (10mg/L) due to not accurate weight scale.

I used another method, with the bottle (1.5liter). Measurement was the same, only difference is that sensor was mounted inside bottle cap. Vaporation and homogenity of alcohol (15mL) was achieved with shaking the bottle.

Result of % alcohol VS resistance was:

- 0% = 60kohm

- 10 % = 0.5kohm

In attached table binary for microconroller, voltage for VU meter and alcohol concentrate values can be seen.

Step 3: Testing and Bulding It Up

Latest step was drinking and blowing in sensor :)

Few glasses of beer, vine and rakija and LEDs were turning on.

After test on protoboard, handmade PCB was soldered and mounted in box.


Drill out holes for LEDs, sensor and for supply connector. Additional wire was added for connecting microcontroller.

Box can be very better and easier, smaller with some DC/DC and battery. But that was not the plan of this project.

Step 4: Microcontroller

You can also attach any microcontoller and write some simple code. Just connect signal point of VU meter to AD pin on microcontroller and change it to 1024 parts based on table above.

This was created 7 years ago and I used some ARM development board. Sure I believe some Arduino nano would be simplest way today :)


int main(void)







int x;

float y;



x = _adconvert();

if(x<248) // value of ADC when no alcohol is in air



printf("Standby"); //in standby



else if(248



y = 0.00687*x +2.60; //formula for calculation concentrate of alcohol

printf("Konc. alkohola %3.1f [mg/L]",y); //Print on LCD




return 0;


Step 5: Vote

This is my first instructables, it will get better with few instructables published :)

Please vote for sensor contest :)

Sensors Contest 2017

Participated in the
Sensors Contest 2017

Be the First to Share


    • Tiny Speed Challenge

      Tiny Speed Challenge
    • Clocks Contest

      Clocks Contest
    • PCB Design Challenge

      PCB Design Challenge



    3 years ago

    That's a good idea :)