Drowsiness Detection Cap Using Embedded System

Download Full-Text PDF Cite this Publication

Text Only Version

Drowsiness Detection Cap Using Embedded System

Mr. Maunil P. Mistry

Student, Power Electronics Engineering Vishwakarma Government Engineering College Ahmedabad, Gujarat, India.

Dr. Anwarul M. Haque

Assistant Professor, Power Electronics Department Vishwakarma Government Engineering College Ahmedabad, Gujarat, India.

Mr. Sorathiya Jaimin

Student, Power Electronics Engineering Vishwakarma Government Engineering College Ahmedabad, Gujarat, India.

Er. Priyanka Patidar

Masters, Internet of Things (IoT) Robotronix Engineering Tech Pvt. Ltd

Mr. Prajapati Purvesh

Student, Electronics and Communication Engineering Shantilal Shah Government Engineering College Bhavnagar, Gujarat, India.

Abstract The majority of road accidents are caused by drowsy drivers. Drowsiness puts people's lives at danger on the road and can lead to serious injuries, death, and financial overlooking. When operating a vehicle, drowsiness is characterized as a sleepy sensation, a loss of attentiveness, or tired eyes. The majority of accidents in India are caused by a driver's inattention. The driver's performance progressively deteriorates as a result of exhaustion. To avoid this, we devised a device that can detect the driver's fatigue and alert him immediately. Drowsiness has been experimentally controlled in a variety of methods, which is also described. We conclude that by developing a sleepiness detection system that integrates non-intrusive physiological measures with other metrics, one may reliably assess whether or not someone is drowsy. The design and implementation of a 'Drowsiness Alert Cap Using Embedded System' are covered in this study. When a driver or person loses concentration, our system creates an embedded device that is installed on the cap and tilts the driver's or person's head at an angle. Our system detects the angle by comparing it to a pre-determined angle, senses vibrations, and sends notifications to the driver, as well as creating a loud alarm to fast awaken the driver.

