Monday, July 22, 2024

Make Your Own Smallest Pulse Oximeter

Oximeter is one of the most useful tools for doctors and individuals alike, aiding in daily health monitoring by measuring the percentage of oxygen in the blood, pulse, and heart rate. Using the compact IndusBoard, only 3cm in size, we can easily create a portable oximeter that provides quick readings of heart rate and blood oxygen percentage. While the same code can be adapted for other ESP chips and boards, the IndusBoard’s small size makes it particularly portable.

Fig. 1 Author Prototype

Bill Of Materials 

The components required in project listed below

ComponentsDescriptionQuantity Price
IndusBaordDev Boord11000
USB Type CAdapter1100
MAX30100Sensor 1200
OLED Display SSD13061300


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

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. 2)

- Advertisement -
Fig. 2

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

Fig. 3


The IndusBoard features two I2C ports, allowing the interfacing of multiple sensors, OLEDs, and I2C modules simultaneously. For the IndusBoard, I2C pins can be configured as hardware I2C or software I2C. GPIO pins 8 and 9 on the IndusBoard are configured for hardware I2C. Connect the SCL and SDA of the OLED and MAX30100 sensor to the SCL and SDA pins of the IndusBoard. Power the MAX30100 sensor with the 3V pin and GND pin of the IndusBoard, and power the OLED with the 5V pin of the IndusBoard.

Fig. 4
Indus BoardMAX30100OLED


Power the board using USB or a 5V battery connected to the GND and 5V pins. Place your finger on the MAX30100 sensor, and it will read the blood oxygen percentage and pulse rate. The OLED screen will display the readings, and a heart shape will blink with each heartbeat.

- Advertisement -

Make sure the code is uploaded correctly to the IndusBoard and that all connections are secure.

Fig. 5
Ashwini Sinha
Ashwini Sinha
A tech journalist at EFY, with hands-on expertise in electronics DIY. He has an extraordinary passion for AI, IoT, and electronics. Holder of two design records and two times winner of US-China Makers Award.


Unique DIY Projects

Electronics News

Truly Innovative Tech

MOst Popular Videos

Electronics Components