Easy-Peasy Heart Monitor

If you’re at all into medical hacks, you’ve doubtless noticed that the medical industry provides us with all manner of shiny toys to play with. Case in point is a heart-monitoring IC that’s so brand new, it’s not even available in all of the usual distributors yet. [Ashwin], who runs a small prototyping-supplies company, ProtoCentral, has been playing around with the new MAX30003 ECG chip, and the results look great.

The punchline is that the four-to-five dollar chip does everything for you, including analog filtering, wander removal, and even detecting the pulse rate. Using the chip is simple: you plug in two electrodes on one end, and you get the waveform data out over SPI on the other, with little or no work to do on the microprocessor side. The Arduino in the examples is just passing the SPI data straight to the laptop, with no processing going on at all.

[Ashwin] is selling these as breakout boards, but everything is open source, from the hardware to the GUI, so check it out if you’re interested in building your own. In particular, the circuit is just a voltage regulator and five volt level shifter.

Everything we know about electrocardiography projects, we learned from this presentation, and it looks like the devil is in the (many) details, so it’s nice to offload them to custom silicon whenever possible. We just think it’s awesome that we can scoop up some of the giant medical industry’s crumbs to play around with.

33 thoughts on “Easy-Peasy Heart Monitor

  1. OMG – Not opto-isolated. Quite unsafe if used carelessly.

    Nice to have it all in one chip and a breakout board, but this is reckless, especially presenting it as a kit. If you going to lower the skill entry make the pre-cautions better, not just a throw away line about “This is a not a medical certified device”

    [Disclaimer: I am not you engineer – Dont take random advice from an engineer off the internet]

    1. “OMG – Not opto-isolated. Quite unsafe if used carelessly. ”

      I have worked for many years in medical equipments maintenance, including ECG monitors and recorders.
      I don’t see any danger here except that ground loop could spoil the heart signal. It all depend on the quality of the differential amplifier inputs and the electrodes used. As it is an IC to be used in medical equipments I guess the engineers who designed it knew what they where doing. Referring to the photo we can observe some noise in the signal but as it is not to be used for diagnosis it is a quite good signal. I’ve seen worst than that in homemade ECG monitors.

      1. I admit i didn’t read the article, but i suppose this thing works using electrodes on the chest? In this case you REALLY not want your computer blowing up and sending like 230V on these electrodes. Yes, the risk is probably reaaallllyyy small, but it’s not 0. I had an electro-encephalogramm (how is this spelled? I mean a lot of small contacts on the head to check the brain) some time ago, the tool they used was connected to the PC via some USB-isolator-thingie.

        1. That’s why this module is not “for dummies” but for hardware developers, who uses good power sources or batteries to power 3V3 modules. Last time I burnt a module its been like 30 years ago and I did it because I inverted the power source polarity…Really… the risk of having an accident here is actually so small, that you should be worried about some alien invasion…But if you are planning to give some modules to some kid to play with…just make them use batteries…problem solved!

      2. Noise is just one issue. Isolation from the mains is critical (safety issue), as you need to comply with IEC 60601 if you expect to get a 510K approved or get a CE mark. If you are making a device for the consumer market, then you can get away with more (i.e, a battery powered product).

        1. Connecting it to a laptop make it isolated from main. Those power adapter output about 20volt DC (no danger). The adapter ensure isolation via transformer and opto-coupler.

          1. Yes, laptop power bricks tend to be isolated. You wouldn’t want to use this with a desktop computer though, where the chassis and signal ground are connected to what you hope is power neutral but isn’t always wired right in the building despite building codes.

      3. It says in the description “The MAX30003 is a complete, biopotential, analog front-end solution for wearable applications. It offers high performance for clinical and fitness applications, with ultra-low power for long battery life”
        So this sounds to me like the chip is designed to operate from a battery, completely isolated.

    2. Probably be easiest to put an opto isolator on any external computer connection, then just run your ECG box off a battery. Put in a low-power indicator so the users know when to change it. You could get the power usage pretty low, and fit it with a real off-switch for when it’s not in use. That’d be a practical and easy way of doing it.

  2. Does it still work if you use calibrated fleshy test probes as the electrodes?

    In a more serious note, how hardened is this item exactly? It spits out SPI data so at least there is potential for checksums and such (if the designer implements them) but what about the hardware too? These are designed for fairly important medical data use, presumably. How resistant are they to outside errors such as radiation (everything from random RF noise to actual gamma rays) or voltage fluctuations or thermal noise, etc?

    Most of the electronic medical items I have worked with are fairly robust overall and tend to be well engineered for the most part (*cough* https://en.wikipedia.org/wiki/Therac-25) but I wouldn’t say they are exactly devoid of recalls for even fairly mundane screw ups either.

    “The accidents occurred when the high-power electron beam was activated instead of the intended low power beam, and without the beam spreader plate rotated into place. Previous models had hardware interlocks in place to prevent this, but Therac-25 had removed them, depending instead on software interlocks for safety. The software interlock could fail due to a race condition. The defect was as follows: a one-byte counter in a testing routine frequently overflowed; if an operator provided manual input to the machine at the precise moment that this counter overflowed, the interlock would fail.

    The high-powered electron beam struck the patients with approximately 100 times the intended dose of radiation, delivering a potentially lethal dose of beta radiation. The feeling was described by patient Ray Cox as “an intense electric shock”, causing him to scream and run out of the treatment room. Several days later, radiation burns appeared and the patients showed the symptoms of radiation poisoning; in three cases, the injured patients later died as a result of the overdose.”

    1. No such danger with ECG monitoring. And ECG amplifier is only a differential amplifier it doesn’t emit any radiation of any sort. The only problem with ECG is electrical interference that spoil the heart signal. The 60 hertz from power line is of particular concern has it is in heart beat rate range.

      1. I am not as worried about it emitting radiation as I am about it receiving radiation (EM or otherwise) and then adversely affecting the signal or equipment. As in electrical or other interference that spoils the heart signal due to adverse impact on the physical hardware.

    2. I think one of these fatalities occurred in Tyler, Texas where I worked in the ICU at the time. Later I worked in the CVICU @ Bryan in Lincoln, NE for 10 years. The signal is noisy but looks almost good enough for diagnosis. The P waves may be hard to see precisely but the ST segment (the bump after the spike) is good enough.

  3. Wow – really needs a proofreader. My favorite so far is.

    “This means that R-R intervals can be indirect “markers” for phycological activity.”

    So, it tells how much algae you have?

    Displaying instant heart rate seems kind of pointless. What would be much more interesting would be to display heart rate averaged over a longer time.

    For instance, those with some forms of irregular heart rate (e.g., atrial fibrillation (afib)) need to check their heart rate by counting beats for a minute. (A bit of a chore.) Almost none of the commercial heart rate monitors will work with afib, they generally either get confused, or they only measure for a few seconds, so give wildly varying, un-useful results.
    So those with afib have to use a watch to time for a minute, and count the beats themselves.

    The technology certainly exists to build a monitor which would count the beats for a minute, just need to find a sensor
    that can handle the irregularly irregular timing of the beats (i.e., not filter out beats because they aren’t in a regular pattern),
    and then count the beats for a minute. That would make a useful device.

    1. Thanks for the “phycological activity” remark, yeah we really need a proof reader. Would be cool to have something to count algae too.

      As for the heart rate, normal, off-the-shelf ECG monitors take care of the average heart rate over a period of time, but real-time heart rate is useful for stuff like heart-rate variability. This is the main reason why we were excited to use this chip and not deal with the algorithm to do it.

      1. What off the shelf monitor available to consumers will average heart rate for 1 minute? (I would love to know, and pass it on to my cardiologist.)
        The ones I have seen use a much shorter averaging time, making them useless for irregular heart beats like afib.

      2. I purchased the most recent version of this board and installed the Arduino and Processing sketches. Would like to be able to print RR interval to a CSV file, but the Processing sketch provided by Protocentral is pretty complicated, and I have not been able to figure out where the additional code for printing to file would need to go. Has anyone managed to do this?

  4. Thank guys, for all the comments. I completely agree that isolation is an absolute must whenever you connect anything from your body to a device that works on Mains. The safest was to try this out is by powering the Arduino from battery, or at the least power the Arduino from the laptop’s USB port (that is not connected to mains).

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.