Keywords Embedded systems, Gyroscope, Vibration motor, Arduino Nano, Alert System, Driver Fatigue


    Drowsy drivers are a major contributor to traffic accidents. A correlation between sleepy drivers and traffic accidents has been shown by several studies. [1] When a driver is sleepy, he or she loses control of the car and may swerve off the road, hitting with an object or toppling the vehicle. According to official estimates, over 1.3 million people die on the road each year, with an additional twenty to fifty million individuals suffering non-fatal injuries as a consequence of automobile accidents. Preventing the driver from being sleepy reduces the risk of an accident. In 2018, 1,643 traffic accidents were caused by drunk driving. So, in

    order to fully grasp this notion, there are two methods for detecting sleepiness.

    When compared to the non-invasive second option, the first one involves an incision into the body. An example of an intrusive strategy is the measurement of heart rate, the monitoring of thinking waves, and so on. Because the sensing electrodes must be connected directly to the user's body, this method is the most precise, but it is also the least practical. Yawn detection, eye closure, eye blinking rate, and head position are all non-intrusive procedures. Since it does not employ electrodes that are attached to the user's body, it does not irritate them while driving. [2] The Raspberry Pi is used in this system because to its compact size, low power consumption, and inexpensive cost in comparison to other computer systems. Apart from these three, studies have utilised subjective measures in which drivers were asked to verbally or by questionnaire to evaluate their state of weariness.

    The rating is used to assess the amount of exhaustion, and by including the mpu6050 sensor and vibration motor, accidents caused by weariness and excessive alcohol consumption may be avoided. As a consequence, when they detect the driver's head tilt angle and activate the vibration motor, they send them an alert. The created system then analyses the head movements, which comprise, among other things, left, right, forward, backward inclination, and left or right rotation.


    S. Vandna, et.al [3] According to research, tired drivers who need to take a break are responsible for around one-quarter of all major highway accidents, meaning that drowsiness causes more road accidents than drunk driving. Attention assist may detect inattentiveness and fatigue at a wide range of speeds, inform drivers of their current degree of fatigue and driving time since the last break, and, if a

    warning is issued, highlight nearby service locations in the COMMAND navigation system. It also has configurable sensitivity and, in the event of a warning, displays nearby service places in the COMMAND navigation system.

    B. Pawan, et.al [4] Driver drowsiness is a primary cause of automobile accidents, and it may result in serious bodily injuries, human mortality, property damage, and financial loss. As a consequence, an efficient driver tiredness monitoring system that alerts the driver before anything bad happens must be developed Design and implementation of a driver drowsiness detection system with audio and visual warning is the focus of this article. It may be used in any situation when someone's tiredness needs to be tracked.

    has a flash memory capacity of 32 KB (of which 2 KB used by bootloader). The Nano is Arduino's tiniest board, measuring 45 millimeters in length and 18 millimeters in width and weighing just 7 milligrams. The Nano is designed for use on a breadboard and features soldered headers for all pins, allowing installation on any breadboard simple. The board is shown in Figure 1:

    R. Bhargava, et.al [5] The driver's condition is crucial since inattention or fatigue is one of the primary causes of car accidents. Many accidents might be avoided if a sleepiness monitor is installed in a vehicle. Accidents are caused by a single instant of inattention, requiring the use of a real-time driver monitoring system. This detector should have a high degree of accuracy and be able to operate on an embedded device. This article offers a unique technique to real-time weariness detection that is based on deep learning and is capable of being implemented on a low-cost integrated board. Our work makes a significant contribution by

    condensing a big baseline model into a lightweight model that can be implemented on an embedded board.





    Operating Voltage

    5 v

    Flash Memory

    32 kb of which 2 kb used by bootloader


    2 kb

    Clock speed

    16 MHz

    Analog in pins



    1 kb

    Dc current per I/O pins

    40 mA (I/O pins)

    Input voltage


    Digital I/O pins

    22 (6 of which are PWM)

    PWM output


    Power consumption

    19 mA

    PCB Size

    18 x 45 mm


    Fig. 1: Arduino Nano Board

    R. Rajeshwari, et.al [6] This article offered an embedded syste-based method for detecting driver sleepiness in real time. The embedded system made up of Raspberry-Pi model, PIC 16F877 Micro-controller, Digital

    5 MP cameras, buzzer, MQ-3 sensor and Relay. Additionally, MQ-3 alcohol sensor is used for calculating alcoholic intoxication of the car driver. The alcohol sensor works on breath analyser and calculates the Blood Alcohol Content (BAC) from Breath Air Content (BrAC). Python language is used in Raspberry-Pi model. Some python packages such as NumPy, SciPy, SK learn, and OpenCV for this project.

  3. PROPOSED SYSTEM AND METHODOLOGY The drowsiness detection system project works on

    the fundamental of drowsiness which gives alert through buzzer and vibration motor when driver lean up to a certain angle. [7] It consists of Arduino Nano which works as the main microcontroller, vibration motor which vibrates and gives signal as well as the mpu-6050 which works as a motion detector. The detailed description of the components is:

    1. Arduino Nano

      The Arduino Nano is the smallest and most breadboard-compatible Arduino board. The Arduino Nano is equipped with pin headers for attaching it to a breadboard and a Mini-B USB connection. The ATMega328 processor operates at a speed of 16 MHz and

    2. MPU6050

      The MPU6050 sensor module is a 6-axis motion tracking device in its entirety. It is a little device that includes a three-axis gyroscope, a three-axis accelerometer, and a digital motion processor. It also includes a temperature sensor embedded into the chip. It makes use of the I2C bus interface to connect with microcontrollers. [8] It has an extra I2C bus for connecting to other sensors, including a three-axis magnetometer and a pressure sensor. If a three-axis magnetometer is attached to an additional I2C channel, the MPU6050 can create a complete nine-axis Motion Fusion signal.

      3-axis gyroscope

      A three-axis gyroscope also known as MPU6050, is made possible by the application of MEMS technology. As seen in the example below, it is used to estimate rotational velocity along the coordinate system's such as the X, Y, and Z axis. The orientation of the sensor is seen in Figure 2 below:

      Fig. 2: 3-Axis Gyroscope

      Because of the pivots of the gyros around any of the sensing tomahawks, and the vibration caused due to Coriolis Effect is detected by a MEM incorporated in the MPU6050 CPU. An enhancer, a demodulator, and a channel should be utilized to get a voltage that is directly proportional to the exact rate generated by this sign. This voltage is digitized and stored in a computerized design using a 16-cycle ADC to test each pivot. Its full-scale yield ranges are +/ – 250 watts for the first four models (and +/ – 500 for the fifth), and +/ – 1000 and 2000 for the next four models. This device estimates rakish speed in degrees per second units along each pivot all the way around.

      Fig. 3: Describe about the position of motion sensor according to the head tiltness: a) Constant motion sensor position, b) Motion sensor tilt towards z-axis, c) Motion sensor tilt towards z-axis, d) Motion sensor tilt towards z-axis.

      The moveable mass is deflected by acceleration along the axes. As a result of the moving plate (mass) movement, the differential capacitor becomes imbalanced, resulting in sensor outcome. [9] The amplitude of the output is proportional to the acceleration. The output is digitized using a 16-bit ADC. The acceleration ranges at full size are

      +/- 2g, +/- 4g, +/- 8g, and +/- 16g. It was weighed in grammes (gravitational force). On the flat surface the device measures 0 grams on X as well as Y axis while outputs +1 grams on Z axis.

      Fig. 4: MPU6050 sensor

      Pinout Specifications


      Interrupt Pin as Digital Output


      LSB address pin on an I2C slave. This is the 0th bit of the device's 7-bit slave address. VCC is interpreted as logic one and the slave address changes if it is linked to VCC.


      Pin for an additional serial clock. To connect additional I2C sensors with SCL pins to MPU6050, utilize this pin.


      An additional serial data pin is available for use. The SDA pin on additional I2C-enabled sensors may be connected to the MPU-6050 via this pin.


      The pin on the serial clock. SCL (Signal Control) pin of the microcontroller should be connected to this pin.


      The serial data port. Connect this pin to the SDA pin of the microcontroller.


      To establish a link to the earth, use the ground pin.


      Connect this pin to a DC source of at least 5 volts.

    3. Vibration Motor

      [10] With the debut of Motorola's now-iconic BPR- 2000 numeric display pager in 1984, Namiki became the first company to employ ERM vibration motors. The BPR- 2000 pager was powered by a powerful 7 mm diameter, brush type, cylindrical ERM vibration motor. In order to offer a discrete "Silent Alert," this motor was a costly alternative that was chosen instead. Since then, the technology for producing coreless micromotors has been outsourced from Japan to China, resulting in a significant fall in the price of motors in the marketplace.

      Haptic/vibration feedback is expected to become a common feature in the near future, and new technologies like as Surface Mount Devices (SMD), Coin Linear Resonant Actuators (LRA), and piezo are already accessible. With motor lifespan surpassing 1,000,000 cycles, BLDC brushless coin vibration motors have a high Mean Time Between Failures (MTBF). [11] Vibronic tactile actuators provide vibratory haptic input in a range of applications, including smartphones, wearables, display panels, and Augmented reality/Virtual reality gear. Vibronic coreless DC micromotors to a large number of different purposes, from drones to smart electronic locks.

      Fig. 5: Vibration Motor

    4. Architectural Diagram

      The proposed architecture contains many advantages as well specifications such as:

      The Atmega328 microcontroller is used to control many sensors as well as handling the program execution simultaneously. [12] The MPU6050 sensor is used to detect the tilt angle as well as raw the configuration readings are taken form the sensor and according to that the vibration motor and the buzzer starts working whenever the sensor goes beyond the predefined tilt angle. Here the whole system is powered through a battery which is managed through a proper power distribution system.

      Fig. 7: Flowchart Execution


    By Experimenting it thoroughly and by proper discussions we came to numerous appropriate results which are stated below:

    1. Work Flow

    Fig. 6: Experimental Setup

    Here the flowchart explains the working process of the project step by step in a particular manner. [13] First the Accelerometer gets started and it outputs the raw data to the microcontroller. Here in this step the microcontroller manipulates the raw data internally and controls the further functioning of the project. [14] Whenever there is a head tilt in a certain predefined angle it output results the vibration of the motor and the alert tone from the buzzer up to a certain time delay until the head is in the proper position. The Flowchart is shown as:

    Fig. 8: Equipment Setup

    The total equipment setup of project is appeared within the over figure 8. [15-16] It consists of a battery, Arduino Nano, mpu6050, buzzer and a led. If the device is kept on cap and the head is tilted for a certain angle, the microcontroller processing the raw configurations with the predefined one which gives alert to

    the driver using the vibration motor to move and the buzzer to beep out tone as well as the led to blink simultaneously. Thus, the results were very accurate as per the expected outcome to be.

    Fig. 9: Prototype Pcb Mounting On Cap

    The installation of the device on the cap is shown in the above figure.

    In given below figures 10, 11, 12 & 13, real time working of prototyping device are shown as: 1) [17] When a driver/person drives a vehicle he got lost his attention or focus and occurrence of drowsiness, that time our proposed device gives an alert and make a vibration to awaken the driver and prevent from the accident.

    Fig. 10: When head tilted towards backward, device gives alert.

    Fig. 11: When head tilted towards downward, device gives alert.

    Fig. 12: When head tilted towards left, device gives alert.

    Fig. 13: When head tilted towards right, device gives alert.


    The project "Drowsiness alert cap using embedded systems" was successfully created and tested. It was made by merging features from all of the hardware and software used. [18] The existence of each module was carefully examined and organised, resulting in the optimum possible functioning of the unit. Second, the project was successfully completed with the support of new technology and a newly developed development board, such as the Arduino Nano.

    In the future, infrared cameras will be able to track driver behaviour in the dark. In addition, you can use a multimodal deep learning strategy to analyse simple pulse photocell and images, and fresher model pressure and information refining procedures can be embraced to lessen runtime much further. Moreover, we might utilize a portion of the Python libraries like open-cv and lumpsum of calculations to foster trend setting innovations, for example, AI and man-made brainpower.


