Product successfully added to your shopping cart
Quantity
Total
There are 0 items in your cart. There is 1 item in your cart.
Total products
Total shipping  To be determined
Total
Continue shopping Proceed to checkout

ECG click

MIKROE-2455

30 g

This is an ECG (or EKG) machine on a click board. It measures the electrical activity of a beating heart through electrodes taped to the skin. The board requires little setup, and the final measurement results can be displayed as an Electrocardiogram using a free Windows app.

More details

 
 
 

$39.00

Quantity Unit Price
5 $37.05
20 $35.10

This is an ECG (or EKG) machine on a click board. It measures the electrical activity of a beating heart through electrodes taped to the skin. The board requires little setup, and the final measurement results can be displayed as an Electrocardiogram using a free Windows app.

With the ECG click bundle (click + cable + electrodes) you will be able to prototype your own health-tracking and fitness devices, quantified-self wearables… or you can just make an LED blink in sync with your heart.

Setup guide: from heart to skin, from skin to 3.5 mm jack

To start recording ECG you will need:

  • 1. ECG click
  • 2. Cable
  • 3. Disposable adhesive electrode pads (sold in packs of 30)

If you are starting out, the best offer is the ECG click bundle that contains all three, saves you $8.

Of course, you will also need a target board with an MCU with at least a 10-bit ADC (preferably powered from an external battery).

The three electrodes are connected to your left shoulder, right shoulder, and to the left side of the abdomen (below the heart). The last one can also alternatively be fitted on the left leg.

The electrodes are connected to the board with a cable that plugs into the onboard 3.5mm phone jack.

See the docs page for more detailed instructions.

Circuit design: amplifying and filtering the raw signal

By the time it reaches skin surface, the electrical signal from the heart becomes faint. Only few miliVolts. This weak signal is also obstructed by muscle activity from the rest of the body.

Another source of noise is the electromagnetic interference from the environment (the body can act as an antenna).

But the pattern of a beating heart is fairly predictable. This allows us to design circuitry that properly amplifies and filters the electrical signal to get the desired output.

ECG click has a 7 block design. It comprises ESD, overvoltage and overcurrent protection (protecting both the hardware and the person), a pre-amplifier and amplifier, two high-pass filters, a low-pass filter, and a DRL circuit.

Learn more about the hardware design from the docs.mikroe.com page.

Plot your heart beat

MikroPlot is a free data visualization tool (Windows) that can be used to generate an ECG.

The graph is generated from data sent from the MCU (ADC values from ECG click input + time stamp). A UART-USB connection is required.

See the learn.mikroe.com article for more information.

