ECG/GSR Click is a compact add-on board representing a complete solution for the development of ECG and GSR applications. This board features the AS7030B, a vital sign sensor based on Photoplethysmography (PPG) and Electrocardiogram (ECG) operations from AMS-AG. This vital-sign sensor features a low noise analog front end, a single device integrated optical solution, a synchronous demodulator, and skin temperature and skin resistivity measurements by providing an interface to external NTC. This Click board™ is suitable for medical remote diagnostic equipment applications, such as disposable patches used for blood oxygen saturation (SpO2) and electrocardiogram (ECG) measurement.
ECG/GSR Click is supported by a mikroSDK compliant library, which includes functions that simplify software development. This Click board™ comes as a fully tested product, ready to be used on a system equipped with the mikroBUS™ socket
Note: ECG/GSR Click is a development and prototyping tool. It is not intended to be used for patients' medical treatment and should not be used to diagnose or treat any conditions.
How Does It Work?
ECG/GSR Click as its foundation uses the AS7030B, a vital sign sensor based on Photoplethysmography (PPG) and Electrocardiogram (ECG) operations from AMS-AG. These two popular methods are suitable for heart rate monitoring (HRM) and heart rate variability (HRV), which measure the pulse rate by sampling light modulated by blood vessels that expand and contract as blood pulses through them. The ECG is the reference for any measurement of the biopotential generated by the heart.
This vital sign sensor features a low noise analog front end, a single device integrated optical solution, and a synchronous demodulator. It consists of two 527nm green LEDs and one 940nm IR LED. The built-in infrared emitter and dedicated photodiode enable easy integration of proximity function. Besides the HRM and SpO2, the AS7030B is also an optical measurement system for GSR (galvanic skin resistivity) and skin temperature obtained via an external temperature sensor connected to an onboard header labeled as NTC.
ECG/GSR Click communicates with MCU using the standard I2C 2-Wire interface that supports Standard-Mode (100 kHz) and Fast-Mode (400 kHz) operation. Also, it uses two additional pins, the INT pin of the mikroBUS™ socket, used as an interrupt, and the EN pin, routed on the CS pin of the mikroBUS™ socket, used to put the AS7030B into Normal operation mode or in a Shutdown. The AS7030B does not require a specific Power-Up sequence but requires a supply voltage of 3.8V to work correctly. Therefore, the Click board™ uses a low dropout linear regulator AP7331 from Diodes Incorporated, providing a 3.8V out of 5V mikroBUS™ rail.
This Click board™ consists of two input channels routed to the 3.5mm jack connectors labeled as ECG and GSR, to which a 1m long ECG/EMG cable connects the electrodes to the appropriate Click board™ securely. The two electrode holders consist of a metal piece with a dent in the middle that perfectly fits the rivets on the electrodes. The contact with the measurement Click board™ remains good and secure while mounting the cable's electrodes is simple and easy.
This Click board™ can operate with both 3.3V and 5V logic voltage levels selected via the VCC SEL jumper. This way, it is allowed for both 3.3V and 5V capable MCUs to use the I2C communication lines properly. However, the Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used, as a reference, for further development.
Specification:
Type | Biometrics |
Applications | Can be used for medical remote diagnostic equipment applications, such as disposable patches used for blood oxygen saturation (SpO2) and electrocardiogram (ECG) measurement. |
On-board modules | AS7030B - vital sign sensor based on Photoplethysmography (PPG) and Electrocardiogram (ECG) operations from AMS-AG |
Key Features | Low-noise analog front end, synchronized PPG, ECG and GSR acquisition, blood pressure measurements, good HRM quality, temperature sensing using NTC, long operating period, and more. |
Interface | I2C |
Compatibility | mikroBUS |
Click board size | L (57.15 x 25.4 mm) |
Input Voltage | 3.3V or 5V |
Pinout Diagram:
This table shows how the pinout on ECG/GSR Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
OnBoard Settings And Indicators:
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
JP1 | VCC SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
J1 | NTC | Unpopulated | External Temperature Sensor Header |
ECG/GSR Click Electrical Specification:
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | - | 5 | V |
Green LED Wavelenght | - | 527 | - | nm |
IR LED Wavelenght | - | 940 | - | nm |
ADC Resolution | 14 | - | - | bit |
Relative Accuracy | -8 | - | 8 | LSB |
Conversion Rate | - | - | 50 | ksps |
Operating Temperature Range | -30 | +25 | +70 | °C |
Software Support:
We provide a library for the ECG/GSR Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from compilers IDE(recommended way), or downloaded from our LibStock, or found on mikroE github account.
Library Description:
This library contains API for ECG/GSR Click driver.
Key functions:
void ecg_gsr_cfg_setup ( ecg_gsr_cfg_t *cfg );
- Config Object Initialization function.ecg_gsr_err_t ecg_gsr_init ( ecg_gsr_t *ctx, ecg_gsr_cfg_t *cfg );
- Initialization function.void ecg_gsr_default_cfg ( ecg_gsr_t *ctx );
- Click Default Configuration function.Examples description:
This click is made for PPG, ECG and GSR, equipped with an ultra-low power, multi channel, integrated biopotential AFE and EFE.
The demo application is composed of two sections :
ecg_gsr_err_t application_task( void ) { // ------------------------------------------------------------ // Check the presence of the ECG GSR Click by reading device ID. // ------------------------------------------------------------ ecg_gsr_read_dev_id(&ecg_gsr, ECG_GSR_ID_REG, &dev_id , 1); if ( dev_id != ECG_GSR_DEV_ID ) { return ecg_gsr_init_error; } // ------------------------------------------------------------ // Enable desired functionality of the ECG GSR Click. // ------------------------------------------------------------ if ( ecg_gsr_cfg.click_functionality == DEFAULT_ECG_GSR_CLICK_FUNCTIONALITY ) { ecg_gsr_get_oxygen_saturation(); } else if ( ecg_gsr_cfg.click_functionality == ENABLE_HEARTRATE_FUNCTIONALITY ) { ecg_gsr_get_heartrate(); } else if ( ecg_gsr_cfg.click_functionality == ENABLE_GALVANIC_SKIN_RESPONSE_FUNCTIONALITY ) { ecg_gsr_get_galvanic_skin_response(); } else { return ecg_gsr_init_error; } return ecg_gsr_ok; } The full application code, and ready to use projects can be installed directly from compilers IDE(recommneded) or found on LibStock page or Mikroe GitHub accaunt.
Other mikroE Libraries used in the example:
Additional notes and informations:
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MikroSDK:
This Click board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.
Resources:
Downloads: