Against the backdrop of a global respiratory virus pandemic, it’s likely that more than a few readers have been thinking about pulse oximeters. You may even have looked at one closely and seen that it’s little more than a device which shines light through your finger, and wondered how they work. It’s something [Giulio Pons] has done, and to show us how it’s done he’s created a working pulse oximeter of his own.
He started with an infra-red heartbeat sensor module, which is revealed as nothing more than an IR LED and a photodiode. Sampling the output from the photodiode allows measurement of heartbeat, but gives not clue as to oxygen saturation. The interesting part comes via the property of red light in that it’s transmission through flesh varies with oxygen saturation, so adding a red LED and alternately measuring from the IR and red illuminations allows a saturation figure to be derived.
Commercial pulse oximeters are pretty cheap, so many of us will no doubt simply order one from the usual sources and call it good. But it’s always interesting to know how any device works, and this project reveals something simpler than we might have expected. If pulse oximeters interest you, compare it with this one we featured a few years ago.
31 thoughts on “A Pulse Oximeter From Very Little”
Building the circuit and data acquisition components is straightforward. Choosing the correct wavelengths is a not much harder: it’s well documented, but an random pair of LEDs are not necessarily the optimum wavelengths (though it’s arguable you can calibrate it out anyway if you have the SNR to burn).
But the real challenge with these darned things is calibration and validation. Sure, you can cross-calibrate to another presumed-good one. How do you propose to calibrate down to 70%, where it’s clinically important? Pretty hard to do with a breathhold. Maybe possible if you have a scuba rebreather handy (and someone to revive you when you pass out).
It’s super rare, even in an ICU setting, to see readings less than 85%. I have never been able to get below about 93 on myself when I worked in the ICU. I can’t imagine intentionally trying to get a reading less than 90 on a healthy person.
> Dale A Kaup
I’ve heard similar numbers many times.
Yet getting discharged from the hospital, my father was 84 yrs and walked to a discharge room where he showed 78% O2 sat, was aware but slow to respond physically or verbally, and they were going to send him home immediately. I stated I was concerned the 78% where they? So they reluctantly had him sit for a half hour until it rose to 92%, then sent him home with me.
As a two-decade-plus pain Pt., I regularly find myself holding my breath a number of times within a minute just to get some respite from the pain aggravated by the movement of breathing. During the periods I’m doing this, my O2 sat regularly shows 86%, even while walking around. Once, while laying down for a procedure, it was 82%; doctor just turned the level for the alarm down, as he did when he gave me a dirty look and set the pulse alarm level down (for the third and final time) but to 32 after it was going off at 42. When pain is under control (meds), I show 94% to 98%.
Do some people’s body just learn to function with less O2 sat?
Are O2 Sat Meters just regularly off, so unless a Pt. displays distress, it’s assumed wrong?
And new and unusual, Dr.s are reporting COVID-19 Pt.s who measure as low as 72% but are sitting and talking with the doctor as though nothing is wrong. (They’re also reporting impaired lung function with low O2 sat (into 70s) but the CO2 is not elevated and is somehow still getting out… > apparently therefore intubation not yet required.) Can you shed any light on that?
I’m a bit curious now, especially taken with Saabman’s comments below. I was in hospital the other year with an infection, and I had the oximeter pegged at 99% for 2 days, then on third day I was at 96% and they gave me the O2 for a bit… meanwhile there’s an older dude across the way and he’s got emphysema or something and they’re praising him for breathing good when he brings it up to 94% from 89 earlier and no O2 for him. Mind you I don’t know if they were just weaning him off it or something.
With COPD/emphysema giving supplemental o2 can me dangerous. Look up co2 retention/COPD =)
High altitude can result in lower blood oxygen levels.
In one study, those exposed to conditions simulating Everst Base Camp
had blood oxygen circa 80% (vs. 98 to 99%).
People can adapt to living and working with lower blood oxygen levels.
Sherpas, for instance seem to adapt, e.g. by increasing blood flow in cappliaries.
See, for instance:
Sustained vasomotor control of skin microcirculation in Sherpas versus altitude‐naive lowlanders: Experimental evidence from Xtreme Everest 2
Pulse oximiter is calibrated (presumably) under normal blood conditions.
Given that blood changes in some patients with infections,
(I have seen descriptions of it becoming thicker, clotting problems, etc.
Don’t know what factors are changed there.
However, some descriptions say that increased hemoglobin would make the blood thicker.)
I wonder to what extent pulse oximitry readings are still accurate under
these unusual conditions?
I wonder if they have looked at the advisability of providing supplemental oxygen,
and what the optimal level of oxygenation to provide is for Covid19 patients.
[Some studies suggest it might not be desirable in all cases, but I haven’t
seen anything indicating what cases might not, and Covid19 too new for
there to be much study.]
The low O2 may not be low O2, but ‘meter is indicating low O2’. Has to be validated. Platelet thickened blood or the other thick/sticky blood throwing off the meter is a more likely explanation than COVID-19 Pt.s with hugely low O2 still walking/talking with doctors as ‘though nothing is wrong’.
I grew up at high altitude. Not Himalayas high, but 3500 meters. Your blood saturation stays at 96-98% up to some critical altitude and only then begins to drop off as you go higher, and for the very large majority of people, if they have a week at a given altitude, their saturation will be 98% when resting.
Pulse oximeters read hemoglobin saturation. The opacity/transmissivity of blood to red light shouldn’t change with clotting or whatever else covid is doing in there. There’s still the same number of red blood cells, just stuck together rather than slightly separated. The cross section is the same. (It’s possible covid particles are sticking to the inner walls of the circulatory system, because they sure stick to similar cell surface receptors on cells in the nose, and maybe they’re stimulating inflammation and that’s why blood is clotting?)
There seems to be issues with supplemental oxygen having unintended damaging side effects, but I think that’s still just hearsay right now.
few years back, my level was always under 85%. usually hovering around 80%.
and i was up and working everyday. non smoker and all that. walking 5 miles a day each evening.
over the last few years it has slowly came up to over 90 and holds there now.
how you dont see less than 85 is strange
Head to a sleep clinic if you want to see bad. I had a study done and was told that I averaged around 66% with about 85 apnea events per hour. I was fitted with a CPAP machine about two days later. I had no symptoms except for being a little tired during the day, or so I thought. It turns out that I was the equivalent of being drunk most of the time. It’s a good thing that my commute was short or I probably would have fallen asleep at the wheel. I got married, the wife complained about the snoring/gasping, and sent me for the study. I have a battery backup because I can’t function without the machine if the power should go out (paying $400 for a battery that I could have built myself hurt, but I’m not messing with my health). I don’t know what would have happened if I hadn’t gotten married. I wonder how long I suffered from the condition and what permanent damage I’ve suffered. I wonder if I could have been smarter (programmer/engineer) for all those years.
TL;DR: don’t mess with your health. If you have the slightest reason to think you have sleep apnea or any kind of breathing issue, get it tested ASAP by professionals with quality equipment.
It’s tempting to build a backup power supply myself instead of buying one commercially; the commercial UPS I had was made for the use case where it’s backing up a PC or server and you want to know right away if the power cuts out so you can shut it down gracefully, so it beeps loudly to warn you.
What I need for my CPAP is one that, if the power goes out for <15 minutes, it doesn't bother me, but if it's out longer enough to get low on power, THEN it should beep and wake me up to take off the CPAP mask. (Power outages around here are usually 1-5 minutes, or rarely a couple hours, and the latter are usually in the daytime from construction accidents or cars hitting poles or something.)
Not a good idea to breathe helium to the point where you may be passing out.
Seen it done. Surprisingly long art video of a guy breathing from a balloon and singing nursery rhymes.
Not the best thing I’ve ever watched, but beats a tide pod challenge I guess…
Nope. Back when I was in high school (a loooong time ago, in the 1980s), a group of kids were inflating a bunch of helium balloons for some event. And of course, they had to breath in some of the helium for some squeaky-voice fun. Well, one kid overdid it, passed out, and his heart actually stopped. Fortunately, they brought him back around with CPR, but everybody had more respect for helium (and oxygen displacement) after that.
I was a design engineer at a pulse ox manufacturer. Designing a terrible oximeter is easy. Designing a decent one is harder. Calibration, skin pigmentation, movement rejection, and picking up low pulse amplitude were the biggest challenges.
The one described here is…pretty bad. A big improvement could be made if he would use an SMT LED package that had both wavelengths in it. Generally, I’d prefer 660 nm/910 nm, but the 660/940 of the XZM2MRTNI45SC2C
on Digikey should be close enough.
And that SpO2 of 106% shown in the video makes me think it’s still in need of some calibration…
It’s just trying to give 110%.
Uses cheap sensor kit “hearbeat sensor” yay!!! :-)
Needs commercial pulse oximeter to halfass the calibration :-(
I was wondering if one could “zero” it by applying a tourniquet around your finger, but no easy answer on that one, seems like it will need plowing through a few medical manuals and papers.
You can’t zero or calibrate it by tourniquet: the algorithm requires the pulse signal.
The medical literature won’t be that helpful. This app note is: https://www.nxp.com/docs/en/application-note/AN4327.pdf
Well yes, but you get a steady state value for the DC component, sanity check on that.
In practice, a real pulse oximeter algorithm does not use the DC component, so knowing its steady value is worthless. Except maybe to say whether a finger-like (or earlobe) object is present in the beam.
Even in validated pulse oximeters different brands vary significantly in their readings even on a health person. Those all in one finger probes are atrocious
This project is great and worth looking into further.
Interesting work. I will have to watch how he gets on with it. Adafruit stock a commercial one https://www.adafruit.com/product/4580 and have order a version with Bluetooth. Lady Ada does a teardown of a sample of the Bluetooth version https://youtu.be/ut7oGkIwRrE and they have a demo of a Bluetooth logging ap https://www.youtube.com/watch?v=EidJ5WrnsKs but I couldn’t find the video about how it works.
Seems a CO-Oximeter would be better.
FWIW, Any significant CO level represents someone on their way to being dead due to environmental causes – CO, a combustion byproduct, is not a natural biological “waste” as is CO2… In my experience in the ICU we typically only measured CO2 via blood pH, and if someone was septic, then we looked at venous O2 blood returning to the heart. High venous O2 indicates shunting – no systemic circulation.
One of the challenges with CO poisoning is that it binds 17x more powerfully than O2, inhibiting gas exchange. Also, the blood remains “red” due to that binding – a symptom of CO poisoning is “cherry red” cheeks…
There is an endogenous source of carbon monoxide, and, this is borderline irony, it’s produced by the breakdown of the heme cofactor of hemoglobin by heme oxygenase.
Obviously it is produced in extremely small amounts, or we’d all be dead.
Also kinda cool: hemoglobin is a big kinda cup-shaped enzyme with the heme group inside, and there’s a histidine residue on the edge of the cup directly in line with the iron in the middle of the heme. Oxygen binds to the heme group at an angle, because of the valence shell electron pair repulsion that leaves significant electron density in two lobes kind of like a dogbone. CO has its electron density linearly with the molecule, so it wants to bind to the iron sticking straight out, where that histidine molecule is conveniently located, thanks evolution! Without that, CO would bind normal to the plane of the heme, hundreds of times more strongly than oxygen, and the small amount of CO we produce through heme degradation would be a significant problem. (Although, as smokers demonstrate, you can accommodate to a significant CO load by overproducing hemoglobin.)
I didn’t know about that particular pathway. Very interesting!
I think he meant CO2…
I did, actually, assume that. :)
“…but gives not clue as to oxygen saturation.” => …but gives no clue as to oxygen saturation.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)