Saturday, April 19, 2025

Build Smallest Pulse Oximeter

EFY tested

An oximeter is an essential tool for both doctors and individuals, enabling daily health monitoring by measuring blood oxygen levels, pulse, and heart rate.

With the compact 3cm IndusBoard, you can easily build a portable oximeter that delivers quick and accurate readings of heart rate and oxygen saturation.

While the code can be adapted for other ESP boards and chips, the IndusBoard’s compact size makes it ideal for portable applications.

Smallest Pulse Oximeter
Fig. 1: Prototype of Smallest Pulse Oximeter

Bill of Materials 

The components required to make this pulse oximeter project are listed below-

ComponentsDescriptionQuantity Price
IndusBoardDev Board11000
USB Type CAdapter1100
MAX30100Sensor 1200
OLED Display SSD13061300

Smallest Pulse Oximeter – Code  

First, install the required libraries in the Arduino IDE. To do this, open the Library Manager from the Tools menu and search for the following libraries: “Adafruit GFX”, “Oak OLED”, and “MAX30100”. Install each of these libraries.

- Advertisement -

Once the libraries are installed, you can begin coding. Start by including the necessary libraries in your code.

Next, add a short bitmap code that displays a heart symbol. This heart bitmap logo will be displayed on the OLED whenever a heartbeat is detected (Refer to Fig. 3).

Then, create the setup function to initialize the required components. In this function, set the Bluetooth baud rate along with other configurations for the project (Refer to Fig. 2).

- Advertisement -
Code for Smallest Pulse Oximeter
Fig. 2: Smallest Pulse Oximeter Code

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

Smallest Pulse Oximeter Code
Fig. 3: Code for Smallest Pulse Oximeter

DIY Pulse Oximeter – Circuit Connection 

The IndusBoard is equipped with two I2C ports, enabling simultaneous interfacing of multiple sensors, OLEDs, and other I2C modules. For the IndusBoard, I2C pins can be configured for either hardware I2C or software I2C. GPIO pins 8 and 9 are set up for hardware I2C.

To connect the components:

  • Connect the SCL and SDA pins of both the OLED and the MAX30100 sensor to the SCL and SDA pins of the IndusBoard.
  • Power the MAX30100 sensor using the 3V and GND pins of the IndusBoard.
  • Power the OLED using the 5V and GND pins of the IndusBoard.
IndusBoard Pin Diagram
Fig. 4: IndusBoard Pin Diagram
IndusBoardMAX30100OLED
8SDASDA
9SCLSCL
3VVIn
GNDGNDGND
5VVCC

Testing Pulse Oximeter

Power the IndusBoard using a USB connection or a 5V battery connected to the GND and 5V pins.

Place your finger on the MAX30100 sensor to measure your blood oxygen percentage and pulse rate.

The readings will be displayed on the OLED screen, accompanied by a blinking heart symbol that syncs with your heartbeat.

Ensure the code is correctly uploaded to the IndusBoard and verify that all connections are secure for proper functionality.

DIY Smallest Pulse Oximeter
Fig. 5: DIY Smallest Pulse Oximeter

Download Pulse Oximeter Code

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.

SHARE YOUR THOUGHTS & COMMENTS

Most Popular DIY Projects

EFY Prime

Unique DIY Projects

Electronics News

Truly Innovative Electronics

Latest DIY Videos

Electronics Components

Electronics Jobs

Calculators For Electronics