DIY Monitor Keeps Your Heart in Check
Milos Rasic developed an open source heart monitor that captures ECG, PPG, and blood pressure signals with the help of a Raspberry Pi Pico.
One of the biggest priorities in maintaining overall wellness is heart health. Healthy heart function is essential for maintaining energy levels, cognitive performance, and even emotional well-being. Poor heart health can lead to serious conditions like hypertension, heart disease, and stroke, which are among the leading causes of death worldwide.
An important component in maintaining heart health involves keeping an eye on your heart’s function. Regular monitoring of a number of heart-related metrics can help medical professionals to spot problems early and initiate treatment protocols before things get out of hand. Monitoring should be done using instruments that have been approved for use by the relevant regulatory agency in your area, but that doesn’t mean we can’t make our own monitor for fun and education.
And that is exactly what Milos Rasic did for a master's thesis. In particular, Rasic built an open source cardiography signal measuring device that can measure a number of metrics related to heart health. It is capable of capturing arm cuff air pressure, as well as electrocardiograph (ECG), phonocardiograph, and photoplethysmography (PPG) signals. These measurements give insights into one’s blood pressure, their heart’s electrical activity and the sounds it makes, and changes in blood volume.
The device’s case is 3D-printed from PLA material, with colored inlays that are glued manually. It uses GX12 connectors at the back, along with Type-C and Type-B USB ports for charging and data transfer, though charging functionality remains under testing. Inside, it houses a custom 4-layer PCB, an 18650 Li-ion battery, and a pneumatic system for blood pressure measurements.
The electronics are controlled by a Raspberry Pi Pico W microcontroller, embedded on the custom PCB, which coordinates sensor data collection and device operation. Notable features include isolated USB communication for safe PC connections, a 3V3 buck-boost regulator for stable operation during battery discharge, and a 6V boost regulator to power the air pump and valves. Pressure sensors and amplifiers, like the INA826 instrumentation amplifier, are also integrated, allowing high-precision readings of pressure signals essential for accurate blood pressure measurements. Furthermore, the PCB includes a stethoscope signal conditioning circuit and the AD8232 ECG module for three-electrode ECG signal acquisition.
The monitor includes a PPG clamp, printed from PLA, that utilizes a MikroElektronika Oxy 5 Click sensor to measure heart rate and blood oxygen saturation. A stethoscope integrates a piezo microphone into the ear tube, enabling the capture of Korotkoff sounds during blood pressure measurements. Finally, a calibration apparatus with adjustable pressure syringes ensures the accuracy of the arm cuff pressure sensor, which is calibrated at multiple points to confirm linear response up to 300 mmHg.
To date, only a cursory comparison of some of the metrics against the results of commercial equipment has been conducted. These results were quite positive, but there is much more work to be done before the monitor can be trusted for real-world use. But for educational purposes, this project is second to none. If you would like to dig in further, be sure to check out the detailed project write-up. Everything has been released under a permissive GPL-3.0 license, so you can use Rasic’s work as a springboard for your own experiments.
R&D, creativity, and building the next big thing you never knew you wanted are my specialties.