กลับไปหน้ารวมไฟล์
homemade-pulse-oximetry-display-the-h-pod-3952ce.md

The title of my project is called “The H-P.O.D.”. The main function of the application is to measure and record the user’s pulse/heart rate as well as SPO2 Blood-Oxygen Saturation levels. After recording X amount of samples, the device would average those values and display the data onto a 16x2 I2C LCD screen in real time. This project was inspired by a recent interest in biomedical engineering & technologies such as prostheses and implantable cardioverter defibrillators, pacemakers, glucose monitor reading devices, etc. Although this pulse-oximetry project is quite impressive, it is not recommended for official medical use.


🛠️ เจาะลึกเบื้องหลังการทำงาน (Deep Dive / Technical Analysis)

A basic heart rate sensor just counts pulses. The Homemade Pulse Oximetry Display dives into advanced physics (Beer-Lambert law). By manipulating two entirely different wavelengths of light, the Arduino can literally calculate exactly how much oxygen is chemically bonded to the hemoglobin molecules inside your bloodstream in real-time.

The Dual-Beam Optics (MAX30102)

The MAX30102 I2C Module is the core engine of this project. It features two extreme LEDs (Red at 660nm, and Infrared at 880nm).

  1. Oxygenated blood (from the lungs) wildly absorbs Infrared light while letting Red light pass right through.
  2. Deoxygenated blood (returning to the heart) wildly absorbs Red light while letting Infrared light pass through.
  3. The incredibly complex chip fires the Red LED, takes a reading, shuts it off, fires the IR LED, and takes a reading. It does this 100 times a second!

The AC/DC Mathematical Ratio (SpO2)

The Arduino processor reads the massive data payloads from the I2C bus.

  1. The raw light signals are split into two components mathematically: AC (the pulsing arterial blood) and DC (the static tissue, bone, and venous blood).
  2. The Arduino calculates the R-Value. R = (AC_Red / DC_Red) / (AC_IR / DC_IR)
  3. A massive, complex calibration table inside the C++ code parses that ratio block into a percentage: SpO2: 98% Oxygen Saturation!.
  4. If the number drops below 90%, the Arduino recognizes severe hypoxia and commands an alarm buzzer to scream!

The Hardware Rig

  • Arduino Mega or ESP32: Highly recommended. This project uses heavy mathematical libraries that will max out an Uno's internal SRAM instantly.
  • MAX30102 Pulse Oximeter and Heart-Rate Sensor.
  • A 1.3" I2C OLED Display: Required to draw the scrolling, high-resolution electrocardiograph (ECG) wave visually.
  • Velcro Finger Strap: Holding the sensor perfectly flush against the capillary bed is the hardest, most critical part of this build.

ข้อมูล Frontmatter ดั้งเดิม

title: "Homemade Pulse Oximetry Display (The H-P.O.D.)"
description: "A convenient way of measuring BPM and blood-oxygen saturation levels (SPO2) from the comfort of your own home."
author: "furqanahsan"
category: ""
tags:
  - "arduino"
  - "pulse oximeter"
  - "heart rate"
  - "health"
  - "covid19"
  - "monitoring"
views: 4764
likes: 1
price: 2450
difficulty: "Intermediate"
components:
  - "1x MAX30102 High-Sensitivity Pulse Oximeter and Heart-Rate Sensor for Wearable Health"
  - "1x I2C 16x2 Arduino LCD Display Module"
  - "1x Soldering iron (generic)"
  - "1x Arduino UNO"
  - "1x Breadboard (generic)"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "f1b99fdb4e66cffcf9be8ae2bdecb193d6218d203ee4caa42587bd1f569cf85e"
encryptedPayload: "U2FsdGVkX188MK17c3kN1ZEh1ZXsnqsTg83kRrPg+pcnGtVYsobfdhlAcVdRLbwk6k/szwi+iz48u5v/cN8Ab4VRR4HrAUuiaD7jwovQgkI="
seoDescription: "Build your own Homemade Pulse Oximetry Display to measure BPM and SPO2 levels conveniently from home using Arduino."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/homemade-pulse-oximetry-display-the-h-pod-3952ce_cover.jpg"
lang: "en"