Smart Blood Oxygen And Heart Rate Monitor With Automatic Data Saving System (Hindi And English Video)

Ashwini Kumar sinha


Thanks to the various wearable health devices available in the market today, we can easily monitor our health status at home, without visiting the doctor. How about making one yourself?

In this DIY project, we will try to make a Smart Health Monitoring Device that can measure SpO2 (percentage of oxygen in the blood) and heart rate. This wearable device can be used by athletes to monitor their heart rate and blood oxygen levels during workout. Best part of this project is that you can connect this device to an app that automatically saves all the sensor data to a text file.

Change Video Language

So, let’s start the project.

Fig 1. Pulse Sensor


  • Max30100 sensor
  • Any Arduino Dev board (Arduino Uno, Nano or pro mini).
  • OLED Display (SSD 1306).
  • Bluetooth HC 05
  • Wires


First of all, we need to install the required library to the Arduino IDE. Go to tools and open the library manager and search these libraries (“Addafurit GFX”, “Oak Oled”, “Max 30100”) and install these libraries.


Once we have installed the libraries, we can start coding. In the first part of the code, we have included the required libraries in code.

Fig 2. Initiating Libraries in Code

After this, we will add a short bitmap code that has a heart symbol logo. In the next part, we have a function that displays the heart bitmap logo whenever your heart beats (Refer Fig 3). Now, we can create a setup function and set the baud rate of Bluetooth along with other settings.(Refer Fig 4)

Fig 3. Bitmap Code


Fig 4. Arduino code setting baud rate of Bluetooth
Fig 5. Code for showing sensor status

Then we will create a loop function that updates the readings of sensor and displays those readings on OLED screen.

Fig 6. Arduino code for getting sensor data
Fig 7. Arduino code for displaying Sensor data on OLED

Now, connect the components as illustrated below.


Arduino Components
5v OLED and Max30100 VCC
GND OLED and Max30100 GND
SCL SCL of OLED and Max 30100
SDA SDA of OLED and Max30100
5V Bluetooth VCC
GND Bluetooth GND

App Making

We are done with coding and connection parts, so let’s build the app. We are going to use MIT App Inventor. First, we will create a layout and add the following components to it.

  • An Image View
  • A Button
  • A Text Level
  • A Text input
  • Bluetooth Clint
  • Clock Timmer
  • File Storage

Then Join the MIT App inventor code blocks according to Fig 9.

Fig 9. App Inventor code Blocks


After connecting the components, recheck each connection. Then power the Arduino. When you power the Arduino, you get a message on OLED screen which says – “Initializing Sensor.” After a few seconds when Arduino detects the sensor, it shows the reading on the screen. Initially, it will show 0 or false reading. Now place your finger on the sensor and let it detect your heartbeat rate and blood oxygen level. After a few seconds, your SpO2 (oxygen percentage in the blood) and heartbeat rate will be displayed on the OLED screen. Next, open the app that you have made and connect it to the Bluetooth. After it is connected, you can see the blood oxygen percentage (SpO2) and pulse rate in the app. The app automatically saves the sensor data in the form of text file, which you can share with a doctor or use it for analysis.

Fig 10. Sensor data in text

Download Code





Please enter your comment!
Please enter your name here