Of all the electrical signals generated by the human body, those coming from the heart are probably the most familiar to the average person. And because it’s also quite simple to implement the required sensors, it makes sense that electrocardiogram (ECG) machines are a popular choice among introductory medical electronics projects. [Dániel Buga], for instance, designed a compact ECG system the size of a credit card, cleverly dubbed Card/IO, that clearly demonstrates how to implement a single-lead ECG.
Although obviously not a medical-grade instrument, it still contains all the basic components that make up a proper biosignal sensing system. First, there are the sensing pads, which sense the voltage difference between the user’s two thumbs and simultaneously cancel their common-mode voltage with a technique called Right Leg Driving (RLD). The differential signal then goes through a low-pass filter to remove high-frequency noise, after which it enters an ADS1291 ECG analog front-end chip.
The ADS1291 contains a delta-sigma analog-to-digital converter as well as an SPI bus to communicate with the main processor. [Dániel] chose an ESP32-S3, programmed in Rust, to interface with the SPI bus and drive a 1″ OLED display that shows the digitized ECG signal. It also runs the user interface, which is operated using the ECG sensing pads: if you touch them for less than five seconds, the device goes into menu mode and the two pads become buttons to scroll through the different options.
All source code, as well as KiCad files for the board, can be found on the project’s GitHub page. If you’re just getting started in the biosensing field, you might also want check out this slightly more advanced project that includes lots of relevant safety information.
Continue reading “Card/IO Is A Credit Card-Sized, Open Source ECG Monitor”