Heart Rate 2 Click Board
Heart Rate 2 Click Board
The Heart Rate 2 Click Board™ is an add-on board based on MAXM86161 from Maxim Integrated a complete, integrated, optical data acquisition system, ideal for optical pulse oximetry and heart-rate detection applications. The optical readout has a low-noise signal conditioning analogue front-end (AFE), including 19-bit ADC, an industry-lead ambient light cancellation (ALC) circuit, and a picket fence detect and replace algorithm. It also includes high-resolution optical readout signal processing channels with robust ambient light cancellation and high-current LED driver DACs to form a complete optical readout signal chain.
The Heart Rate 2 Click Board™ 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.
How Does The Heart Rate 2 Click Board™ Work?
The Heart Rate 2 Click Board™ is well suited for a wide variety of optical sensing applications, consisting of a single optical readout channel and a precision LED driver current DACs that modulate LED pulses for a variety of optical measurements. The LED current DACs have 8 bits of dynamic range with four programmable full-scale ranges of 31mA, 62mA, 94mA, and 124mA. The LED drivers are low dropout current sources allowing for low-noise, power-supply independent LED currents to be sourced at the lowest supply voltage possible, minimizing LED power consumption. The LED pulse width can be programmed from 14.8μs to 117.3μs to allow the algorithms to optimize SpO2 and HR accuracy at the lowest dynamic power consumption dictated by the application.
The optical subsystem Heart Rate 2 Click based on MAXM86161 is composed of ambient light cancellation (ALC), a continuous-time sigma-delta ADC, and proprietary discrete time filter. ALC incorporates a proprietary scheme to cancel ambient light-generated photo diode currents, allowing the sensor to work in high ambient light conditions. The optical ADC has programmable full-scale ranges of 4μA to 32μA. The internal ADC is a continuous time, oversampling sigma-delta converter with 19-bit resolution. The ADC output data rate can be programmed from 8sps (samples per second) to 4096sps. The MAXM86161 includes a proprietary discrete time filter to reject 50Hz/60Hz interference and changing residual ambient light from the sensor measurements.
Sensor also includes an optical proximity function which could significantly reduce energy consumption and extend battery life when the sensor is not in contact with the skin. MAXM86161 power to a minimum during situations where there is no reflective returned signal. It is also intended to reduce the emitted light to a minimum or even below that perceivable by the human eye.
The native delta-sigma ADC linearity is exceptional. However, the subranging DAC uses a unary architecture which has some mismatch between unit current sources of the DAC and the ADC reference current. This mismatch results in some transfer function nonlinearity (XNL) errors when the sub-DAC code transitions. For this reason, the sub-ranging DAC algorithm is designed to minimize DAC transitions by introducing large hysteresis through the overlapping sub-DAC ranges. Consequently, under normal PPG operation, the sub-DAC does not transition and the linearity of the converter signal is driven entirely by the linear native delta-sigma ADC. In addition to algorithmically reducing the sub-DAC transitions, the MAXM86161 incorporates a self-calibration scheme that can be used to further reduce the sub-DAC XNL errors.
SPECIFICATIONS
Type | Heart Rate,Biometrics |
Applications | Ideal solution for the development of various wearable health-related devices, Optimized for In-Ear Applications, Miniature Package for Mobile Applications |
On-board modules | MAXM8616 - Single-Supply Integrated Optical Module for HR and SpO2 Measurement |
Key Features | Complete Single-Channel Optical Data Acquisition System, Built-In Algorithm Further Enhances Rejection of Fast Ambient Transients, Optimized Architecture for Reflective Heart Rate and SpO2 Monitoring... |
Interface | I2C |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
Input Voltage | 3.3V,5V |
PINOUT DIAGRAM
This table shows how the pinout on the Heart Rate 2 Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
General Purpose | GP | 1 | AN | PWM | 16 | NC | |
NC | 2 | RST | INT | 15 | INT | 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 |
---|---|---|---|
PWR | PWR | - | Power LED Indicator |
JP1 | VCC SEL | Left | Logic voltage level selection: left position 3.3V, right position 5V |
Software Support
We provide a library for the Heart Rate 2 Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
Library provides a full control over the Heart Rate 2 Click Board™. It provides generic functions for reading and writing, default configuration and reading fifo data, and if you are willing you can set your configuration.
Key Functions
uint8_t heartrate2_generic_read ( uint8_t reg_adr )
- Generic function for reading data.void heartrate2_generic_write ( uint8_t reg_adr, uint8_t write_data )
- Generic function for writing data.void heartrate2_default_configuration ( uint8_t cfg_led )
- Function for setting default config and turning on one led with cfg_led parameter.void heartrate2_read_fifo ( heartrate2_fifo_data_t *fifo )
- Function for reading fifo data and tag values from device.
Example Description
The application is composed of three sections :
- System Initialization - Initialization of I2C module and additional pins
- Application Initialization - Resets device, checks ID and configures device to desired led
- Application Task - Reading fifo data and logs it with time
void application_task ( ) { char demo_txt[ 30 ]; heartrate2_fifo_data_t fifo_object; heartrate2_read_fifo( &fifo_object ); if ( fifo_object.tag == HEARTRATE2_FIFO_TAG_PPG1_LEDC1 ) { LongWordToStr( fifo_object.data_val, demo_txt ); Ltrim( demo_txt ); Rtrim( demo_txt ); mikrobus_logWrite( demo_txt, _LOG_TEXT ); mikrobus_logWrite( ",", _LOG_TEXT ); LongWordToStr( counter_tm++, demo_txt ); Ltrim( demo_txt ); Rtrim( demo_txt ); mikrobus_logWrite( demo_txt, _LOG_LINE ); } Delay_ms( 4 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- I2C
- UART
- Conversions
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 2 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.
Heart Rate 2 Click Board
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.