Heart Rate 5 click
PID: MIKROE‐3012
Weight: 23 g
Heart Rate 5 click is the optical biosensor Click board™ which can be used for the heart‐
rate monitoring(HRM), as well as the peripheral capillary oxygen saturation monitoring
(SpO2). This 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 the top-of-the-class integrated
BIOFY® sensor, which features two green LEDs, one red LED, one infrared LED, and two
photodiodes (PD), offering very accurate HRM and SpO2 readings.
The analog front-end IC features a trans-impedance amplifier circuitry with
programmable gain, which provides linear voltage changes for 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 5 to achieve reliable and accurate readings. It can be
used to develop applications based on the heart rate monitoring, pulse oximetry
measurements, calorie expenditure, and similar health-related applications.
Pulse oximetry or SpO2
Oxygen saturated blood absorbs light in the red/IR part of the spectrum different than
the unsaturated blood. Pulse oximeters measure the oxygen saturation of the blood, or
more precisely, the percentage of hemoglobin molecules in the blood, saturated with
oxygen. For a healthy adult person, the peripheral capillary oxygen saturation (SpO2)
percentage ranges from 95% to 100%. Heart Rate 5 click can provide the SpO2
measurement, by simply placing the index finger over the optical sensor.
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
photoplethysmogram (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 5 click can provide the HRM readings, by simply placing the
index finger over the optical sensor.
How does it work?
Heart Rate 5 click 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
photodiode (PD), by eliminating the background noise and ambient light influence on
the measurement. Besides that, it also provides conversion of the measurement into a
digital information, which can be used by the 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 5 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, Heart Rate 5 click uses the top-of-the-class integrated
BIOFY® SFH 7072 sensor, from OSRAM, which features two green LEDs, one red LED,
one infrared LED, and two PDs, of which one is a broadband PD used for the HRM, while
the other is the IR band cut PD, used for the SpO2 readings. These LEDs are specially
designed for the HRM and SpO2 measurement applications, offering a set of calibrated
wavelengths for both light-emitting diodes (LED) and photo-sensing diodes (PD). Since
the SF7072 sensor offers more elements than the ALS can support, the choice is made
by flipping the onboard SMD switch labeled as MODE SEL: the choice can be made
between the broadband PD for the HRM readings and the IR band PD for SnO2
readings. Both poles of the switch SW1 need to stay in the same position (both to the
left, or both to the right), as they are routed to each end of the respective PD element.
The analog front end 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.
The 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. To allow ADC conversion, this component needs to be removed from the signal
path, so the DAC with the opposite current direction is introduced at the input stage,
based on the existing DC offset. This allows for higher amplification of the signal from
the PD, and thus, more useful AC signal detection sensitivity.
The 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 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 precise and
synchronized measurement, It is advised to drive the Heart Rate 5 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 for 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 5 click. The included exemplary (demo) application
demonstrates their functionality and can be used as a reference for a custom design.
Specifications
Type
Biomedical
It can be used to develop applications based on the heart rate
Applications
monitoring, pulse oximetry measurements, calorie expenditure, and
similar health-related applications.
AFE4404, a compact integrated analog front end (AFE) device for
On-board
optical heart-rate monitoring and bio-sensing, from Texas
modules
Instruments; BIOFY® SF7072 integrated LED and PD optical front
end, from OSRAM.
High dynamic sensitivity, three integrated LED drivers with
Key Features
independently programmable currents, ambient light and DC offset
cancellation, internal/external clock source, top-of-the-class
integrated LED and PD optical calibrated front-end from OSRAM.
Interface
I2C
Input Voltage
3.3V,5V
Click board
size
M (42.9 x 25.4 mm)
Pinout diagram
This table shows how the pinout on Heart Rate 5 click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Reset/Power-down
Pin
Pin
Notes
NC
1
AN
PWM
16
CLK
External clock input
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
+3.3V
7
3.3V
5V
10
+5V
Power supply
GND
8
GND
GND
9
GND
Ground
Power supply
Ground
Onboard settings and indicators
Label
Name
Default
LD1
PWR
-
JP1
LED SUP
Right
SW1
MODE SEL
Right
Description
Power LED indicator
LED driver voltage selection: left position 3.3V, right
position 5V
Photo‐diode type selection (anode): left position HRM
(P), right position SpO2 (O)
Software support
We provide a library for Heart Rate 5 click 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 Click board™.
Key functions:
void heartrate5_hwReset();- Function for doing a hardware reset on a click board.
void heartrate5_init();- Initializes the click board for communication.
uint32_t heartrate5_getLed2_aled2val(void);- Test if the finger is placed on the sensor.
uint32_t heartrate5_getAled1val(void);- Get the raw pulse analog value that will be
displayed on MikroPlot.
Examples 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(heartrate5_getLed2_aled2val()