[1] [1] S. Arun, S. Kenneth, Detecting Driver Drowsiness Based on Sensors A Review, sensors, pp.16937-16953, 2012.

[2] [2] B. Pawan, Anush CN and P. Shashwath, Drowsiness Detection and Accident-Avoidance System in Vehicles, International Journal of Industrial and Systems Engineering (IJISE), Vol. 1, 2019.

[3] S. Vandna, S. Rekha, Driver Drowsiness Detection System and Techniques: A Review, International Journal of Computer Science and Information Technologies (IJCSIT), Vol. 5 (3), 2014.

[4] B. Pawan, Anush CN and P. Shashwath, Drowsiness Detection and Accident-Avoidance System in Vehicles, International Journal of Intelligence in Science and Engineering (IJISE), Vol. 1, 2019.

[5] R. Bhargava, K. Ye-Hoon, Y. Sojung, Real-time Driver Drowsiness Detection for Embedded System Using Model Compression of Deep Neural Networks, IEEE Conference, 2017.

[6] R. Rajeshwari, N. Sameer, Embedded System for Real Time Car Driver Drowsiness Detection, International Journal for Research and Development in Technology (IJRDT), Vol. 6, 2016.

[7] K. Swati, B. Rashmi, S. Anuja, K. Nanasaheb, Drowsiness Detection and Warning System, International Journal of Advanced Research in Computer Science and Technology (IJARCST), Vol. 2, 2014.

