IOT Based Pulse Oximeter DIY

Hello friend’s, I Hope you all are safe & fine in this pandemic. I’m here with another project which you can build using very few components.

Did you ever know we can implement IOT in Healthcare Projects Hopefully many say it as NO!

In this article, I’m going to show you, how you can make a IOT Based Pulse Oximeter with ESP32 and some very basic electronic components

As in this pandemic situation of Covid19 most of us probably familiar with oximeter which we use to measure oxygen saturation in blood and the pulse rate.

This is one of best IOT based projects you can do at your home in a budget

What is an oximeter ?

oximeter is a medical device in the shape of a clamp that show blood oxygen saturation data with values ​​from 0 to 100. It is common for the same device and indicating all the information on a small screen.

The oximeter is a non-invasive device that is responsible for measuring oxygen levels in the blood through the pulse.

Although its nomenclature may have some variations, these are the data that an oximeter measures:

  • – % SpO2 : refers to the percentage of oxygen saturation in the blood.
  • – PR Bpm : shows the heart rate, that is, the beats per minute.

 Normal reading of the percentage saturation levels of oxygen in the blood (SpO2) ranges between 95 and 100%.

How an oximeter works ?

The oximeters emit different wavelengths of light passing through the finger.

What acts on that light is hemoglobin, a molecule in the blood responsible for transporting oxygen, absorbing different amounts of light depending on the level of oxygen it carries.

This process, counted in a simple way, is the one that ends with a numerical value shown on the screen and that indicates the level of oxygen saturation in the blood.

for more details on Pulse Oximetry Basic Principles visit this or see this pdf on Pulse Oximeter Fundamentals and Design from NXP

Materials for IOT Based Pulse Oximeter

ESP32 X1 ______________________________ INDIA /

OLED Display X1 ______________________________ INDIA

Pulse Oximeter Sensor X1 ______________________________ INDIA /

Just collect all the above Components.


MAX30100 Pulse Oximeter

The MAX30100 sensor is integrated pulse meter and heart-rate monitor functions in a single integrated.

The MAX30100 series is an optical sensor It combines two LED’s, a photodetector, optimized optics, which bases its operation on the different behavior that blood has in light , depending on its degree of oxygen saturation

The MAX3010o operates from 1.8V and 3.3V power supply , and 3V3 for the LEDs. Normally we will find it in 5V modules that incorporate the necessary level adaptation.

Features of MAX30100 Pulse Oximeter

1. Consumes very low power (operates from 1.8V and 3.3V)
2. Ultra-Low Shutdown Current (0.7µA)
3. Fast Data Output Capability

ESP32 –> MAX30100



D22—-> SCL

D21—-> SDA

OLED Display

To display the oxygen level , a 0.96″ OLED display is used. It has 128×64 resolution and uses an I2C bus to communicate with the Arduino. Two pins SCL (D22), SDA (21) in ESP32

I am using the Adafruit_SSD1306 library to display the parameters.

First, you have to download the Adafruit_SSD1306. Then install it.


5V —>VCC


D21—-> SDA

D22—-> SCL

Interfacing MAX30100 Pulse Oximeter with ESP32

The connection is simple, we simply power the module from ESP32 GND and 5V and connect the SDA and SCL pin of the ESP32 with the corresponding pins of the MAX30100.

Circuit for IOT Based Pulse Oximeter

Make the circuit by following the schematic diagram given in the above picture. I have already explained the connection details of each component and module. To make it simpler, I have prepared a breadboard circuit for you.

Software and Libraries

To use the ESP32 board with the Arduino library, you’ll have to use the Arduino IDE with ESP32 board support. If you haven’t already done that yet, you can easily install ESP32 Board support to your Arduino IDE by following this tutorial by Sparkfun.

Install the Libraries:

First, download the Arduino sketch and installed all the libraries.

Before uploading the code install the following libraries :

  1. ESP32
  2. Blynk
  3. Adafruit_SSD1306
  4. MAX30100 

How to Install the Libraries?

You can read this tutorial by Sparkfun to install the Arduino libraries.

Pugin the USB cable into the ESP32 with your laptop or desktop PC.

Set the correct board and COM Port number and upload the code into the ESP32.

Interfacing With Blynk App

Blynk is the most popular Internet of Things platform for connecting any hardware to the cloud, designing apps to control them, and managing your deployed products at scale.

With Blynk Library you can connect over 400 hardware models including ESP8266, ESP32, NodeMCU & Arduino to the Blynk Cloud.


Download the Blynk app

1. For Android

2. For iPhone


Get the Auth Token In order to connect the Blynk App and your hardware, you need an Auth Token.

1. Create a new account in the Blynk App.

2. Press the QR icon on the top menu bar. Create a clone of this Project by scanning the QR code shown above. Once it detected successfully, the whole project will be on your phone immediately. I’ve made the Sol Weather Station app. You are welcome to try it out!


To start using it:

1. Download Blynk App: or

2. Touch the QR-code icon and point the camera to the code below, enjoy my app!

3. After the project was created, we will send you Auth Token over email.

4. Check your email inbox and find the Auth Token.

 Create a clone of this Project by scanning the QR code
Create a clone of this Project by scanning the QR code


Preparing Arduino IDE for ESP32 dev board To upload the code to ESP32 board, you have to follow this Instructables


After installing the above libraries, paste the Arduino code given below.
Enter the auth code from step-1,ssid, and password of your router.


On the Blynk App, the BPM & SpO2 value is uploaded after a second and you can see a change in gauge and display parameters.

Now open the Blynk app to monitor all the above parameters from your smartphone.

I am really satisfied with this pocket-sized gadget.

That was all about IOT Based Pulse Oximeter

Thanks for reading my article. If you like my project, don’t forget to share it.

Comments and feedback are always welcome, Consider checking our other ESP32 projects


Related Posts

Leave a Reply

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