The Road to Zero Tolerance

The purpose of this project was to create a device that would be an improvement on the ignition interlock device.

Similar projects worth following
Did you know that the most common criminal offence in the world today is impaired driving. The highest rate of impaired-driving deaths occurs between the young ages of 16 and 25. The ignition interlock device is a device that helps prevent drinking and driving. The ignition interlock device is an in-car alcohol breathalyzer that prevents the car from starting if the driver’s BAC (Blood Alcohol Content) is higher than the legal limit.
But there are problems with the ignition interlock device. A sober passenger can blow into the device and let an intoxicated driver drive. The random checks that the device asks for could distract the driver, causing accidents. The interlock device is also very expensive to maintain. The purpose of this project is to create an improvement on the current device.

The Ignition Interlock Device:

What if machines performed a test for impairedness instead of a police officer? The ignition interlock device is an in-car alcohol breathalyzer. When the driver first turns on the car, he/she is required to blow into the device. If the device finds the driver’s BAC above the legal limit, the car will be prevented from starting. Once the vehicle has started, the driver is asked to provide breath samples randomly. If the samples are found to have a BAC higher than the legal limit, the vehicle sounds the horns, turns on the lights, and uses other indicators. The event is also recorded onto the ignition interlock device.

Problems with the Ignition Interlock Device:

  • A passenger or another item (fan) could provide the sample
  • Very expensive for the driver ($150 installation, $50 removal, $105/month monitoring fee)
  • Maintenance checks are tedious and frequent
  • Random checks could be hazardous to the drivers as their concentration could be broken. This could potentially cause accidents
  • Long waits for the data to initialize and record
  • Car doesn’t stop when alcohol is detected; damage could still be done


The purpose of this project was to create a device that is an improvement from the ignition interlock device. Like the ignition interlock device, if the driver’s BAC was above the legal limit, it would signal the car’s computer. However, the device created would slow down the car and turn on indicator lights. The car would eventually come to a stop.

The Concept:

In order to gain accurate readings of the driver’s BAC, alcohol sensors would be placed around the driver. Those places would be the driver’s seatbelt, the dashboard, on the driver seat, and other strategic places. The airflow in a car goes from the front to the back which means passengers seated in the back wouldn’t be sensed accidentally. The sensor on the back of the seat would be able to use that air to check for the driver’s BAC. The dashboard and steering wheel are good choices because when a driver breathes out, his/her breath would move to the steering wheel and dashboard. Slowing down the car to a stop would let the car behind have enough time to slow down or move around the car. Also the intoxicated driver wouldn’t be able to cause damage to themselves and/or others in a stopped car.


We tested our alcohol sensor using different sources of alcohol. We used beer (5%) because it is one of the most common types of alcohol in modern society. Wine (13%) was also used to check if the sensor was working. Isopropyl alcohol (rubbing alcohol), hand sanitizer, perfume, and mouthwash were used to check if common alcohol-containing products could set off the alarm.


When we were coding our alcohol sensor, we found that calibrating the sensor to sense actual blood alcohol levels was difficult. In order to do that, we would need a pre-programmed breathalyzer so that we could expose our sensor to an exact amount of alcohol. Using a better alcohol sensor would make the breathalyzer more accurate. The breathalyzer we built is very much still a prototype.

But there are several pros to our breathalyzer as well. Our breathalyzer was very cheap and the materials were easy to find. The breathalyzer requires 5V to operate, making it very efficient. The sensor works as wanted to; testing for alcohol consistently and preventing the motor from turning on if a certain amount of alcohol is detected. It would be fairly easy to install and would be discreet, so it would not be embarrassing.


The breathalyzer we made was an improvement from the ignition interlock device in some areas but needs some further refining in others.

To improve the breathalyzer, we would need to use a sensor that is even more sensitive to alcohol. Also the sensor must be calibrated to check BAC instead of the percent of alcohol. To improve this project, we could also put different types of alcohol sensors in the car to make results even more accurate. There are transdermal...

Read more »

  • 1 × AVR ATMega 16L Microcontroller
  • 1 × LM7805 Voltage Regulator Power Management ICs / Linear Voltage Regulators and LDOs
  • 1 × MQ-3 Alcohol Sensor
  • 1 × DC Barrel Jack
  • 4 × LED 1 Red, 1 Yellow, 1 Green, 1 Blue

View all 19 components

  • Testing the Breathalyzer

    Joy Shah08/16/2015 at 01:28 0 comments

    This is one of the many tests we did. Testing our sensor with alcohol. In this case, beer.

    This test is done using wine

    We had gotten several questions about if our breathalyzer would prevent the car from starting if the driver was wearing perfume or had just cleaned their hands with hand sanitizer. So we decided to test our sensor using different household items that contain alcohol. In this video, we tested hand sanitizer.

    This test is with body spray.

    The final test is with mouthwash.

  • AVR ATmega 16L Diagram

    Joy Shah07/29/2015 at 20:26 0 comments

  • Description of Code and Circuit

    Joy Shah07/28/2015 at 18:25 0 comments

    The Circuit:

    To power our microcontroller, we required 5V DC. Since we were plugged into a wall outlet we were receiving 120V AC. To convert the 120V AC to 5V DC we used a 5V AC wall adaptor or a "wall wart". The way the wall wart works is that inside of it, are two wire windings that wrap around a single iron core. When the first winding receives the 120V AC supplied from the wall outlet it creates an electric field in the iron core. The second wire winding converts the newly created electric field into a smaller alternating current. The voltage of the new current depends on the ratio of the number of coils in the first winding in comparison to the second winding; therefore if the second winding has half as many coils as the first winding, the resulting voltage will be half that of the original voltage. Now the question remains how to convert the AC current into a DC current? The answer to this is that behind the two windings and the iron core are two rubber wrapped diodes that convert AC to DC by allowing the current to flow in one direction. Even though the wall wart was supposed to supply 5V DC, it wasn’t. This is because a wall wart uses cheap tricks to get the voltage to drop. We actually got an output of around 9V DC that was very noisy, meaning there was a ripple and the output would fluctuate.

    To get the voltage down to 5V DC and eliminate the ripple, we had to use a regulator. The regulator we used was the LM7805 with a TO-220 package. Our regulator is classified as a linear regulator. The way a linear regulator works is very simple, it has three pins: an input pin, a ground, and an output pin. The input voltage could receive any voltage between 7V and 30V. In our case the regulator had an input of about 9V. When it received the voltage it converted it to a steady output of 5V. The regulator takes the input voltage of 9V and then turns it into an output of 5V by turning the difference between the input and output in to waste heat energy.

    Next we hooked up a switch to the output of our regulator to allow us to easily turn power on and off. After the switch, we had a LED, along with a 330 ohm resistor to protect the LED from too much current, which was plugged into our 5V power supply and then to ground. This is to show us that we are getting power to our circuit rather than using a multimeter every time we needed to check if there was power. It was also a safety requirement for the science fair.

    Once we had verified that we had a working 5V power supply, we hooked up our microcontroller. The microcontroller has 4 ports: A, B, C, and D. Port A is powered separately from Port B, C, and D. So the first thing we did was power all four ports up by connecting the VCC (power) pins to the 5V power supply and connecting the ground pins to ground. Once the microcontroller was powered up and working, we had to program it. To program it we used the AVR Pocket Programmer which had six pins: MOSI (Master Out Slave In), MISO (Master In Slave Out), SCK (Programming Clock), RESET, VCC (Power), and GND (Ground). To connect the pocket programmer to the microcontroller we used jumper wires. Once we could program the microcontroller, we hooked up three LEDs with a 330 ohm resistor. The LEDs went to port B in pins PB0, PB1, and PB2. This is because port B has simple I/O (input/output) pins. Now depending on the output of the alcohol sensor, either the green, yellow, or red LED would turn on.

    Next, we connected the MQ-3 alcohol sensor to our microcontroller. The MQ-3 alcohol sensor has six pins; 2 go to the 5 volt power supply and two go to ground. One of the ground pins also goes to the microcontroller, and we chose to put it into port A. Port A was actually the only choice as it was the only port that can do analog to digital conversion (ADC). This was a must as the sensor has an output of analog information and the microcontroller understands digital.

    Lastly we connected a motor to the microcontroller to represent the engine of a car...

    Read more »

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates