What it shows
A pulse oximeter clips on a finger and shows pulse and blood oxygen using red and infrared light. A student can build a low-cost model with a MAX30102 sensor and an Arduino, display the readings, and test the pulse rate against a manual count. The project is for learning only and must not be used for medical decisions.
The science
Haemoglobin that carries oxygen absorbs infrared light slightly more than red light, and without oxygen the opposite happens. With each heartbeat the blood volume in the finger changes, giving a small pulsating (AC) signal on top of a large steady (DC) level. The ratio of ratios R = (AC_red/DC_red)/(AC_ir/DC_ir) is converted to SpO2 by a calibration curve. Peaks in the signal give the heart rate.
Materials
Cost: under Rs 1,500. Many items come from home or from waste; spare parts such as LEDs, motors and wire are in the store.
- An Arduino Uno or Nano
- A MAX30102 pulse oximeter and heart rate sensor module
- A 0.96 inch I2C OLED display
- A breadboard, jumper wires
- A stopwatch
- A box with a finger holder made of foam
- A commercial pulse oximeter for comparison, borrowed from a clinic (optional)
Safety
For this project: This is not a medical device and its readings must not be used for diagnosis or treatment. Test only on consenting volunteers and use low light output. An adult must supervise, and stop if anyone feels unwell.
Never use mains electricity: power models with cells, batteries or a low-voltage adapter. Sharp and hot tools, flames and lab chemicals need an adult or your teacher beside you. Keep magnets, button cells and small parts away from young children, and wash your hands after making.
All the safety rulesStep by step
11 steps. Do them in order, and test each part before you go on to the next. Write what you notice in a notebook as you go.
Connect the sensor and OLED to the I2C pins (SDA and SCL) with 3.3 V or the module supply the board needs.
Install a MAX30105 library and run the raw read example to see the red and infrared values.
Plot the infrared signal on the serial plotter with a finger resting on the sensor and observe the pulse waveform.
Write the peak detection code to find beats and compute beats per minute from the time between peaks.
Average the last 4 beats to stabilise the reading and show the value on the OLED.
Compute the ratio R and use a published linear approximation to estimate SpO2, noting that it is not calibrated.
With 10 volunteers seated, take the pulse at the wrist by manual count for 30 seconds and compare with the sensor.
Repeat after one minute of light exercise like climbing stairs and record both again.
Plot a Bland-Altman style graph of the difference against the average and calculate the typical error.
Test the effect of finger movement, a cold finger and bright ambient light on readings.
Write the report with results, limits, a clear note on why it cannot replace a medical oximeter and ethics of testing on people.
What you should see
Heart rate readings agree with manual counts within about 3 to 5 beats per minute at rest when the finger is still. SpO2 values around 95 to 99 percent for healthy people are plausible but uncalibrated, and movement causes obvious errors.
Viva questions
A teacher or a judge will ask how it works. Try to answer each question before you open it, then compare.
1How does a pulse oximeter work?
It measures how much red and infrared light is absorbed by the finger, which differs for oxygenated and deoxygenated blood.
2What is the AC and DC component?
The AC part is the small change with each heartbeat, and the DC part is the steady absorption by tissue and bone.
3Why is the device not calibrated?
Proper calibration needs blood-gas reference measurements in a clinical setting.
4What affects accuracy?
Movement, cold fingers, nail polish and strong ambient light.
Take it further
Send the heart rate over Bluetooth to a phone app and plot a 10-minute history during a rest and recovery test.
Change one thing, measure what happens, and add a table or chart of your readings: that is what turns a model into your own investigation.
Free ebooks for this project
Science projects
Writing a Science Project File
How to write the report, from the cover page to the bibliography
