Why my doctor prescribed me open hardware

No readers like this yet.
open on blue background with heartbeat symbol


I recall a senior medical doctor once saying that being a practitioner nowadays is much more difficult than ever before, because when people get diagnosed, they go home to search the web, and often come back with tough questions. Open hardware for physiological computing isn’t making it any easier, but it seems like that’s not a bad thing.

BITalino ECG results showing heart rate

Figure 1: This is how my arrhythmic heart looks—sometimes beating too slow (left), and sometimes beating too fast (right).

Figure 1: This is how my arrhythmic heart looks like… sometimes beating too slow (highlight on the left), sometimes beating too fast (highlight on the right).

Maybe it was caused by work-related stress, or maybe by something else, but the truth is that a couple of months ago my ticker (a.k.a., heart) started to act differently—as in oddball, noticeable, unannounced pounding different. Hoping that the problem would be temporary, I waited a couple of weeks for it to wear off, but it didn’t.

BITalino has become a staple in my stash of DiY hardware tools, and in the days preceding my medical appointment, I thought that, by doing some Electrocardiography (ECG) recordings, capturing a snapshot of my heart acting out would be a cool memento.

Man, was I in for a surprise.

ECG 101

As you probably know, the basic function of the heart is to pump blood and maintain the respiratory and circulatory activity that keeps us going. To achieve that, the heart has a set of cells capable of self-stimulation, acting as a natural pacemaker that triggers each heartbeat. (Read Chapter 6 of Bioelectromagnetism for a detailed description.)

Electrocardiography (ECG) provides a window to how the heart is working, and if anything is not quite right, the problem will likely pop up as an oddity in the ECG trace. Measuring heartbeats with a BITalino is actually pretty easy, although interpretation is a whole different game.

For my memento, I’ve used a BITalino with a sensor placement known as the Einthoven Triangle (Figure 2).

Not surprisingly, even a medical layman like myself could see from the ECG that every now and then my heart sort of skips a beat (left highlighted area in Figure 1), or is too eager to beat (right highlighted area in Figure 1). As I’ve learned, these are called arrhythmias.

Sensor placement to monitor heart

Figure 2: Sensor placement in an equivalent to what is known as the Einthoven Triangle.

Figure 2: Sensor placement in an equivalent to what is known as the Einthoven Triangle

Appointment with a maker-hearted doctor

On the day of my medical appointment, a standard ECG screening (with a couple of minutes worth of data) showed arrhythmias nowhere to be found. Before the doctor sent me on my way, I thought that showing him the memento data I'd collected wouldn’t hurt.

After some quick fiddling with Python, the ECG strip shown in Figure 1 pops up to the doctor. Then after a more detailed examination—including an echocardiogram—the confirmation… I do have an arrhythmic heart, which turns out to be pretty common and nothing to worry about when the heart is structurally sound (as the echocardiogram confirmed in my case).

Nevertheless, the doctor did recommend using more of my BITalino-powered craziness to keep an eye on whether the arrhythmias increase. (In my next article, I'll provide a how-to.)


People are more demanding when it comes to health care, which isn't necessarily bad, and DiY hardware for physiological computing can give a helping hand. In my case, if it weren’t for some Python awesomeness and a few text files, a condition might have gone undetected. Fortunately, the problem was nothing serious this time.

Although this is a true story, DiY hardware platforms, like the BITalino, are mostly educational tools, and they shouldn’t be looked at as medical devices or used for medical diagnosis. If health symptoms appear, always visit a licensed doctor.


This article is part of the Open Hardware Connection column coordinated by Rikki Endsley. Share your stories about the growing open hardware community and the fantastic projects coming from makers and tinkers around the world by contacting us at open@opensource.com.

User profile image.
Hugo Plácido da Silva | Hugo completed a BS in Computer Science, and a MS in Electrical and Computers Engineering. Since 2004, Hugo is a researcher at the IT - Instituto de Telecomunicações, where he’s currently pursuing his PhD. In 2012, he was a visiting researcher at the Computational and NeuroEgineering Labority (CNEL) from the University of Florida.


Nice! I look forward to the how-to, heart arrhythmia runs in my family so it would be great to check something like this out. With how sporadic it can be, it would be nice to have something on-hand that can be used to monitor the heart as needed.

Is your hardware and your method as accurate as the one the physician is used to?

Hugo, cool teamwork with your cardiologist. We also do ECG with the OpenBCI hardware, so I'm totally onboard with the Maker approach. :-)

And... There are some really cool low cost tools for evaluating your HRV Heart Rate Variability. Which can show the balance of the Autonomic Nervous System / Sympathetic / Parasympathetic. Check out Marco Altini's apps, which work with iOS and a chest strap.


HRV as a metric of Heart Health, and biofeedback tool.


William Croft

Hi William,

Thanks for the feedback and for the pointers to the HRV tools, they're really handy.

OpenBCI is pretty cool... you should consider adding BITalino to your toolbox also:

Best regards,
Hugo Silva

"After some quick fiddling with Python, the ECG strip shown in Figure 1 pops up to the doctor." Will you open source this software to allow others to replicate your experience? Medical ECGs use grid gradations of 40ms to allow more accurate measurements (rather than 500ms). Ideally, it would be nice to export the data in FDA format for ECG (an open format).

Figure 1 is really a pretty simple chart created by loading the stored data straight from the file and plotting it with the matplotlib library (http://matplotlib.org/gallery.html).

I'll try to put together a more comprehensive/useful codebase, and make it available to the community.

Many thanks for the post on a very cool use of low-cost hardware!

But are you sure that BITalino is open source hardware? I could not find any technical documentation (circuit diagrams, PCB layouts etc.) or license terms at their web site. Am I overlooking something?

Today I learned something new. I never new that the heart can have some sort of DIY gadget, but I see from the article that the doctor advised the patient to keep using it.

Fantastic! -- there is so much opportunity to decimate medical costs with open source hardware and software.

Great article Thanks !!

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.