Heart Rate 7 Click Board
Heart Rate 7 Click Board
Overview
The Heart Rate 7 Click Board™ is an optical biosensor Click Board™ that can be used for heart-rate monitoring (HRM). This Click Board™ employs a very sensitive analogue front-end IC with a high dynamic range, which ensures accurate and reliable readings. This analogue front-end IC is coupled with the optical front end, which consists of a sensitive photo-diode (PD) and two high brightness green LEDs. The photo-diode is the most sensitive to a visible light spectrum, offering reasonably high current output compared to other, standard type PD elements used so far, thus providing very accurate HRM readings.
The Heart Rate 7 Click Board™ is an optical biosensor Click board™ which can be used for heart-rate monitoring (HRM). The Heart Rate 7 Click Board™ employs a very sensitive analog front-end IC with high dynamic range, which ensures accurate and reliable readings. This analog front-end IC is coupled with the optical front end, which consists of a sensitive photo-diode (PD) and two high brightness green LEDs. The photo-diode is the most sensitive to a visible light spectrum, offering reasonably high current output compared to other, standard type PD elements used so far, thus providing very accurate HRM readings.
The analog front-end IC features a trans-impedance amplifier circuitry with programmable gain, which conditions the PD current output, providing linear voltage changes, suitable for sampling by the 22bit ADC. It also provides individual DC offset subtraction for the LED and ambient light phases, as well as the ambient light influence cancellation at the ADC output. The signal path within the IC is kept differential, ensuring the lowest possible amount of interferences and noise. These features allow Heart Rate 7 to achieve reliable and accurate readings. It can be used to develop applications based on the heart rate monitoring, calorie expenditure, and similar health-related applications.
HEART RATE MONITORING OR HRM
While the blood passes through the capillary blood vessels, they expand and dilate. Their light reflectance index changes accordingly. This is the basis of the photo-plethysmogram (PPM), a method used for the volumetric measurement of an organ, or in this case - blood vessels. The heart rate signal is calculated according to the current changes in transmission and reflection of the green light, sensed by the PD element. The Heart Rate 7 click can provide the HRM readings, by simply placing the index finger over the optical sensor.
How Does The Heart Rate 7 Click Board™ Work?
The Heart Rate 7 Click Board™ consists of an analog front end and the optical front end. The main task of the analog front-end IC is to drive LEDs and condition the signal received by the photo-diode (PD), by eliminating the background noise and ambient light influence. Besides that, it also provides conversion of the measurement into a digital information which can be used by an MCU. For the conversion to be accurate, the analog front-end device must not introduce any artifacts into the readings.
To achieve accurate measurements, Heart Rate 7 click employs AFE4404, an integrated analog front end (AFE) device, used for optical heart-rate monitoring and bio-sensing, from Texas Instruments. This IC supports up to three switching LEDs and a single PD element. The current from the PD element is converted to a linear voltage by the means of the integrated trans-impedance amplifier section (TIA) with a programmable gain so that it can be sampled by the AD section, which features a 22bit ADC converter. The signal chain is kept fully differential throughout the receiver channel, in order to achieve good rejection of common-mode noise, as well as the noise from the power supply. The AFE IC uses the I2C communication, with its pins routed to the corresponding mikroBUS™ I2C pins.
As the optical front end, the Heart Rate 7 Click Board™ uses the VEMD8080 photo-sensor from Vishay, which is a high-speed PD element, with enhanced sensitivity in the visible light spectrum. The Click board™ also uses two VLMTG1400, high-brightness true-green LEDs from Vishay, specially designed for the HRM measurement applications, offering a narrow band of green light wavelength.
The analog front end IC works with the periodically repeated operations (a pulse repetition frequency or PRF). There are four sampling phases per cycle. The four different readings are stored in separate 24bit output registers. There are also four filters on the TIA output, which are used to allow pulses from the PD to pass through the ADC, isolating the time when the emitting LEDs are ON, switching to the different filter in every sampling phase. The sampling phases are determined by the LED modes: two LED mode or three LED mode. This affects which LEDs are pulsed during the corresponding sampling cycles – LED1 and LED2, or LED 1, LED 2 and LED 3. However, the Heart Rate 7 click features only 2 LEDs, so the three LED mode should not be used.
The analog front end AFE4404 IC also incorporates a DAC, used to cancel the DC offset from the PD. When the TIA gain is set to a high value, it will amplify the DC component of the PD signal, too. To allow proper ADC conversion, this DC component needs to be removed from the signal path, so the DAC which sources current in the opposite direction with respect to the existing DC offset is employed at the input stage. This allows for higher amplification of the signal from the PD, and thus more useful (AC) signal detection sensitivity.
LED drivers allow 6 bit of LED current control for each channel, individually. This allows 63 steps between 0 and 50mA. This range can be doubled to 100mA. The LED driver supply voltage can be set by the onboard SMD jumper, labeled as the LED SUP. It offers a selection between 3.3V and 5V. The ADC_RDY pin provides an interrupt to the host MCU, saving it from having to constantly poll the sensor for data. This pin is set to a HIGH logic level when the PRF cycle ends, allowing four output data registers to be read. The PRF can vary between 10 up to 1000 samples per second. This pin is routed to the INT pin of the mikroBUS™.
The AFE4404 IC can be clocked both internally and externally. For a precise and synchronized measurement, It is advised to drive the Heart Rate 7 click by the same clock as the host MCU. The input clock can go up to 60MHz, but the internal divider of the IC has to be set so that the clock stays within the range from 4MHz to 6MHz. When driven by the internal clock, the device runs at 4MHz. By default, the external clock input is selected. The clock signal can be introduced via the PWM pin of the mikroBUS™.
After the power-on, the AFE IC requires a reset. The RESETZ pin of this IC is routed to the RST pin of the mikroBUS™, allowing it to be reset by the host MCU. Pulling this signal to a LOW logic level of about 25 µs to 50 µs will cause a reset of the device. If this pin is pulled for more than 200 µs, it will put the device into the Power Down mode. The device can also be reset by setting a bit in the appropriate register, via the I2C. This pin is pulled to a HIGH logic level by the onboard pull-up resistor.
More information about the registers and how to set them can be found in the AFE4404 IC datasheet. However, included library contains functions that allow easy configuration and use of the Heart Rate 7 Click Board™. The included example (demo) application demonstrates their functionality and can be used as a reference for a custom design.
SPECIFICATIONS
Type | Biometrics,Heart Rate |
Applications | The Heart Rate 7 Click Board™ can be used to develop applications based on the heart rate monitoring, calorie expenditure, and similar health-related applications |
On-board modules | AFE4404, an integrated AFE for optical heart-rate monitoring and bio-sensing, from Texas Instruments; VEMD8080 high-speed photosensor, from Vishay; VLMTG1400, high-brightness true-green LED from Vishay |
Key Features | High dynamic sensitivity, 3 integrated LED drivers with independently programmable currents, ambient light and DC offset cancellation, internal/external clock source, top-of-the-class LED and PD optical front-end from Vishay |
Interface | I2C,PWM |
Compatibility | mikroBUS |
Click board size | M (42.9 x 25.4 mm) |
Input Voltage | 3.3V or 5V |
PINOUT DIAGRAM
This table shows how the pinout on the Heart Rate 7 Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | CLK | External clock input | |
Reset/Power-down | RST | 2 | RST | INT | 15 | INT | ADC_RDY/Interrupt |
NC | 3 | CS | RX | 14 | NC | ||
NC | 4 | SCK | TX | 13 | NC | ||
NC | 5 | MISO | SCL | 12 | SCL | I2C clock | |
NC | 6 | MOSI | SDA | 11 | SDA | I2C data | |
Power supply | +3.3V | 7 | 3.3V | 5V | 10 | +5V | Power supply |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED indicator |
JP1 | LED SUP | Left | LED driver voltage selection: left position 3.3V, right position 5V |
Software Support
We provide a library for the Heart Rate 7 Click Board™ on our Libstock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo application can run on all the main MikroElektronika development boards.
Library Description
The library provides generic functions for communicating with the Heart Rate 7 Click Board™.
Key functions:
void heartrate7_hwReset();
- Function for doing a hardware reset on a Click board™.void heartrate7_init();
- Initializes the click board for communication.uint32_t heartrate7_getAled1val(void);
- Get the raw pulse analog value that will be displayed on MikroPlot.
Example Description
The demo application is composed of three sections:
- System Initialization - Initializes GPIO, I2C and log structures.
- Application Initialization - Configures the microcontroller for communication
and initializes the click board. Also, the start signal is sent to the MikroPlot application. - Application Task - This section shows how the data is processed and sent to
the MikroPlot application.
void applicationTask() { uint32_t sensorValue; if(flag==1) { sensorValue=heartrate7_getAled1val(); mikroPlot(ms_counter,sensorValue); flag=0; } }
Additional functions:
void mikroPlot(uint32_t ms_count, uint32_t measurement);
- Functions that prepares and sends data to the MikroPlot application.
The full application code, and ready to use projects can be found on our Libstock page.
mikroE Libraries used in the example:
- Conversions Library
- C_String Library
- I2C Library
- UART Library
Additional Notes and Information
Depending on the development board you are using, you may need a 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
The Heart Rate 7 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.
Software Support
We provide a library for the Heart Rate 7 Click Board™ on our Libstock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo application can run on all the main MikroElektronika development boards.
Library Description
The library provides generic functions for communicating with the Heart Rate 7 Click Board™.
Key functions:
void heartrate7_hwReset();
- Function for doing a hardware reset on a Click board™.void heartrate7_init();
- Initializes the click board for communication.uint32_t heartrate7_getAled1val(void);
- Get the raw pulse analog value that will be displayed on MikroPlot.
Example Description
The demo application is composed of three sections:
- System Initialization - Initializes GPIO, I2C and log structures.
- Application Initialization - Configures the microcontroller for communication
and initializes the click board. Also, the start signal is sent to the MikroPlot application. - Application Task - This section shows how the data is processed and sent to
the MikroPlot application.
void applicationTask() { uint32_t sensorValue; if(flag==1) { sensorValue=heartrate7_getAled1val(); mikroPlot(ms_counter,sensorValue); flag=0; } }
Additional functions:
void mikroPlot(uint32_t ms_count, uint32_t measurement);
- Functions that prepares and sends data to the MikroPlot application.
The full application code, and ready to use projects can be found on our Libstock page.
mikroE Libraries used in the example:
- Conversions Library
- C_String Library
- I2C Library
- UART Library
Additional Notes and Information
Depending on the development board you are using, you may need a 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
The Heart Rate 7 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.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.