Pulse Oximeter with Raspberry Pi + MAX30102
Print Profile(1)

Description
This Raspberry Pi-based pulse oximeter measures real-time heart rate (BPM) and blood oxygen saturation (SpO₂) using the MAX30102 sensor module. Readings are displayed on a 16x2 LCD and the system includes physical buttons to start readings and shut down the Pi safely — no keyboard or monitor required after setup. Designed for biomedical hobbyists and students, this project blends embedded Linux, Python scripting, and biosignal processing into one elegant build.
I wanted to test my ability with a PPG sensor because I was curious on how the sensor worked. Enjoy!!
🎯 Key Features
- 📊 Real-time display of BPM & SpO₂ on an LCD
- 🧠 Uses Doug Burrell’s calc_hr_and_spo2() algorithm for accuracy
- 🧵 Fully wired using GPIO on Raspberry Pi 4
- 🖲️ Start readings via a physical button (GPIO 21)
- 🔌 Safe shutdown via dedicated button (GPIO 4)
- 🐍 Python virtual environment and systemd autostart for headless operation
- 💾 Designed with SD-card flashing and system configuration in mind
- 🛠️ Includes custom LCD display script and button launcher services
🗂 Materials Used
- Raspberry Pi 4
- MAX30102 Pulse Oximeter Sensor Module
- LCD 16x2 display (with contrast pot and optional resistors)
- Jumper wires + breadboard
- Power supply
- Start & Shutdown pushbuttons
💻 Software Stack
- Raspberry Pi OS Bookworm
- Python 3, smbus, RPLCD, numpy, scipy
- Custom Python scripts for sensor data handling and GPIO button logic
- Systemd services for boot-time startup
📎 Full Wiring Diagrams, Install Instructions, and Source Code:
👉 Google document for directions
Please contact me if you have any issues.
License
You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.










Comment & Rating (0)