The MAXREFDES100# Health Sensor Platform from Maxim

By Maxim Integrated

Medical and fitness applications require complex and innovative solutions. To that end, Maxim provides multiple product lines that can satisfy the requirements for these applications. Furthermore, to aid in evaluating Maxim’s portfolio of products targeted for medical and fitness applications, the “hSensor” platform was developed.

This platform not only can measure motion, skin temperature, and several biopotential parameters including electrocardiography (ECG), electromyography (EMG), and electroencephalography (EEG), but also supports measurements of some reflective photo plethysmography parameters including pulse oximetry and heart-rate (HR) detection at three wavelengths, 880 nm, 660 nm, and 537 nm.

GUI application support is available on Windows®-based PCs and Android®-based devices. The GUI provides for simple data collection and visualization. Additionally, the platform can configured and data collected through a USB type C connector and/or a Bluetooth® low energy (BLE) wireless connection. Also, data can be collected using a direct-to-flash memory mode. Flash memory can be read through the USB connection.

The hSensor platform microcontroller firmware provides for system management, register control of all platform devices, and PC GUI communication. Microcontroller firmware customization is possible. See Maxim’s firmware development guide for details.

The reference design box includes:

  1. The MAXREFDES100# health-sensor board
  2. The MAXREFDES100HDK# development board for the MAXREFDES100# sensor board
  3. A CR2032-type coin-cell battery holder if a USB cable is not used
  4. Two ECG cables: these two ECG cables can be soldered to the board for ECG measurements
  5. A USB Type-C cable to connect the MAXREFDES100# board to a PC
  6. A Micro-USB cable to connect the MAXREFDES100HDK# board to a PC

The hSensor platform can be used to evaluate the following use cases:

  • Fitness Applications - Chest straps with HR or both HR and ECG along with smart watches headphones with optical HR
  • Clinical applications – 1-lead ECG patch on the chest for Arrhythmia detection (ECG and HR only), skin temperature measurements, optical SpO2 measurements on a finger, optical HR and SpO2 measurements on an ear or the head, and ECG measurements with armbands

This reference design has additional resources available online including the layout files, schematics, bill of materials (BOM), firmware, software, and Gerber files.

Reference design block diagram for the Maxim MAXREFDES100#

Figure 1: The reference design block diagram for the MAXREFDES100#.



The brains of the hSensor is the MAX32620, a 32-bit ARM® Cortex®-M4F (M4 plus floating point unit) microcontroller. The device features four power modes and includes built-in dynamic clock gating and firmware-controlled power gating which minimizes power consumption. The multiple SPI, UART, and I2C serial interfaces, along with a 1-Wire® master and USB, allow a wide variety of external sensors to be connected to the device.

This microcontroller is suited for emerging medical and fitness applications and uses several sensors installed in the reference design to perform its physiological monitoring functions. These sensors include the MAX30003 biopotential analog front-end (AFE) used for heart-rate monitoring, the MAX30205 temperature sensor, the MAX30101 pulse oximeter and heart-rate sensor, the LIS2DH 3-axis accelerometer, the LSM6DS3 3D accelerometer and 3D gyroscope, and the BMP280 absolute atmospheric pressure sensor.

Power management

Power for the hSensor platform can be supplied by either the USB connection or a CR2032-type coin cell battery. When both power sources are present, the USB connection will supply the power.

A MAX14720 PMIC is used for the majority of the power management. Its internal programming turns the device on with a 3-second button press at SW1 while it turns the device off with a 20-second button press at SW2. This PMIC provides 1.2 V, 1.8 V, and VSYS voltages due its power-on configuration. The microcontroller configures the PMIC for a boost voltage of 3.3 V after power-up.

There are some power supply chips in addition to the PMIC. A MAX8880 LDO supplies power to the temperature sensors while a MAX8881 3.3 V LDO powers the PMIC itself when the system is getting power via the USB connection.

A MAX3205 provides ESD protection to all of the USB signals except for DP/DM. A MAX32620 provides ESD protection for this last USB signal.

Mode selection

The USB Type-C connector is used for accessory signals and debugging (programming). There is circuitry to isolate these signals since they would contend with a USB host in some circumstances. MAX4741 low-voltage analog switches controlled by a combination of logic gates and MAX9064 single comparators are used in the isolation of these signals.

