Maxim Integrated Page 11 of 15
3 Measuring Heart Rate and SpO
2
on Finger
3.1 Raw Data Collection Mode
For hardware testing purposes, the user may choose to start the MAX32664A to collect raw PPG
samples. In this case, the host configures the MAX32664A to work in Raw Data mode (no
algorithm report). Table 6 lists the set of commands that are needed to work in this mode. In Raw
Data mode, only raw PPG samples and accelerometer data are included in the received samples.
The AGC must be turned off to collect raw PPG data, as shown in step 1.6 in Table 6. In this
case, LED currents will not be adjusted automatically. Although the algorithm is running, it will not
affect the PPG samples. If the reported PPG data is saturated, you can reduce the LED currents
as shown. Note that updating MAX30101 registers should appear AFTER enabling the algorithm
and the MAX30101, or they will be overwritten during initialization. By setting the output mode to
sensor data in step 1.1, only the 12-byte PPG data of the MAX30101 and 6-byte accel data will
be reported in received samples.
Table 6. Host CommandsāRaw Data Mode
#
COMMAND DESCRIPTION
Host initializes the MAX32664A:
Set the output mode to sensor data (0x01,
streamed data will include only PPG and
Set the sensor hub interrupt threshold.
AA 44 04* 01 00 (if sensor
hub accelerator is used)
AA 44 04* 01 01 (if host
Enable the accelerometer with the sensor
hub or host-side accelerometer.*
(Do not use this command if there is no
Enable the AFE (e.g., the MAX30101).
Enable the HR/SpO
2
algorithm
Wait for 100ms before sending the next command. Any command to change the sensor
registers should appear AFTER enabling the algorithm or they will be overwritten.
Set the MAX30101 LED1 (red) current to half
of full scale. Reduce [7F] if the signal is
Set the MAX30101 LED2 (IR) current to half
of full scale. Reduce [7F] if signal is
Host reads samples upon receiving the MFIO interrupt by the MAX32664A. For raw data, repeat as
needed to collect PPG counters.
Read the sensor hub status byte:
Bit 0: Sensor comm error
Bits 1 and 2: Reserved
Bit 3: FIFO filled to threshold (DataRdyInt)
Bit 4: Output FIFO overflow (FifoOutOvrInt)
Bit 5: Input FIFO overflow (FifoInOverInt)
Bit 6: Sensor hub busy (DevBusy)
Bit 7: Reserved
If DataRdyInt is set, proceed to the next step.
Get the number of samples (nn) in the FIFO.
Read the data stored in the FIFO; nn
samples (18 bytes each) will be read. The
format of samples is shown in Table 7.
data_for_