0% found this document useful (0 votes)
60 views25 pages

Open Source Pulse Oximeter For COVID-19 - Arduino Project Hub

The document describes an open source pulse oximeter project using inexpensive off-the-shelf components to help monitor symptoms of COVID-19. It uses an Arduino Nano, MAX30102 pulse sensor and OLED display in a 3D printed enclosure powered by USB for around $25. Instructions are provided to assemble the device to measure pulse rate and oxygen saturation at home without medical equipment.

Uploaded by

Phops Freal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views25 pages

Open Source Pulse Oximeter For COVID-19 - Arduino Project Hub

The document describes an open source pulse oximeter project using inexpensive off-the-shelf components to help monitor symptoms of COVID-19. It uses an Arduino Nano, MAX30102 pulse sensor and OLED display in a 3D printed enclosure powered by USB for around $25. Instructions are provided to assemble the device to measure pulse rate and oxygen saturation at home without medical equipment.

Uploaded by

Phops Freal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Sign In (https://www.hackster.io/users/auth/arduino?

current_site=arduino&setup=true&redirect_to=%2Fprojecthub%2Fgatoninja236%2Fopen-
source-pulse-oximeter-for-covid-19-4764c5)

Open Source Pulse Oximeter for COVID-19


© GPL3+ (http://opensource.org/licenses/GPL-3.0)

An easily constructed USB-powered pulse oximeter device that can be built for
around $25 and features an OLED display.

covid19 (/projecthub/projects/tags/covid19)

display (/projecthub/projects/tags/display)
health (/projecthub/projects/tags/health)

heart rate (/projecthub/projects/tags/heart+rate)

smart appliances (/projecthub/projects/tags/smart+appliances)

15,472 VIEWS 7 COMMENTS 61 RESPECTS

COMPONENTS AND SUPPLIES 

Arduino Nano R3
(/projecthub/products/buy/19172
× 1 
?
( (/proj (/projecthub/produ
s=BAhJIhMzMjk2MTAsUHJvamVjd
/ ecthu cts/buy/19172?
AY6BkVG%0A)
p b/pro s=BAhJIhMzMjk2MT
(/projecthub/pro
r ducts AsUHJvamVjdAY6Bk
ducts/buy/19172?
o /buy/ VG%0A)
s=BAhJIhMzMjk2
j 19172
MTAsUHJvamVjd
e ?
AY6BkVG%0A)
c s=BA
t hJIhM
h zMjk2
u MTAs
b UHJva
/ mVjd
p AY6B
r kVG%
o 0A)
d
u
c
t
s
/
b
u
u
y
/
1
9
1
7
2
?
s
=
B
A
h
JI
h
M
z
M
j
k
2
M
T
A
s
U
H
J
v
a
m
V
j
d
A
Y
6
B
k
k
V
G
%
0
A
)

Maxim Integrated MAX30102


Pulse and Heartrate Sensor
× 1 
(/projecthub/products/buy/7152
( (/proj (/projecthub/produ
4?
/ ecthu cts/buy/71524?
s=BAhJIhMzMjk2MTAsUHJvamVjd
p b/pro s=BAhJIhMzMjk2MT
AY6BkVG%0A)
r ducts AsUHJvamVjdAY6Bk
o /buy/ VG%0A)
j 71524
e ?
c s=BA
t hJIhM
h zMjk2
u MTAs
b UHJva
/ mVjd
p AY6B
r kVG%
o 0A)
d
u
c
t
s
/
b
u
y
/
7
1
5
2
2
4
?
s
=
B
A
h
JI
h
M
z
M
j
k
2
M
T
A
s
U
H
J
v
a
m
V
j
d
A
Y
6
B
k
V
G
%
0
A
)
)

DFRobot Gravity I2C OLED-2864


Display
× 1 
(/projecthub/products/buy/3937
( (/proj (/projecthub/produ
0?
/ ecthu cts/buy/39370?
s=BAhJIhMzMjk2MTAsUHJvamVjd
p b/pro s=BAhJIhMzMjk2MT
(/projecthub/pro AY6BkVG%0A)
ducts/buy/39370 r ducts AsUHJvamVjdAY6Bk
? o /buy/ VG%0A)
j 39370
s=BAhJIhMzMjk2
e ?
MTAsUHJvamVjd
AY6BkVG%0A) c s=BA
t hJIhM
h zMjk2
u MTAs
b UHJva
/ mVjd
p AY6B
r kVG%
o 0A)
d
u
c
t
s
/
b
u
y
/
3
9
3
7
0
?
s
=
B
A
A
h
JI
h
M
z
M
j
k
2
M
T
A
s
U
H
J
v
a
m
V
j
d
A
Y
6
B
k
V
G
%
0
A
)

NECESSARY TOOLS AND MACHINES 


3D Printer (generic)

Soldering iron (generic)

APPS AND ONLINE SERVICES 

Arduino IDE 
(https://www.arduino.cc/en/main/s (https://www.arduino.cc/en/
(https://www.ar oftware) main/software)
duino.cc/en/mai
n/software)


Autodesk Fusion 360
(/projecthub/products/buy/2
(/projecthub/pro (/projecthub/products/buy/248? 48?
ducts/buy/248? s=BAhJIhMzMjk2MTAsUHJvamVjdAY s=BAhJIhMzMjk2MTAsUHJva
s=BAhJIhMzMjk2 6BkVG%0A) mVjdAY6BkVG%0A)
MTAsUHJvamVjd
AY6BkVG%0A)
ABOUT THIS PROJECT 

The Challenges of COVID-19


COVID-19 is a disease caused by the SARS-CoV-2 virus that primarily attacks a person's
respiratory system. Some milder symptoms can include fever, aches, and chills, but it can
also lead to more serious conditions such as pneumonia. A person who has pneumonia or
even slight shortness of breath might not know when to go to a hospital, especially as
they start to get even more overwhelmed. This is why I created this open source pulse
oximeter, which can assist in getting people the help they need and get accurate
information about their current condition.

A Bit of a Disclaimer
This device/project is not to be used as an accurate medical diagnostic tool!

The Electronics
MAX30102
128x64 Pixel OLED

 PREVIOUS • •
NEXT 

Arduino Nano
Building the Device Step-By-Step
Here is a step-by-step walkthrough of how to build this project.

1. Print Out and Clean Parts


Begin by downloading each piece from the attachment section on this project and
loading it into your slicer of choice. I used an infill of around 70-80% and medium
supports, all with PLA. After they were done printing, I removed the supports and did
some light sanding to ensure they all fit together nicely.

Fusion 360 Design

 PREVIOUS • • • •
NEXT 

2. Solder the Electronics


The entire device is designed around an Arduino Nano that is mounted on a piece of
44mm by 30mm perfboard. First, wires get soldered to the VIN, GND, SDA, and SCL pins
of the sensor and then run underneath the bed piece to the Arduino Nano.

Next, the connector for the OLED is attached to the Nano and then run up to the display
itself.

And finally, the entire electronics assembly is slid into the housing and secured with a
couple of 3mm screws.

3. Assemble the Device


3. Assemble the Device
After the electronics have been inserted, simply attach the OLED screen to the top piece
and secure it to the rest of the chassis with a couple of 3mm screws. You can test its
motion by gently articulating the lid up and down.

 PREVIOUS • •
NEXT 

4. Uploading the Sketch


The included sketch performs a couple of actions to display the user's current heartrate
and oxygen saturation. To upload it, simply install the required libraries and select
Arduino Nano from the board list in the Tools menu and click Upload.
As for the sketch itself, it first initializes the OLED and MAX30102, whilst reporting any
errors that might arise. Next, it reads in 100 values to calibrate the sensor and begins
displaying them. The device then enters a loop where it reads in 25 new values and
computes a moving average with them. Finally, it checks if the values are valid and prints
them to the screen if they are.

5. Using It
To use the pulse oximeter, place your fingertip over the sensor and gently close the top
lid. Then plug in a power source and simply wait until you see data being displayed.

 PREVIOUS • • •
NEXT 

CODE 

Pulse Oximeter Code C/C++


  (/PROJECTHUB/CODE_FILES/438303/DOWNLOAD)
2
1 /*
3 Hardware Connections (Breakoutboard to Arduino):
4 -5V = 5V (3.3V is allowed)
5 -GND = GND
6 -SDA = A4 (or SDA)
7 -SCL = A5 (or SCL)
8 -INT = Not connected
9
10 The MAX30105 Breakout can handle 5V or 3.3V I2C logic. We recommend powering th
11 but it will also run at 3.3V.
12 */
13
14 #include <Wire.h>
15 #include "MAX30105.h"
16 #include "spo2_algorithm.h"
17 #include "SSD1306Ascii.h"

CUSTOM PARTS AND ENCLOSURES 

B
o
t
t
o
m
S
h
e
l
DOWNLOAD (HTTPS://HACKSTERIO.S3.AMAZONAWS.COM/UPLOADS/ATTACHMENTS/1097772/BOTTOM_PIECE_L4
l

This Sketchfab 3D model has not been published yet.


F
r
o
n
t
+
B
e DOWNLOAD (HTTPS://HACKSTERIO.S3.AMAZONAWS.COM/UPLOADS/ATTACHMENTS/1097773/FRONT_AND_BED
d

This Sketchfab 3D model has not been published yet.


T DOWNLOAD (HTTPS://HACKSTERIO.S3.AMAZONAWS.COM/UPLOADS/ATTACHMENTS/1097774/TOP_PIECE_1HM9
o
p
P
i
e
c
e

This Sketchfab 3D model has not been published yet.

SCHEMATICS 

S DOWNLOAD (HTTPS://HACKSTERIO.S3.AMAZONAWS.COM/UPLOADS/ATTACHMENTS/1097771/PULSEOXIMETER_S
c
h
e
m
a
t
i
c

COMMENTS 

Please log in (/projecthub/users/sign_in?


id=329610&m=project&reason=comment&redirect_to=%2Fprojecthub%2Fgatoninja236
%2Fopen-source-pulse-oximeter-for-covid-19-4764c5%23comments) or sign up
(/projecthub/users/sign_up?
id=329610&m=project&reason=comment&redirect_to=%2Fprojecthub%2Fgatoninja236
%2Fopen-source-pulse-oximeter-for-covid-19-4764c5%23comments&source=popup) to
comment.

DC (/projecthub/dcdenison)
4 days ago
(/pr
Great
oject project! Elegant design.
hub/
dcde
niso
n) MarkusCsak (/projecthub/MarkusCsak)
4 days ago
(/pr
This
ojectis a great project however, the link to the Maxim Integrated MAX30102 High-
Sensitivity
hub/ Pulse Oximeter appears to be broken or not up.
Mark
usCs
ak)
Arduino “having11” Guy (/projecthub/gatoninja236)
4 days ago
(/pr
weird.
oject I'll try to fix it
hub/
gato
ninja
236) Arduino “having11” Guy (/projecthub/gatoninja236)
4 days ago
(/pr
Should
oject be fixed now
hub/
gato
ninja
236)
Fred Murphy (/projecthub/fred27murphy)
3 days ago
(/pr
That's
oject a nice project, but at $25 it's not any cheaper than medically approved devices. My
wife
hub/ is a doctor and her surgery had just ordered a load of these. They cost £17 each,
which
fred Google tells me is $21.21.
27m
urph
y)
Arduino “having11” Guy (/projecthub/gatoninja236)
3 days ago
(/pr
It's
ojectnot meant to compete with mass-market alternatives. This is for people who
can't
hub/ get access to them, such as when there's a shortage.
gato
ninja
236)
Anders Jackson (/projecthub/anders-jackson)
2 days ago
(/pr
DIY
ojectprojects are usually not lower in price then buy one pre-build by companies.
But
hub/it gives you satisfaction of building it yourself and you usually learn something
to
andebuild them.
rs-
So yes, you are right. No, it isn't a totally valid critique of the project.
jacks
1 thank
on)

AUTHOR

(/projecthub/gatoninja236)

Arduino “having11” Guy (/projecthub/gatoninja236)


38 PROJECTS 484 FOLLOWERS

FOLLOW (/PROJECTHUB/USERS/SIGN_UP?ID=46190&M=USER&REASON=FOLLOW&REDIRECT_

PUBLISHED ON

April 8, 2020

 RESPECT PROJECT (/PROJECTHUB/USERS/SIGN_UP?ID=329610&M=ARTICLE&REASON=RESPECT&R...

 WRITE A COMMENT

 Share

MEMBERS WHO RESPECT THIS PROJECT

(/projecthub/ankurverma608) (/projecthub/adambenzion) (/projecthub/draik-x)

(/projecthub/draakusa) (/projecthub/bobertgray) (/projecthub/yasaka)

(/projecthub/walfranbonilla) (/projecthub/rakesh15)
and 53 others
SEE SIMILAR PROJECTS
YOU MIGHT LIKE

SIMILAR PROJECTS YOU MIGHT LIKE

(/projecthub/jeffreymagee/attiny85-pulse-oximeter-and-photoplethysmograph-
e3f907?ref=similar&ref_id=329610&offset=0)

ATtiny85 Pulse Oximeter and Photoplethysmograph


(/projecthub/jeffreymagee/attiny85-pulse-oximeter-and-
Project in progress by Jeff Magee (/projecthub/jeffreymagee)
13,951 VIEWS 12 COMMENTS 75 RESPECTS
13,951 VIEWS 12 COMMENTS 75 RESPECTS

(/projecthub/gatoninja236/attiny85-mini-arcade-snake-a0fc56?
ref=similar&ref_id=329610&offset=1)

ATtiny85 Mini Arcade: Snake (/projecthub/gatoninja236/attiny85-


mini-arcade-snake-a0fc56?ref=similar&ref_id=329610&offset=1)
Project tutorial by Arduino “having11” Guy (/projecthub/gatoninja236)
3,354 VIEWS 7 COMMENTS 22 RESPECTS

(/projecthub/roni-bandini/coronavirus-doorbell-114b3f?
ref=similar&ref_id=329610&offset=2)
Coronavirus Doorbell (/projecthub/roni-bandini/coronavirus-
doorbell-114b3f?ref=similar&ref_id=329610&offset=2)
Project showcase by Roni Bandini (/projecthub/roni-bandini)
11,247 VIEWS 4 COMMENTS 29 RESPECTS

(/projecthub/ohoh136/pill-me-please-the-automated-pill-packaging-machine-49a243?
ref=similar&ref_id=329610&offset=3)
Pill Me Please - The Automated Pill Packaging Machine!
(/projecthub/ohoh136/pill-me-please-the-automated-pill-
packaging-machine-49a243?ref=similar&ref_id=329610&offset=3)
Project tutorial by KevinZhangHK (/projecthub/ohoh136)
4,709 VIEWS 0 COMMENTS 23 RESPECTS

(/projecthub/theparticleguy/alexa-powered-arduino-kitchen-assistant-d481d8?
ref=similar&ref_id=329610&offset=4)

Alexa Powered Arduino Kitchen Assistant


(/projecthub/theparticleguy/alexa-powered-arduino-kitchen-
assistant-d481d8?ref=similar&ref_id=329610&offset=4)
Project tutorial by TheParticleGuy (/projecthub/theparticleguy)
4,067 VIEWS 1 COMMENT 16 RESPECTS

(/projecthub/protocentral/pulse-transit-time-for-cuff-less-bp-from-ecg-and-ppg-
06c229?ref=similar&ref_id=329610&offset=5)
Pulse Transit Time for Cuff-less BP from ECG and PPG
(/projecthub/protocentral/pulse-transit-time-for-cuff-less-bp-
from-ecg-and-ppg-06c229?ref=similar&ref_id=329610&offset=5)
by Team Protocentral (/projecthub/teams/protocentral)
11,108 VIEWS 6 COMMENTS 28 RESPECTS

(https://www.arduino.cc)
Powered by
(https://www.hackster.io)

You might also like