Two MAX9064 are used to monitor the USB pins A5 and B5 (typically designated as CC/VCONN). These pins have 5.1 kΩ pulldowns on the HSP board while only pin A5 on a USB cable has a 56 kΩ pullup and a debug adapter board has 56 kΩ pullups on both pins A5 and B5.

The hSensor platform self-configures based on the USB A5 and B5 pins as indicated in Table 1.

USB Pin A5 USB Pin B5 Mode Connection
Low Low Accessory VIO and UART enabled by micro
Low High USB Cable All accessory signals isolated
High Low
High High Debug SWD, RST, VIO, and UART enabled

Table 1: Self-configuration of the hSensor platform is dependent on the state of the USB A5 and B5 pins.

Biopotential AFE

The hSensor platform includes the MAX30003 device which is a complete, biopotential AFE solution for wearable applications. This device is a single biopotential channel providing ECG waveforms and heart-rate detection and is ideal for clinical and fitness applications. This channel includes ESD protection, EMI filtering, internal lead biasing, DC leads-off detection, ultra-low-power leads-on detection during standby mode, and extensive calibration voltages for built-in self-test. There is also a soft power-up sequence which ensures that no large transients are injected into the electrodes for human safety. Additionally, the DC-coupled biopotential channel can handle large electrode voltage offsets and has a fast recovery mode to quickly recover from overdrive conditions, such as defibrillation and electrosurgery.

If it is desired that ECG cables are required, simply remove R6, R21, R44, and R45 from the sensor board and solder the ECG cable leads to the ECGP and ECGN pads on the sensor board.

In the hSensor platform, the MAX30003 communicates with the MAX32620 microcontroller through an SPI bus.

Human body temperature sensor

Two MAX30205 sensors are installed in the hSensor board, one each on the top and bottom sides. These temperature sensors accurately measure temperature and can provide an over-temperature alarm/interrupt/shutdown output. These devices use a high-resolution sigma-delta ADC to convert the temperature measurements into a digital form. When soldered on the final PCB, the MAX30205 accuracy meets the ASTM E1112 clinical thermometry specification.

Communication to the MAX32620 microcontroller in the hSensor platform is through an I2C-compatible, 2-wire serial interface. This serial interface accepts standard write byte, read byte, send byte, and receive byte commands in order to read the temperature data and configure the behavior of the open-drain over-temperature shutdown output.

PC application quick start guide

