Chosen Category:

Accessibility & Patient Support

Inspiration

When I learned that fewer than 10% of people who have cardiac arrests outside hospitals survive, I couldn't stop thinking about why. It turns out that CPR quality makes all the difference - but here's the problem: when you're doing chest compressions, you have no idea if you're pressing hard enough, going fast enough, or if it's even helping the person. You're basically flying blind in the most critical moments. That's what got me thinking - what if we could give people real feedback on both what they're doing AND what's happening to the patient?

What it does

We built a CPR monitoring system that watches both sides of the situation. On the rescuer's end, there's an accelerometer that tracks how deep and how fast you're compressing - basically telling you "push harder" or "you're doing great, keep going." On the patient's side, we've got ECG and pulse sensors that are actually watching their heart, so you can see if the CPR is working or if something's changing.

Everything runs through an ESP32 that processes both data streams and gives you feedback in real-time. It's like having a experienced paramedic looking over your shoulder, except it's actually measuring everything objectively.

How we built it

I started with a 3-axis accelerometer for tracking the compressions and paired it with medical-grade ECG and pulse sensors. The ESP32 handles all the data processing. The tricky part was the math - I had to integrate the acceleration data twice to get actual compression depth, which sounds simple but gets complicated fast. The ECG analysis runs in parallel, and I wrote algorithms to clean up the signals since, you know, you're literally shaking everything while doing compressions.

Challenges we ran into

The motion artifacts were brutal. When you're pounding on someone's chest, that creates noise in the ECG that looks a lot like actual cardiac activity. Filtering that out without losing the real signal took a lot of trial and error.

Getting accurate depth measurements was harder than I expected too - different surfaces, different body types, it all affects the readings. And the ESP32, while powerful, was pushing its limits trying to process everything in real-time without any lag.

Oh, and figuring out where to actually put the sensors so they don't get in the way of doing CPR properly? That was its own puzzle.

What we learned

Honestly, I learned that biosignal processing is way more complex than I thought. Reading papers about it versus actually implementing it are two very different things. I also got a crash course in CPR guidelines from the American Heart Association and had to figure out how to translate "push hard and fast" into actual numbers and thresholds the system could use.

The biggest takeaway though? Even "simple" medical devices require an insane amount of validation and edge case handling.

What's next

I want to add machine learning to predict how patients are responding and maybe even personalize the feedback. Longer term, this could connect wirelessly to EMS systems so paramedics know what happened before they arrive. I'm also thinking about a training version with detailed analytics - imagine medical students being able to review every compression they did during practice.

There's a lot more to build, but I think we've got something that could actually help save lives.

Built With

Share this project:

Updates