Heart Rate Monitoring System using Finger Tip through Arduino and Processing Software

Download Full-Text PDF Cite this Publication

Text Only Version

Heart Rate Monitoring System using Finger Tip through Arduino and Processing Software

Srusti.K. S JNNCE Shivamoga, Karnataka, India

Smitha. S

JNNCE Shivamoga, Karnataka, India

Trupthi. M. P JNNCE Shivamoga, Karnataka, India

Meghana. N. R JNNCE Shivamoga, Karnataka, India

Abstract – Technological innovations in the field of disease prevention and maintenance of patient health have enabled the evolution of fields such as monitoring systems. Heart rate is a very vital health parameter that is directly related to the soundness of the human cardiovascular system. Heart rate is the number of times the heart beats per minute, reflects different physiological conditions such as biological workload, stress at work and concentration on tasks, drowsiness and the active state of the autonomic nervous system. It can be measured either by the ECG waveform or by sensing the pulse – the rhythmic expansion and contraction of an artery as blood is forced through it by the regular contractions of the heart. The pulse can be felt from those areas where the artery is close to the skin. This paper describes a technique of measuring the heart rate through a fingertip and Arduino. It is based on the principal of photophelthysmography (PPG) which is non-invasive method of measuring the variation in blood volume in tissue using a light source and detector. While the heart is beating, it is actually pumping blood throughout the body, and that makes the blood volume inside the finger artery to change too. This fluctuation of blood can be detected through an optical sensing mechanism placed around the fingertip. The signal can be amplified and is sent to arduino with the help of serial port communication. With the help of processing software heart rate monitoring and counting is performed.

The sensor unit consists of an infrared light-emitting-diode (IR LED) and a photo diode. The IR LED transmits an infrared light into the fingertip, a part of which is reflected back from the blood inside the finger arteries. The photo diode senses the portion of the light that is reflected back. The intensity of reflected light depends upon the blood volume inside the fingertip. So, every time the heart beats the amount of reflected infrared light changes, which can be detected by the photo diode. With a high gain amplifier, this little alteration in the amplitude of the reflected light can be converted into a pulse.