Maxim provides PC GUI program ( and serial driver ( which are both available for download on their MAXREFDES100# web page. After these have been downloaded, continue with the procedure below to get the MAXREFDES100# up and running quickly.


Follow these steps to verify proper board operation when connected to a PC.

  1. Download and unzip to a local folder the hSensor serial port driver, the file.
  2. Download and unzip to a local folder the PC GUI program, the file. Then run MAXREFDES100SWxxx.exe to install the program.
  3. Run the GUI program. When the following pop-up window appears (Figure 2), just click OK to continue. This issue will be corrected later on in this procedure.
  4. Image of connection Issue window

    Figure 2: Connection issue window.

  5. When the window shown in Figure 3 appears, just click Cancel button. This will also be addressed later in this procedure.

    Image of first connection window pop-up

    Figure 3: First connection window pop-up.

  6. When the GUI program finally comes up, it should appear as shown in Figure 4.

    Image of hardware not connected window

    Figure 4: Hardware not connected window.

  7. Using the USB A to C cable, connect the hSensor board to the PC.
  8. On the hSensor board, press and hold the SW1 switch for 3 seconds and then release. This prompts the PC to look for the hSensor device driver since it has not been installed on the computer yet.
  9. On the PC, open the Device Manager window. The hSensor board should be listed as a CDC DEVICE as shown in Figure 5.
  10. Image of initial device manager window

    Figure 5: Initial device manager window.

  11. To finish the driver installation, right-click the CDC DEVICE entry in the Device Manager window and then left-click Update Driver Software.... The driver is located where the file was unzipped in Step 1 above.
  12. When the driver installation has been completed, the hSensor board should be listed as a serial port and the Device Manager should display as shown in Figure 6.
  13. Image of device manager window after driver installation is complete

    Figure 6: Device manager window after driver installation is complete.

  14. Return to the hSensor GUI program. Open the Device menu and then click the Connect menu item. The GUI program should then connect to the hSensor hardware and should appear as shown in Figure 7. Verify that the hardware is connected by looking on the status bar.
  15. Image of home tab after the hSensor hardware is connected to the PC

    Figure 7: Home tab after the hSensor hardware is connected to the PC.

  16. To launch the GUI program in later sessions, click the Start menu and select the Maxim Integrated folder followed by the Health Sensor Platform software icon. There should be an automatic connection between the GUI and the sensor board. However, should a connection screen pop up (Figure 8), select the proper serial port number and then click the Connect button.

Image of connection window possible for subsequent GUI launches

Figure 8: Connection window possible for subsequent GUI launches.

GUI software overview

The GUI interface allows quick configuration and sensor feature evaluation. Intuitive graphs for data collection and visualization can also be viewed. All of this is accessed through the menus and tabs located at the top of the GUI.


There are five menu items in the GUI. The functionality of these menu items is listed below:

  • File – Allows exiting from the application.
  • Device – Allows the GUI to connect or disconnect the hSensor hardware.
  • Options – Allows the MAX30003 register names to be shown or hidden. Also, device register settings can be loaded or saved and the Advanced tab can be enabled or disabled.
  • Logging – Allows logging of ECG, R-to-R, optical, and accelerometer sensor data in a CSV file format.
  • Help – Shows the GUI program information.

Home tab
Clicking on the Home tab (Figure 7) will display the hSensor platform hardware block diagram along with quick links to navigate to other tab sheets.

Optical tab
Selecting the Optical tab (Figure 9) will give access to configure the MAX30101 optical sensor parameters. The parameters that can be configured include sensor mode, sensor ADC, and LED settings. Graphs that show ADC codes and the LIS2DH accelerometer measurements can also be displayed here. To start and stop plotting of optical and acceleration measurements, click the Start Monitor and Stop Monitor buttons respectively.

Image of optical tab

Figure 9: Optical tab.

Temperature tab
Control of the two MAX30205 temperature sensors on the top and bottom sides of the hSensor board is accessed by selecting the Temperature tab (Figure 10).

Image of temperature tab

Figure 10: Temperature tab.

ECG Channel Tab
While in the ECG Channel tab (Figure 11), control of the MAX30003 ECG channel and R-to-R settings is accessed.

Image of ECG channel tab

Figure 11: ECG channel tab.

To control the MAX30003 input multiplexers' settings, select the ECG MUX tab. A typical setting is shown in Figure 12.

Image of typical setting for the ECG MUX tab

Figure 12: Typical setting for the ECG MUX tab.

There are several variables that could affect the accuracy of the ECG measurements. Following the guidelines listed below will result in the most accurate results.

  • When using the USB-C cable to stream data to a computer, use a laptop running from battery power. This will eliminate power supply noise and avoid the possibility of being connected to a patient because the Health Sensor Platform does not have isolation built into it.
  • To reduce interference from other devices such as monitors and projectors, disconnect them from the laptop.
  • Keep the board and ECG cables away from electrical noise sources and closer to the body where the electrodes are placed.
  • Use short and/or twisted ECG cables since long, unshielded ECG cables are very susceptible to picking up noise. Also, keeping them close to the body where the electrodes are placed reduces the coupled noise.
  • Using ECG cables that are shielded are grounded to the PCB may possibly reduce noise coupling.
  • Connecting the electrodes directly, without ECG cables, to the PCB and placing it as close to the body being measured as possible will improve performance.
  • A third electrode connected between the RL position, or similar, on the body and the Health Sensor Platform PCB VCM test point will act as a body bias resulting in reduced coupled noise.

Plots tab
The MAX30003 ECG measurement values along with the input MUX status are displayed on the Plots tab sheet (Figure 13).

Image of plots tab

Figure 13: Plots tab.

Flash log tab

Users are allowed to configure the data logging to flash memory in the Flash Log tab sheet (Figure 14). Clicking on the Read button will result in displaying the current configured settings present in flash memory. To clear the data-logging setting, click on the Erase button. To clear any stored data values and commit the data log settings to flash memory, select the desired channels and parameters and click the Write. Use the Advanced button to display the raw UI command parameters or flash memory settings allows users to execute custom commands in the Prefix and Suffix fields. Clicking on the Save to File button will download the flash data to one or more CSV files. Please note that when using the Write and Save to File buttons, the operations may require take some time to complete depending upon the amount of stored data.

Image of Flash log tab

Figure 14: Flash log tab.

Registers tab

To list all the registers for the MAX30101, MAX30205 (top), MAX30205 (bottom), MAX30003, MAX14720, and the LIS2DH, go to the Registers tab (Figure 15). Here a user can directly read from or write to the registers.

Image of registers tab

Figure 15: Registers tab.

Quick-start guide for Android application

Another way to display and interface with the hSensor device is with an Android device with the hSensor Android App available on Maxim’s website. This app will collect the hSensor data, through a Bluetooth 4.0 link, and display it on the Android device screen.

Required equipment:

  • The MAXREFDES100# hSensor board
  • An Android device running at least version 4.4 and with Bluetooth 4.0
  • Either a CR2032 coin cell battery or a PC with a spare USB port (and a USB type A to C cable) to power the board


  1. If using a battery for power, insert a CR2032 battery into the battery holder.
  2. If not using a battery, connect the hSensor platform through a USB type C connector to a PC or Mac.
  3. On the hSensor board, press and release the SW1 switch which should cause the red LED beside the switch to flash.
  4. Download the Android app from the MAXREFDES100# web page and then unzip and install it on the Android device. Android 4.4 or later is required by the app.
  5. Once installed, tap the MAXREFDES100 icon on the Android device to start the hSensor app (Figure 16).
  6. Image of Android application screenshot 1

    Figure 16: Android application screenshot 1.

  7. Next, tap the Scan button to display a list all of all Bluetooth 4.0 advertising devices (Figure 17).
  8. In the resulting list, connect to the hSensor platform device by tapping MAXREFDES100.
  9. Image of Android application screenshot 2

    Figure 17: Android application screenshot 2.

  10. The screen shown in Figure 18 will then be displayed.

Image of Android application screenshot 3

Figure 18: Android application screenshot 3.

hSensor interaction

When the device is connected to the Android device, the hSensor platform sensors - temperature, accelerometer and pressure - will be listed as shown in Figure 18 are shown. Additionally, the heart-rate information from the MAX30003 ECG device can also be displayed.

Initially, the hSensor will not contain ECG configuration parameters. The default configuration, which is ECG and R-to-R enabled with the internal self-calibration running at 4 Hz, will result in a 240 bpm heart rate being displayed. To custom configure the ECG, use the GUI on the ECG Channel (Figure 11), ECG Mux (Figure 12), and the Flash Log (Figure 14) tabs. Further custom configuration is accessed by the Advanced button under the Flash Log tab which will show the raw command parameters. Additionally, when writing this configuration into the hSensor, the accelerometer needs to be enabled. When using the Android app, the temperature and pressure sensors will always be shown and do not require configuration. To commit the new configuration into the hSensor, use the Write button within the GUI. This configuration will be used when the Start Mission button on the Android app is tapped.

After the ECG configuration is provided by the GUI, the ECG leads must be connected to both the hSensor platform and the patient for correct readings to be shown. After the leads are connected, tap the Start Mission button on the screen. The platform will start sampling ECG R-to-R information and display the resulting heart rate, temperature, accelerometer, and barometer data.


To disconnect the hSensor device, tap the DISCONNECT button found at the top of the screen.

Firmware description

The firmware for the MAXREFDES100# is based on an interrupt-driven design model. When power-up is complete, default configuration of the power management device and sensors is performed by the microcontroller which then waits for remote procedure calls (RPC) from the GUI or Android application.

Figure 19 shows the simplified firmware flowchart:

Image of simplified firmware flowchart V10

Figure 19: Simplified firmware flowchart V10.

This concludes the description of the MAXREFDES100# health sensor platform setup and operation. After completing the appropriate steps outlined in this article to set up the hSensor platform, you are now ready to evaluate the reference design and customize it through the GUI to suit your required application needs.

1-Wire is a registered trademark of Maxim Integrated Products, Inc.
Android is a registered trademark of Google Inc.
ARM is a registered trademark and registered service mark and Cortex is a registered trademark of ARM Limited.
The Bluetooth word mark and logos are registered trademarks owned by Bluetooth SIG, Inc. and any use of such marks by Maxim is under license.
QSPI is a trademark of Motorola, Inc.
Windows is a registered trademark and registered service mark of Microsoft Corporation.


Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of Digi-Key Electronics or official policies of Digi-Key Electronics.

About this author

Maxim Integrated

Article contributed by Maxim Integrated.