Ever since my grandfather found out that he suffers from several heart conditions (arrhythmia, weak heart valves) I've been determined to find a way to prevent bad things from happening to people who have an underlying heart condition. Cardiovascular diseases remain the leading cause of death across the world. This motivated me to design something small and comfortable to wear that could help people everywhere. Precision is the key here, hearts are complicated machines and a simple ECG scan can show many things about how they work and whether they work properly.
One of my friends came over last saturday for a beer. Jokingly, I asked him for an ECG ( I love data ). So...I pulled out some electrodes and was shocked. He knows of an underlying issue with his heart, but nobody knew it got a little worse. He's now off to a cardiologist. Gosh...
Hey, guys! While thinking of heart problems, I realised that a very valuable piece of information to get from someone's body would be the SpO2 (oxigen saturation). Oxigen saturation is very helpful in the analysis of a heart condition. Normal levels are 95-100%, anything below 90% is considered hypoxemia (meaning low oxigen saturation in the bloodstream). Moreover, by measuring the SpO2 and the SvO2 (venous saturation) we can see whether the organism is absorbing enough oxigen or not. SvO2 values below 60% indicate impropper absorbtion/ low supply of oxigen to muscles, tissues and more.
I've seen various pulseoximeters on hackaday before, but I would really want to devellop one that could also measure SvO2 and that could do it from the wrist. There are quite a lot of blood vessels in that area and they are also quite close to the surface. So, getting SpO2 and SvO2 shouldn't be that hard, at least in theory.
Finally, one more important adition would be a breathing monitor. It would work in much the same way as the ECG front-end itself. I really want to avoid having to strap tight things to the chest. Muscle activity in the diaphragm would indicate breathing regularity and speed very nicely. Now, I just need to get some more cash in order to get more stuff=)).
Look what we got. Real-time data acquisition from an Oscilloscope. We got a Tek TDS2024B on loan for a couple of days. We hooked up the scope to a PC and got the scope to plot the data in almost real time on the PC. This also enabled us to get really nice data out which we'll use to process off-line. This is the resulting graph. Looks nice, right? Although it looks noisy, there's more than enough data to allow for some really hardcore filtering and signal processing. If anybody knows someone from Keysight/Tek/Teledyne who could help us with some test gear, that would be great. After all, we've done so much with so little so far.
Hey, guys. I've just got a set of electrodes for this thing. Quite hard to get but i've managed to get some (10). They're disgusting to wear (wet and squishy, they feel like leeches stuck to you and do a great job of waxing all available hair-ouch). But they're really good. REALLY good. I'm considering a conductive gell insert for the T-shirt, but these should do just fine for now. I'll leave you with this glorious, ruler straight, noise free ECG line
The best one we got before doesn't even come close to this.
And, considering the unfiltered ECG line bellow, this looks AMAZING
I was having a friend over for a cup of coffe when I realized I could do an ECG on him. He's a bit overweight and has a slightly bad heart. He has some Mitral Insufficiency, exactly the disease my grandfather had (until he got reconstructive surgeri for his heart valves). It comes and goes but we did see a negative peak of the QRS segment. THIS IS HUGE. It means that this device can detect cardiovascular disease.
Also, it seems that I've found a way to characterise these problems and devellop an algorythm to analyze the output from the ECG.
First of all: ECG patterns are very rhythmic. The timings are very strict and don't vary with the number of beats per minute or with blood pressure. So a table of timing values could be kept in a non-volatile memory (flash) and compared with the current heartbeat. The heartbeat timings could be easily found with interrupt conditions. Either rising or falling edges could be traced in order to find the specific parts of the Pulse complex. These parts would be timed and correlated with eachother as ratios rather than correlating them with a set of timing values as I've said vefore. The stored timing values would be usefull for determining said ratios for a healthy heart. If the readings differ with more than, say, 5%, an alarm would be triggered.
By the way, this thing will be able to fit in a box 30mm by 30mm by 15 along with a bluetooth module and LiPo battery. All that remains is to start the work on a box, the T-shirt and the code.
Noise is still an issue, but even a simple RC filter does a lot of good. Unfortunately, we are still missing the electrodes for the ecg but with a lot of pressure (and pain) we managed to get some readings ;) This is without the filter and with some saturation problems.
This is with a simple 10 uF-330 Ohm resistor rc lowpass filter
Notice there's a small drop in the noise. The scope picks up this way better. Some hardcore software filters should do a lot better, coupled with better electrodes. Anyway, for such a rudimentary setup, it's quite alright.
I've tried using discrete INS-amps but that din't go very far, my local parts distributor gave me the wrong IC, and on a student's budget, that's not good. I've ordered a Sparkfun Dev-Board for the AD8232 ECG front-end which should be here soon. Meanwhile, I'm thinking about ways to interpret the signal. I was thinking of using pulse-shape analysis (like in gamma spectrometry). An FPGA such as the Spartan 6 or the Zinq would have more than enough horsepower to do that... remains to be seen. Have to dig out the Mojo V3. Also, i need to select a Fast, 12-bit ADC to do the data acquisition from the Front-End. Everything has to be pretty low-power. Long battery life is still a necessity. This just happened. Analog Devices have a mix of ECG Front-end and ADC in one package. This sound like a way better solution. http://www.analog.com/media/en/technical-documentation/data-sheets/ADAS1000-3_1000-4.pdf