Colour “ECG” & Oxygen monitor

This page outlines the basics of this project and should be used in conjunction with the video below;

Intro
Some of you may be aware of the handy pulse and oxygen monitors used by doctors where they simply slip a small unit over one of your fingers and they get a quick reading of heart rate and blood oxygen saturation. This project does the same thing but also adds an “ECG” graph display as well. The sensor we’re using is the MAX30100 (or MAX30102 which appears compatible).

How does it work?
These operate in a similar way to the simple green LED pulse sensors as used in this project. But they crucially use two, one red LED and one Infra-Red. These are both shone into the finger and the amount of reflected light determines amount of blood flow and amount of oxygen present. By doing some clever stuff with these two values the sensor/software library can calculate the pulse and oxygen saturation %.

The MAX30100 sensor used
Below is a picture of the sensor used.

They do need a small hack to work with Arduino which is covered in the video. But basically you need to remove the three 472 resistors shown above and add some 4K7 ones to your breadboard/prototype board. There is a version of the MAX30100 board that is supposed to not need this hack but I failed to get it to work with my set-up so I’ve ignored it for now.

The circuit
Below is the circuit diagram for the unit.

Pulse and O2 Circuit Diagram

Note the 4.7K resistors, this is explained on the video, but basically it allows our 5V Arduino to talk with this 3.3V sensor.

The Code
The required libraries to install are covered in the video so this is not covered here. Below is the source code for the project as shown in the video.

Alterations
If your trace is not the size you want (i.e. too small or big) then you can alter it’s height with the line that reads

Making this larger will reduce the height of the trace and making it smaller will increase the height.

That’s it for now, hope this has been of interest. If you’ve really found it useful then please consider supporting on Patreon (www.patreon.com/xtronical) or by making a one off thank you gift using the form on the top right. All contributions go to supporting the projects that I do and this website. Or if you’re not subscriber on You Tube then consider subscribing (link will be under the video on
You Tube).

2 Comments

  1. Hi! I really loved your videos, their are a good way to learn about this projects. I hope you can help me, I’m doing a project with this tecnologies and I want to display the ECG, but I can’t.
    I’m using the ESP8266 and the MAX30100, but I only get the data that you already have (BPM and SpO2), so… my question is that if I can get the ECG graph or is imposible with this sensor?
    I hope you can help me, I already aprecciate. Thanks

    • Sorry for late reply but I don’t get notifications for comments on the website (I’ve not idea why despite all settings saying I should). The colour graph is possible but you may need different drivers for the screen and ESP8266.

Comments are closed.