PulseCore — MAX30102 Biometric Pulse & SpO₂ Engine
Electronics
Intermediate
ESP32
Arduino C++
About this project
PulseCore uses the MAX30102 optical biosensor to measure heart rate and blood oxygen saturation (SpO₂) without any third-party library — pure raw I2C register access on an ESP32. Red (660 nm) and IR (880 nm) LEDs inside the MAX30102 illuminate the fingertip; reflected photoplethysmography (PPG) waveforms are continuously read from the sensor's 32-deep FIFO, filtered with a moving-average to strip DC offset, then processed through a peak-detection algorithm for BPM and a ratio-of-ratios algorithm for SpO₂. Results are shown on a 128×64 SSD1306 OLED and served live over an ESP32 Wi-Fi access point — any phone connected to the "PulseCore" hotspot can open 192.168.4.1 to see real-time readings auto-refreshing every second.
What you get
- Complete, commented source code
- Full components list with quantities
- Pin-by-pin wiring guide and connection table
- Step-by-step upload and testing guide
- Project report (.docx, IEEE style)
- Presentation slides (.pptx)