Key Words: Heart rate sensor, Heart rate measurement, photophelthysmography (PPG),IR LED,. Arduino Software


    A heart rate monitor is a personal monitoring device that allows a subject to measure their heart rate in real time or record their heart rate for later study. Early models consisted of a monitoring box with a set of electrode leads that attached to the chest. The heart rate of a healthy adult at rest is around 72 beats per minute (bpm) & Babies at around 120 bpm, while older children have heart rates at

    around 90 bpm. The heart rate rises gradually during exercises and returns slowly to the rest value after exercise [2]. The rate when the pulse returns to normal is an indication of the fitness of the person. Lower than normal heart rates are usually an indication of a condition known as bradycardia, while higher is known as tachycardia. Heart rate is simply measured by placing the thumb over the subjects arterial pulsation, and feeling, timing and counting the pulses usually in a 30 second period. Heart rate (bpm) of the subject is then found by multiplying the obtained number by 2. This method although simple, is not accurate and can give errors when the rate is high. More sophisticated methods to measure the heart rate utilize electronic techniques. Electro-cardiogram (ECG) is one of frequently used method for measuring the heart rate. But it is an expensive device. Low-cost devices in the form of wrist watches are also available for the instantaneous measurement of the heart rate. Such devices can give accurate measurements but their cost is usually in excess of several hundred dollars, making them uneconomical. So this heart rate monitor with a temperature sensor is definitely a useful instrument in knowing the pulse and the temperature of the subject or the patient.

    a. Significance Of Heart

    The heart acts as a pump that circulates oxygen and nutrient carrying blood around the body in order to keep it functioning. When the body is exerted the rate at which the heart beats will vary proportional to the amount of effort being exerted. By detecting the voltage created by the beating of the heart, its rate can be easily observed and used for a number of health purposes. Heart pounds to pump oxygen-rich blood to your muscles and to carry cell waste products away from your muscles. The heart rate gives a good indication during exercise routines of how effective that routine is improving your health.


    1. System Description Current technology consists of optical and electrical monitors. The electrical method provides a bulky strap around ones chest. The optical method does not require the strap and can be used more conveniently than the electrical method. There are many constraints in producing a heart monitor. First, the

      technology used to measure the pulse has to be determined. A cost efficient way of measuring the pulse is the combination of a led and photo-sensor.

        1. Electrical Method

          The chest strap of a heart rate monitor uses electrodes to monitor the electric volts that occur when your heart beats. The receiver detects this information from the electrodes via radio signal from the chest strap. The receiver, then, uses this information to determine your heart rate. Some monitors also include a "coded signal" which uses a special code in the radio signal, so that the receiver does not receive radio signals from other nearby transmitters. This is not always a huge problem, but can be annoying or corrupt your data. This method has several disadvantages like inaccurate results hectic wired connections over the body etc

        2. Optical Method

          Optical technique exploits the fact that tiny subcutaneous blood vessels (capillaries) in any patch of skin (fingertip, ear lobe, etc.) furnished with a good blood supply, alternately expand and contract in time with the heartbeat. An ordinary infrared LED/phototransistor pair can sense this rhythmic change as small but detectable variations in skin contrast. This method uses both transmittance and reflectance principles. It is a noninvasive method of finding heart rate i.e. no attachments or insertions on the body. It is precise and cost effective.

    2. Circuit Description

      The full circuit has been constructed in three steps: external biasing circuit, first stage signal conditioning circuit, and second stage signal conditioning circuit [3]. In this paper the circuit has been integrated with an Arduino board and processing software.

        1. Signal Conditioning Circuit

          The reflected IR signal detected by the photo diode is fed to a signal conditioning circuit that filters the unwanted signals and boost the desired pulse signal. The circuit diagrams below shows the IR LED (D1) and the photo diode (D2) along with the signal conditioning circuit made of two stage operational amplifiers configured as active low pass filters. The cut-off frequencies of both the filters are set to about 2.5 Hz, and so it can measure the pulse rate up to 2.5*60 = 150 bpm. The gain of each filter is about 100, which gives the total 2-stage amplification of 10000. This is good enouh to convert the weak pulsating signal into a TTL pulse. Note that at the input of each OpAmp filter stage, there is a 1 uF capacitor to block any DC component in the signal. At the output is connected a LED that will blink with heart beat. The output of the sensor is sent to arduino port for monitoring and counting purpose.

          Fig1. Circuit diagram of sensor

          Fig 2. PCB connection of IR sensor

          Fig 3. Working of IR sensor

        2. IR Transmitter..

          An infrared emitter is an LED made from gallium arsenide, which emits near-infrared energy at about 880nm. The infrared phototransistor acts as a transistor with the base voltage determined by the amount of light hitting the transistor. Hence it acts as a variable current source. Greater amount of IR light cause greater currents to flow through the collector-emitter leads. As shown in the diagram below, the phototransistor is wired in a similar configuration to the voltage divider. The variable current traveling through the resistor causes a voltage drop in the pull-up resistor. This voltage is measured as the output of the device.

        3. Infrared detector

          Phototransistors also consist of a photodiode with internal gain. A phototransistor is in essence nothing more than a bipolar transistor that is encased in a

          transparent case so that light can reach the base-collector junction. The electrons that are generated by photons in the base-collector junction are injected into the base, and this photodiode current is amplified by the transistor's current gain..

    3. ARDUINO Hardware

    The Arduino Uno can be powered via the USB connection or with an external power supply. The power source is selected automatically [4]. The Arduino Uno is a microcontroller board based on the ATmega328, which is shown in Fig.5.

    Fig 5. ARDUINO Hardware . External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.



      // Arduinoppg Signal

      #include <firFilter.h> firFilter Filter;

      int value; int filtered;



      Operating Voltage


      Input Voltage (recommended


      Digital I/O Pins

      14 (of which 6 provide

      PWM output)

      Analog Input Pins



      2 KB (ATmega328)


      1 KB (ATmega328)

      DC Current per I/O Pin

      40 mA

      void setup()


      Serial.begin(7200); Filter.begin();


      void loop()


      value = analogRead(A0); filtered= Filter.run(value);

      /* Serial.print("In: "); Serial.print(value); Serial.print(" – Out: ");*/ Serial.println(filtered);

      delay(2); //make it readable



      Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.

      Interactive programs with 2D, 3D or PDF output OpenGL integration for accelerated 3D For GNU/Linux, Mac OS X, and Windows Over 100 libraries extend the core software The Processing 2.0 release focuses on faster graphics, new infrastructure for working with data, and enhanced video playback and capture. It also expands the potential of the programming environment. The new Modes feature allows other programming systems, such as JavaScript and Android, to be easily used from within the development environment. The new Contributions Manager makes it simple to distribute and install extensions developed by the community. Its open source status encourages the community participation and collaboration that is vital to Processings growth. Contributors share programs, contribute code, and build libraries, tools, and modes to extend the possibilities of the software. The Processing community has written more than a hundred libraries to facilitate computer vision, data visualization, music composition, networking, 3D file exporting, and programming electronics.

      5.2 Counting the PPG Signal

      The PC application first reads 600 consecutive samples sent by Arduino. Since the sampling rate was 5ms, it takes

      1. sec to read the 6000 samples. The DC component (minima of 600 samples) is subtracted out from the samples. Next, the range of the samples is computed. If the range is less than 50 counts, the received PPG waveform is very weak, and is considered to be a noise. This could happen when no PPG signal is detected through fingertip (sensor is faulty or disconnected) or the gain of the amplifier on Easy Pulse board is set very low. The gain can be increased through potentiometer P1 on the Easy Pulse board. If the range of ADC samples is greater than 50, it is considered as a valid PPG signal and is displayed on the PC screen. The samples are scaled to 1-1023 for full swing of display. Next, a 21-point moving average filter is

      applied to remove the unnecessary high frequency components (usually noise) in the PPG signal. The resulting samples are plotted against time to obtain a clean and smooth PPG waveform. Note that we lose 10 samples at the beginning and 10 samples at the end while applying the moving average filter. The heart beat rate can be computed by knowing the time period of the PPG waveform. For this, we identify three consecutive peaks in the waveform based on where the slope of the curve changes from positive to negative, and the magnitude of the signal is greater than 80% of the maxima of all the samples. Since two consecutive samples are 5ms apart, time difference between any two peaks can be easily computed from their indices (or sequence numbers). Two heart rates are computed from the three consecutive PPG peaks and their average value is displayed as an instantaneous heart rate. The identified peaks are also marked on the display with a cross (X) symbol (see the PPG waveform plotted by the PC application on the computer screen

      Fig10. Reflective photoplethysmography

      Fig11 Counting pulse in BPM


      Biomedical engineering (BME) combines the design and problem solving skill of engineering with medical and biological sciences to improve patients health care and the quality of life of individuals. Cardiovascular disease is one of the major causes of untimely deaths in world, heart beat readings are by far the only viable diagnostic tool that could promote early detection of cardiac events[13].By using this we can measure ones heart rate through fingertip. This paper focuses on the heart rate monitoring and alert which is able to monitor the heart beat rate condition of patient. The system determines the heart beat rate per minute and then sends short message service (SMS) alert to the mobile phone. . It is portable and cost effective. It is a very efficient system and very easy to handle and thus provides great flexibility and serves as a great improvement over other conventional monitoring and alert systems.


The current version of the Processing application displays the near-real-time PPG waveform and heart rate but does not record anything. There is a lot of room for improvements. —Logging heart rate measurements ad PPG samples along with the time-stamp information available from the PC —Beeping sound alarm for heart rates below or above threshold —Heart rate trend over time, etc.


  1. MarkosSgantzos , Andreas Veglis Augmented Reality for the Study of Human Heart Anatomy International Journal of Electronics Communication and Computer Engineering 2011.

  2. https://www.howtogeek.com/65963/what-is-arduino/

  3. arstechnica.com/…

  4. /www.technobyte.org/2016/08/overview-arduino-uno- hardware/

  5. www.allaboutcircuits.com.

Leave a Reply

Your email address will not be published. Required fields are marked *