Applications

  • Make a portable battery-powered holter with ECG click, microSD click and clicker 2
  • Quantified-self data logging: subtle variations in your heart-rate occur from second to second. With ECG click you are not limited to the doctor’s office. Record ECG while you watch TV, read email, talk over the phone – study patterns to see what excites you (HRV - heart rate variability is a good indicator of state of mind).
  • Pair ECG click with a wireless transceiver to transmit a heartbeat signal to various electronics (set a LED strip to pulsate in sync with your heartbeat, or the vibro motor on another person's Hexiwear).

Features

  • 7-block design (protection, preamplifier, high-pass filter #1, amplifier, high-pass filter #2, low-pass filter, DRL circuit
  • Ready-to-use example and free software tool to generate ECG plot
  • Jumpers for setting output voltage range
  • Trimmer potentiometer to adjust gain
  • MCP609 OpAmp
  • MAX6106 Voltage Reference IC
  • ESD, OverVoltage and OverCurrent protection
  • Analog output (mikroBUS™ AN pin)
  • 5V power supply

Downloads

Type Biomedical
Applications Measures the electrical activity of a beating heart through electrodes taped to the skin
On-board modules MCP609 OpAmp, MAX6106 Voltage Reference IC
Key Features 7-block design (protection, preamplifier, high-pass filter #1, amplifier, high-pass filter #2, low-pass filter, DRL circuit
Key Benefits ESD, OverVoltage and OverCurrent protection, Analog output (mikroBUS AN pin)
Interface Analog
Input Voltage 5V,5V
Compatibility mikroBUS
Click board size L (57.15 x 25.4 mm)

ECG click measures the electrical activity of a beating heart through electrodes taped to the skin. It requires little setup, and the final measurement results can be displayed as an Electrocardiogram using a free app.

Note: ECG click is a prototyping tool, not a medical-grade device. Do not use it to diagnose patients.

Necessary components

In order to record ECG, you will need the following:

  • ECG click
  • Cable
  • Disposable electrodes

All of the above items are sold in our store. You can buy them separately, or as an ECG kit bundle. The disposable electrodes come in a pack of 30.

Circuit design and operating principles

There is onboard 3.5mm phone jack that is used to connect cables/electrodes to the click board. Electrode should collect voltage form the skin (few millivolts). Signal from the jack should be amplified and filtered. Therefore, ECG click can be divided into seven blocks.

  1. Protection - Provides ESD protection (protects click), Overvoltage and Overcurrent protection (protects the human). In addition to protection, the input block filters and prevents radio waves fro “enter” the preamplifier.
  2. Preamplifier – is implemented through three operational amplifiers configured as an instrumentation amplifier (IA – amplifies the voltage difference between “+” and “-“ electrode) which at its output provides a single-end signal.
  3. High-Pass filter – should eliminate the DC component of the signal (ƒc = 1.6Hz). It is a passive RC filter (first order).
  4. Amplifier – provides additional amplification that can be adjusted using the trimmer potentiometer VR1. This is to that the analog output could accommodate to the input voltage range of the ADC. The amplifier is implemented using an operational amplifier in a non-inverting configuration.
  5. High-Pass filter – Should eliminate the DC component of the signal (ƒc = 0.16 Hz) this time after the amplifier. It is also a passive RC filter (first order).
  6. Low-Pass filter – Should limit the frequency range to 60Hz. It is a third order active filter with a gain of 15 (second order Sallen-Key filter topology + passive RC filter first order = third order filter).
  7. DRL circuit (Driven Right Leg) – this type of circuit is often added to biological signal amplifiers to reduce Common-mode interference. Amplifiers for bio signals, such as ECG, measure very small electrical signals emitted by the body (measured in miliVolts or even microVolts). Unfortunately, the human body can also act as an antenna which picks up electromagnetic interference, (particularly 50/60 Hz noise from electrical power lines. This interference can obscure the biological signals, making them hard to measure. Right Leg Driver circuitry is used to eliminate interference noise by actively canceling it. It is a selective amplifier stage that shifts the phase of signal for 180° (inverting) and returns it to respondents in order to cancel.

Hardware configuration jumpers and settings

ECG click has one jumper and a trimmer potentiometer for setting the output voltage to match the input voltage level of the ADC which will be used.

The SMD (0805) jumper determines its output voltage range. When you connect all three electrodes to each other, the output should be a constant voltage (either 1.024V or 2.048V depending on the jumper position). This value is the zero-voltage line on the graph. The positive part of the ECG waveform will go above zero and the negative part will go below zero.

The trimmer potentiometer is for adjusting the gain. So if we set the jumper to 2.048 position (zero is now 1.024V) that means that the gain should be set so that the ECG waveform is in the range of 0-2.048V. If we set the jumper to the 4.096 position (zero is now 2.048V), the gain should be set so that the ECG waveform is in the range of 0-4.096V.

For optimal results, the target board MCU should have at least a 10-bit ADC (12-bit recommended). Sampling rate should be at least 256Hz.

We also recommended that the target development board is powered from the battery via a connector for external power supply.

Hooking up the electrodes

Electrocardiography is performed by measuring the heart's electrical activity through electrodes taped to the surface of the skin. The three electrodes are placed on the left arm, right arm and the left side of the abdomen (below the heart), on the left leg.

Here's how the electrodes are marked and color coded:

  • Left leg (LL) – red
  • Left arm (LA) – black
  • Right arm (RA) – white

Tips for better results:

  • Try not to move much while measuring, because the electrodes will pick up noise from muscle activation
  • Experiment with the positioning of the disposable electrode pads
  • Use new pads for each measurement
  • Clean the skin area where you want to apply the pads

If you want visual instructions, see our ECG click setup guide

Programming

The code shown here initializes the ADC for measuring the ECG, and UART for talking to the PC. When the button is pressed, the timer interrupt will be initialized. An interrupt is generated every 3.9 ms, upon which the MCU gathers ADC and time data, and sends it to the PC over UART, until the timer reaches 15 seconds.

 1 #include <stdint.h>
 2 #include <stdbool.h>
 3 
 4 void InitTimer1(){
 5   T1CON                 = 0x8010;
 6   T1IP0_bit         = 1;
 7   T1IP1_bit         = 1;
 8   T1IP2_bit         = 1;
 9   T1IF_bit         = 0;
10   T1IE_bit         = 1;
11   PR1                 = 39000;
12   TMR1                 = 0;
13 }
14 
15 static bool read_flag = false;
16 static volatile uint32_t interrupt_ctr = 0;
17 uint32_t adc_reads_ctr = 0;
18 uint32_t timer_reads_ctr = 0;
19 static volatile uint32_t seconds_counter = 0;
20 double adc_reads;
21 double timer_reads;
22 
23 void main()
24 {
25      uint32_t i = 0;
26      char timer_read_string[10];
27      char final_string [20];
28 
29      TRISB8_bit =  1;              // Set RA1 pin as input
30      TRISA15_bit = 1;
31      ad1pcfg = 0x0100;
32      ADC1_Init();
33 
34      UART5_Init(57600);
35      delay_ms(500);
36 
37      while(1)
38      {
39      
40              if (Button(&PORTA, 15, 10, 1))
41              {
42                     Uart5_Write_Text("STARTrn");
43                     delay_ms(500);
44                     InitTimer1();
45                     EnableInterrupts();
46              }
47 
48              if (read_flag == true)
49              {
50                     T1IE_bit         = 0;
51                     adc_reads    =  ADC1_Get_Sample(8);
52                     timer_reads  =  ((double)interrupt_ctr)*3.9;
53                     inttostr(adc_reads, final_string);
54                     floattostr(timer_reads, timer_read_string);
55                     strcat(final_string, ",");
56                     strcat(final_string, timer_read_string);
57                     ltrim(final_string);
58                     Uart_Write_Text(final_string);
59                     Uart_Write_Text("rn");
60                     read_flag = false;
61                     T1IE_bit  = 1;
62              }
63 
64              if (seconds_counter == 15)
65              {
66                 T1IE_bit = 0; // disable global interrupts
67                 Uart_Write_Text("ENDrn");
68                 while(1);
69              }
70 
71      }
72 
73 }
74 
75 
76 void Timer1Interrupt() iv IVT_TIMER_1 ilevel 7 ics ICS_SRS
77 {
78     read_flag = true;
79 
80     interrupt_ctr++;
81     if (interrupt_ctr % 256 == 0)
82        seconds_counter++;
83 
84     T1IF_bit = 0;
85 }

Code examples for ECG click, written for MikroElektronika hardware and compilers are available on Libstock

mikroPlot

MikroPlot is a graph generator. It’s a simple tool to help you visualize sensor data recorded over time. It’s suitable for bio signals (ECG, EEG, EMG) as well as environmental data logging (temperature, humidity etc). The app can receive data sets directly from a microcontroller through a USB UART connection.MikroPlot is a graph generator. It’s a simple tool to help you visualize sensor data recorded over time. It’s suitable for bio signals (ECG, EEG, EMG) as well as environmental data logging (temperature, humidity etc). The app can receive data sets directly from a microcontroller through a USB UART connection.

A tutorial for generating an EKG in mikroPlot is available on learn.mikroe.com

You Might Also Need

Products in the same category

Send a message

ECG click

ECG click

What can we do for you?