[8] T. Garima, G. Shefali, Road Accidents Prevention system using Drivers Drowsiness Detection, International Journal of Advanced Research in Computer Engineering and Technology (IJARCET), Vol. 2, 2013.

[9] S. Vitabile, A. De Paola, F. Sorbello, J Ambient, A real-time non-intrusive FPGA-based Drowsiness system, Journal of Ambient Intelligence and Humanized Computing, Springer, Vol. 2, No. 4, pp.251-262, 2011.

[10] S. Mohamad-Hoseyn, P. Muhammad-Reza, S. Mohsen and F. Mahmood, A Review on Driver Face Monitoring Systems for Fatigue and Distraction Detection, International Journal of Advanced Science and Technology (IJAST), Vol. 64, pp.73-100, 2014.

[11] L. Chih-Jer, D. Chih-Hao, L. Chung-Chi and L. Ying-Lung, "Development of a real-time drowsiness warning system based on an embedded system", IEEE Transactions, 2015.

[12] R. Osama, R. Hamza, M. Ejaz, "Development of an Efficient System for Vehicle Accident Warning", IEEE Transactions, 2013.

[13] A. Syed Imran, Dr. K. Modi, Dr. Prashant Singh, J. Sameer, "An Efficient System to Identify User Attentiveness Based on Fatigue Detection", International Conference on Information Systems and Computer Networks (ISCON), 2014.

[14] A. Mohammad Amin, R. Mohammad, "Driver Drowsiness Detection Using Face Expression Recognition", IEEE International Conference on Signal and Image Processing Applications (ICSIPA), 2011.

[15] E. Vural, M. Cetin, A. Ercil, G. Littlewort, M. Bartlett, and J. Movellan, Drowsy driver detection through facial movement analysis, International Workshop on Human Computer Interaction (HCI), pp 6-18, 2007.

[16] K. Subhashini, B. Yogesh, A Dedicated System for Monitoring of Drivers Fatigue, International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET), Vol. 1, 2012.

[17] S. Dwipjoy, C. Atanu A Real Time Embedded System Application for Driver Drowsiness and Alcoholic Intoxication Detection, International Journal of Engineering Trends and Technology (IJETT), Vol. 10, No. 9, 2014.

[18] S. Gowri, P. Anitha, D. Srivaishnavi, and M. Nithya, Internet of things-based accident detection system, pp. 159163, Third International conference on IoT in Social, Mobile, Analytics and Cloud (I-SMAC), IEEE, pp. 159163, 2019.

Leave a Reply

Your email address will not be published.