MAXREFDES117#: Heart-Rate and Pulse-Oximetry Monitor
2016-10-19
Wearable devices hold the potential to transform health and medical monitoring. Heart rate, specifically, provides tremendous insight into heart function and health, during both activity and rest. Innovation and development of both optical semiconductors and lower-power integrated circuits makes the transition to wearables possible. Until now, only large organizations, with deep development budgets, could deliver such advanced products.
The Maxim MAXREFDES117# delivers the promise of wearable devices to all developers. This unique design measures both heart rate and pulse oximetry. The MAXREFDES117# features the MAX30102 with integrated red and IR LEDs for heart-rate and SpO2 detection. This configuration ideally detects heart rate and pulse ox on a person’s fingertip, earlobe, or other fleshy extremity. The small board size of 12.7 mm x 12.7 mm (0.5 in x 0.5 in) is ideal for wearable applications and may be stitched into fabric for immediate prototyping. Firmware is available for both Arduino and mbed platforms, enabling users to develop with virtually any platform. The user needs to provide a 2 V to 5.5 V supply capable of providing the 1.5 mA (typical at a 3.3 V input), perfect for virtually any battery or Arduino and mbed form-factor board.
The MAXREFDES117# design utilizes the heart-rate/SpO2 sensor (MAX30102), an efficient, low-power step-down converter (MAX1921), and an accurate level translator (MAX14595). The entire design typically operates at less than 5.5 mW when using with the example firmware. A block diagram of the system is shown in Figure 1.
Figure 1: MAXREFDES117# reference design block diagram.
Note: The controller board is powered separately.
The MAXREFDES117# reference design is a PPG-based heart-rate and SpO2 monitor subsystem. The circuit utilizes the MAX30102 heart-rate/SpO2 sensor with integrated red and IR LEDs. The step-down converter MAX1921 converts the 2 V to 5.5 V supply input and generates the 1.8 V rail for the heart-rate sensor. The MAX14595 level translator provides an interface between the heart-rate/SpO2 sensor and the controller board, which generally uses a different logic level.
Detailed description of firmware
The MAXREFDES117# can be used with virtually any microcontroller that has an I2C interface. The Arduino and mbed example firmware have been tested on the following development platforms:
mbed:
- Maxim Integrated MAX32600MBED#
- NXP FRDM-K64F
- NXP FRDM-KL25Z
Arduino:
Users may read sampled data, calculated heart rate and SpO2 through a terminal program, allowing analysis on excel or any third-party software. The simple process flow is shown in Figure 2.
Figure 2: The MAXREFDES117# firmware flowchart.
The complete source code, including the heart-rate/SpO2 algorithm, is provided to accelerate development. Code documentation can be found in the corresponding firmware platform files (Arduino Platform or mbed Platform).
Heart-rate accuracy varies depending on the chosen platform. The tested mbed platforms give more accurate heart-rate/SpO2 calculations than the tested Arduino platforms because the mbed platform controllers have more SRAM than the Arduino platform controllers. For the example firmware, mbed platforms store 5 seconds of samples collected at 100 sps, while the Arduino platforms store 4 seconds of samples collected at 25 sps.
The SpO2 calculation is based on the equation shown below. However, determining the constants (C1, C2, and C3) requires a comprehensive clinical study of pulse-oximetry data from a statistically significant population set using this hardware. Such a clinical study is beyond scope of this design. Therefore, the calculated SpO2 value may have an error.
SpO2 = C1 × AverageRatio2 + C2 × AverageRation + C3
Where AverageRatio is the average ratio of IR and red LED readings. C1, C2, and C3 are constants.
MAXREFDES117# mbed Quick Start Guide
Required equipment:
- Windows PC with a USB port
- MAXREFDES117# board
- 5 pieces of wires to connect the MAXREFDES117# to the controller board
- One of the three supported controller boards previously listed (Maxim Integrated MAX32600MBED#, NXP FRDM-KL25Z, or NXP FRDM-K64F)
- One micro USB cable (for MAX32600MBED# and FRDM-K64F)
- One mini USB cable (for FRDM-KL25Z)
Procedure:
The reference design is fully assembled and tested. Follow the steps below to verify board operation:
- Create an account on http://developer.mbed.org to use their online compiler.
- Import the demo program from https://developer.mbed.org/teams/Maxim-Integrated/code/RD117_MBED/
- Connect the MAXREFDES117 to the controller board (see appropriate table entries for the specific controller boards):
MAX32600MBED# port | MAXREFDES117 port |
---|---|
P26 SDL | SDA |
P27 SCL | SCL |
P20 SCK RX | INT |
3.3V | VIN |
GND | GND |
FRDM-K64F port | MAXREFDES117 port |
E25 | SDA |
E24 | SCL |
D1 | INT |
P3V3 | VIN |
GND | GND |
FRDM-KL25Z port | MAXREFDES117 port |
E0 | SDA |
E1 | SCL |
D1 | INT |
3.3V | VIN |
GND | GND |
Table 1: MAXREFDES117# connections to mbed controller boards
- Connect the controller board to the PC with a USB cable.
- In the MBED compiler, click the button at the upper right hand corner to select the appropriate controller board.
- Compile and download the resulting binary to your mbed platform.
- Open Hyperterminal or a similar terminal program on the PC. Find the appropriate COM port and configure the connection for 115200, 8-N-1 with no flow control.
- Put a finger on top of the U1 on the MAXREFDES117#, contact with an earlobe is also sufficient. Constant pressure yields the best result.
- Press any key on the terminal program and the system will start the conversion.
- From left to right, the first two columns show the data for the red and the IR LED receiver. The third and fifth columns show the calculated heart rate and SpO2 values. The fourth and sixth columns show the validities of the heart rate and SpO2 calculations.
MAXREFDES117# Arduino Quick Start Guide
Required equipment:
- Windows PC with a USB port
- MAXREFDES117# board
- 5 cables with grabber clips on both ends.
- One of the three supported controller boards (Adafruit Flora, Lilypad USB, or Arduino UNO board)
- One micro USB cable (for Lilypad or Flora)
- One A to B USB cable (for Arduino UNO) Procedure
Procedure:
The reference design is fully assembled and tested. Follow the steps below to verify board operation:
- If Arduino IDE is not installed on the PC follow the getting started guide to install the Arduino IDE on the PC.
- If Adafruit Flora board is selected as the controller board:
- Follow the Adafruit Windows Driver installation guide to install the driver.
- Follow the "Adafruit Arduino IDE setup guide" to install the Arduino IDE and support files for Adafruit Flora board.
- Download the source code RD117_ARDUINO.zip file and unzip it in a desired location.
- Double click the RD117_ARDUINO.ino to open the project in Arduino IDE.
- Connect the MAXREFDES117 to the controller board (see appropriate table entries for the specific controller boards):
Flora port | MAXREFDES117 port |
---|---|
SDA | SDA |
SCL | SCL |
D10 | INT |
3.3V | VIN |
GND | GND |
Lilypad USB port | MAXREFDES117 port |
2 | SDA |
3 | SCL |
10 | INT |
+ | VIN |
- | GND |
Arduino UNO port | MAXREFDES117 port |
SDA | SDA |
SCL | SCL |
10 | INT |
3.3V | VIN |
GND | GND |
Table 2: MAXREFDES117# connections to Arduino controller boards
- Connect the controller board to the PC with a USB cable.
- In the Arduino IDE, click on the Tools menu and make sure the appropriate board is selected.
- Select the proper communication port in the Tools menu.
- Press the Upload menu item in the Sketch menu to upload the firmware to the board.
- Open Hyperterminal or a similar terminal program on the PC. Find the appropriate COM port and configure the connection for 115200, 8-N-1 with no flow control.
- Put a finger on top of the U1 on the MAXREFDES117#, contact with an earlobe is also sufficient. Constant pressure yields the best result.
- Press any key on the terminal program and the system will start the conversion.
Figure 3: Example output of the MAXREFDES117#
- From left to right, the first two columns show the data for red and IR LED receiver. Third and fifth columns show the calculated heart rate and SpO2 values. The fourth and sixth columns show the validities of the heart rate and SpO2 calculations.
Lab Measurements
Equipment used:
- MAX32600MBED#
- Adafruit Flora
- Adafruit BlueFruit
- Polar H7 Bluetooth Smart Heart-Rate Sensor
- Android tablet
Figure 4 and Figure 5 show how the MAXREFDES117 calculated heart rate compared to the Polar H7 chest strap. The data in Figure 4 were taken while the person was sitting still for 20 minutes. The data in Figure 5 were taken while the person was walking at a normal speed for 20 minutes.
Figure 4: For sedentary test, over 99% of the mbed + MAXREFDES117# heart heart-rate data are less than 5 beats/min delta from the Polar H7 chest strap.
Figure 5: For moving test, over 92% of the Arduino + MAXREFDES117# heart- rate data are less than 10 beats/min delta from the Polar H7 chest strap.
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。