Digital Blood Pressure Monitor

Votes: 0
Views: 554


Application for detecting blood pressure using Korotkoff sounds. Its open source and can be used for remote communities where hygiene and health are a vital need.

I once worked in a company that sells health-care devices and I've knowledge of how blood pressure monitors work. In this project I used a micro pressure sensor to detect Korotkoff sounds, which will help me to calculate systolic (maximum) and diastolic (minimum) blood pressure. There is another method called the oscillometric and I not used it for hardware reasons and time to finish it. However the oscillometric method is based on the Korotkoff sounds and each manufacturer develops its own mathematical algorithm to find systolic and diastolic pressures.

I can tell you that the project was made with GNAT Programming Studio, is my own and my creativity (source code, schematic diagram and flowchart). For the rest, I used and modified the arduino demo code from the pressure sensor manufacturer, and the code to send the test data.

As a reference for this project, I've used the following Ada tools:

  1. Examples such as demo_adc_polling, and demo_gpio_direct_leds;
  2. Ada drivers libraries like STM32.User_Button, STM32.ADC, STM32.GPIO, and LCD_Std_Out; and
  3. Theory sucha as arrays, and for and while loops.

The analysis of the code of the digital blood pressure monitor I've divided it into three sections:

  1. Inflation of the cuff,
  2. Deflation of the cuff, and
  3. Calculation of the Korotkoff sounds.


  1. Pressure measurements of this device were compared with an aneroid manometer.
  2. I had to calibrate the air release valve several times.
  3. This model can be useful for a doctor or nurse who suffers from a bad hearing, because it would be imposible to detect the Korotkoff sounds.
  4. In the final tests I feel satisfied with the values measured by my device when I compare it with the OMRON device.


  1. Making the pressure sensor libraries to connect it directly with the STM32F429I board;
  2. Another option to the previous point would be to communicate the ESP32-WROOM-32 and STM32F429I boards through the serial port;
  3. Calculate the heart rate from the Korotkoff sounds; and display the hart rate with the systolic and diastolic pressure on the screen;
  4. Develop the prototype with the oscillometric method. To achieve this, it's necessary to test with analog and/or digital bandpass filters. At the end you have to make an algorithm to combine the oscillometric method and the Korotkoff sounds.


  1. In Hackster:
  2. A digital magazine (in Spanish):



Voting is closed!


  • Name:
    Guillermo Perez
  • Type of entry:
  • Software used for this entry:
    AdaCore GNAT Community
  • Patent status: