DIY Pulse Oximeter Tutorial

Overview

This tutorial will guide you through building a pulse oximeter using the Arduino Nano and the MAX30100 sensor. The project will enable you to monitor heart rate and blood oxygen saturation (SpO₂) levels, displaying the readings on a local webpage.

Components Used

Important Note

If you are using the MAX30100 sensor with resistors, make sure to remove them before connecting to the Arduino. This ensures that the sensor operates correctly.

remove_resistors

Driver Installation

Arduino IDE

The necessary drivers needed for the SpO2 readings webpage to work can be installed simultaneously and automatically with the successful installation of the official Arduino IDE.

Identifying the Correct Port

When you connect your Arduino to your computer, it should show up as a COM port (like COM3 on Windows) or /dev/ttyUSB0 (on Linux). Here’s how to ensure you’re selecting the right port:

For Windows

  1. Open Device Manager (right-click on the Start button and select Device Manager).
  2. Look under the "Ports (COM & LPT)" section. You should see something like "Arduino Nano (COM3)".
  3. Make a note of the COM port number (e.g., COM3) to use it in your code.

For Linux

  1. Open a terminal window.
  2. Run the following command to list connected devices:
    ls /dev/tty*
  3. You should see a device listed as /dev/ttyUSB0 (or similar). This is your Arduino.
  4. Make a note of this port for your code.

Setup Instructions

  1. Connect the MAX30100 sensor to the Arduino as follows:
    • VCC to 5V
    • GND to GND
    • SDA to A4
    • SCL to A5
  2. Download the Arduino IDE and upload the Arduino code that uses the MAX30100 library (Found in example sketches after install MAX30100 library) to read heart rate and SpO₂ values. If you are a complete beginner and want to start learning about Arduino from scratch then I would suggest you watch this youtube video from freeCodeCamp which helped me a lot in the beggining of my electronics journey.
  3. Once the code is uploaded, connect the Arduino to your computer via USB.
  4. Open the local webpage (Link can be found below) you created to visualize the readings.
  5. Note: Works only on select browsers which support serial port monitoring (Brave, Chrome, Microsoft Edge)
circuit

Accessing Readings

On the webpage, click the "Connect to Pulse Oximeter" button. This will open a dialog to select the appropriate COM port for your Arduino. Once connected, the heart rate and SpO₂ readings will be displayed in real-time.

Conclusion

This project is a great way to learn about sensors, microcontrollers, and web development. You can expand this project by adding more features like data logging or visualizing trends over time. You can now visit the real-time readings page by clicking the button below.