HeartyPatch: A single-lead ECG-HR patch with ESP32

HeartyPatch is a fully open-source, IoT connected, BLE enabled heart-rate variability & ECG patch with great accuracy

Similar projects worth following
ECG monitors are plenty, so how is this one different? We're glad you asked, read on to find out more. HeartyPatch is a completely open-source wireless single-lead ECG "patch" which can calculate heart-rate, R-R intervals and most importantly, Heart-rate variability (HRV). Connect this data to the web of things through WiFi/Bluetooth, or also connect to an app on your phone, and you've got your very own, smart, cloud-connected HRV monitor.

HRV is the trend at which the heart-rate, or more specifically, the time between two peaks on your ECG, changes. This change in R-R interval, and ultimately the heart-rate can mean a lot of things. For starters, it gives a good indicator of the health of your heart, one step further than just plain old heart-rate. The social implications of such a product would be enormous, think of a device that can predict heart attacks !!!

Once we laid eyes on the MAX30003 single-lead ECG monitoring chip from Maxim, we were excited to make heart-rate variability available at a much lower cost that "Professional" patches. This led to development of the MAX30003 single-lead ECG monitor breakout board from ProtoCentral.

One thing led to another and here we are with HeartyPatch, a single-lead ECG and R-R intervals/heart-rate monitoring patch. ECG "patches" have long been a dream and a real need for cardiac risk assessment as well as for high-accuracy fitness and health monitoring.

Chest-based ECG has always been the standard for measurement of ECG, especially R-R intervals and HRV. Although optical sensors are available for HR measurement, their accuracy is questionable.

HeartyPatch is completely open-source projects with all schematics, layout, firmware and application software that will be made available for download from the links given further down in this page.


  • Single-lead ECG with two electrodes
  • On-board connectors for standard disposable electrodes (eliminates the risk of using custom pads).
  • On-board human body temperature sensor (touching the skin)
  • On-board 3-axis accelerometer for position assist and fall/movement detection
  • Uses ESP32 WiFi/BLE SoC
    • Use case for BLE: In a fitness application, data is continuously sent to a the user's smartphone and then optionally to a cloud
    • Use case for WiFi: In a home-based monitoring set-up, data is sent to a cloud using WiFi
  • Li-Ion battery and charging system on the board

All hardware, software, firmware and all other material will be made available open-source once we have some stable code and hardware platform.


HeartyPatch schematic

Adobe Portable Document Format - 893.93 kB - 04/08/2017 at 18:26

Preview Download


HeartyPatch Schematic (EAGLE)

sch - 1.72 MB - 04/08/2017 at 18:26

See BOM Download

View all 2 files

  • We now have an enclosure

    Ashwin K Whitchurch2 days ago 0 comments

    One of the main things that we noticed and which is reasonable is that people do not want to stick a circuit board to their chest. So, we set out make a simple enclosure. These have been the results of our efforts so far. These are 3D printed on a Makerbot using PLA. We will come up with a more elegant enclosure in the future. Our goal here was to make the enclosure as thin as possible so as to not obstruct the user's mobility too much.

    Red because it was nice :) .

    We have holes on the back for the two electrode snap connectors.

    The two halves snapped together. It's still quite thin. Shown here is the USB port connector used for battery charging and debugging.

  • HeartyPatch ECG: First tests

    Ashwin K Whitchurch3 days ago 0 comments

    We just finished our testing with the ECG signal quality and we are happy to say that we got some pretty good signal quality. The below picture shows the heartyPatch being tested with a desktop application. For the sake of testing, we set up a TCP socket-based server on the heartyPatch's ESP32 itself and connected to the server using TCP client running in processing. While this may not be the best way to utilize battery power, it allowed to test for things like motion artifacts in real-time.

    We made a video of the several test steps that we went through and the results of the testing. Check it out below.

    We're quite satisfied with the results at this point, although some level of digital filtering would be required to remove both the remaining baseline wandering and the occasional random noise. Next steps would be (what we're working on currently):

    • Smartphone/Desktop app for BLE connection and data display
    • Transferring the data to AWS (only HR and R-R interval data)

  • Boards are here, yay !!!

    Ashwin K Whitchurch04/17/2017 at 18:30 0 comments

    The HeartyPatch boards arrived today and assembled by us, fresh from the oven. The top layer of the board contains all the electronic components and the battery (not shown in this picture). We also have an accelerometer to detect position. This will be used in the firmware for fall/stride detection, as a pedometer and also for proper placement.

    The back of the board contains standard "snap-ons" for connecting standard ECG electrodes, no special electrodes or material required. We looked at various electrode arrangements including belt-based ones, fabric based electrodes and everything else. Finally we decided to settle on standard ECG electrodes because they are:

    • Safe and sterile to use
    • One-time use only, so lesser risk of contamination
    • Cheap, at about USD 10 cents a piece
    • Easy-to-use, just stick and go !

    We've also got a digital body temperature sensor on the bottom side of the board, which comes into contact with the body, reading skin temperature changes.

  • Concept validation and testing

    Ashwin K Whitchurch04/17/2017 at 18:17 0 comments

    Basic concept validation done using the Kalam32-DEV ESP32-based dev board, ProtoCentral's MAX30003 breakout board, a breadboard and whole bunch of wires ! For now, we just tried it out through the UART of the ESP32. IoT and networking functionality yet to come.

    We got some fairly acceptable ECG, for an unfiltered one.

View all 4 project logs

Enjoy this project?



Diego Galue wrote 7 days ago point

Quick question, where did you buy the electrode snap terminals? its been impossible for me to get them. thank you in advance

  Are you sure? yes | no

Ashwin K Whitchurch wrote 7 days ago point

Hi Diego, right now we've pulled out the button out of a standard ECG lead and soldered it onto a pad. However, we've placed and order with these guys: for getting the buttons alone, will know the quality only once we  receive them

  Are you sure? yes | no

fest wrote 04/21/2017 at 10:37 point

I do realize that it's probably too early for this but do you have a potential price in mind?

Any preliminary specs on battery life?

  Are you sure? yes | no

Ashwin K Whitchurch wrote 04/21/2017 at 15:04 point

Thanks for following. Yes, we haven't priced it as of now, but our plan is to do a crowdfunding campaign for this project and thus bring the cost of the device under $50 

  Are you sure? yes | no

Ashwin K Whitchurch wrote 04/21/2017 at 15:06 point

As for battery life, we have a target run-time of at least a week on a single charge, with a 250 mAH Li-Poly battery. We will have more detailed information on power characteristics soon as we continue testing

  Are you sure? yes | no

Steven Merrifield wrote 04/20/2017 at 03:27 point

I don't see any under-voltage lock out protection to prevent damage to the battery.

  Are you sure? yes | no

Ashwin K Whitchurch wrote 04/20/2017 at 03:34 point

Thank you, comments do help us improve. UVLO protection is built into the battery packs itself, this causes the battery to not discharge itself below about 2.5 volts. 

  Are you sure? yes | no

Rodrigo wrote 04/18/2017 at 05:57 point

Hi. Loved the project. Recently I started developing a ECG viewer and I loved this project. Are you selling the kits ready made? I would like to purchase and try integrating it with my viewer. Thanks.

  Are you sure? yes | no

Ashwin K Whitchurch wrote 04/18/2017 at 06:39 point

Thanks. This product is still under development and will be available for sale on protocentral by the middle of May 2017, you can follow the progress right here. However, if you need only an ECG interface, you can check out our breakout board:

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates