This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Reading MAX32664 and MAX30101 (SparkFun pulse oximetry and heart rate sensor) with nRF52832?

Hello,

I am trying to develop a firmware to read pulse oximetry and heart rate data from this Sparkfun module (SEN-15219): https://www.sparkfun.com/products/15219

The module comprises the MAX30101 pulse oximetry/heart rate sensor and the MAX32664 biometric sensor hub.

I would like to know if anyone did something similar and if he/she can share the code that was used. I only find examples that are based on Arduino but nothing that really works on nRF modules of any sort.

I thank you all in advance for your help.

Best regards!

Parents
  • Hi

    I also want to communicate with a Max32664 but I can't get the sensor to start.

    I think this should just start the sensor or at least light up the LEDs

    https://pdfserv.maximintegrated.com/en/an/user-guide-6922-max32664b-quick-start-guide-rev2-p1.pdf

    table2 page 9

    ret_code_t err_code;

    nrfx_twim_config_t config;
    config.hold_bus_uninit = false;
    config.scl = SCL_PIN;
    config.sda = SDA_PIN;
    config.frequency = NRF_TWIM_FREQ_400K;

    nrfx_twim_init(&m_twim_ppg, &config, NULL, NULL);
    nrfx_twim_enable(&m_twim_ppg);

    uint8_t cmd[4] = {0x44,0x04,0x01,0x01};
    uint8_t response[1];
    memset(response,0,1);

    nrfx_twim_xfer_desc_t xfer;
    xfer.address = ADDRESS_WRITE;
    xfer.p_primary_buf = &cmd;
    xfer.primary_length = sizeof(cmd);
    xfer.p_secondary_buf = &response;
    xfer.secondary_length = sizeof(response);
    xfer.type = NRFX_TWIM_XFER_TX;

    err_code = nrfx_twim_xfer(&m_twim_ppg, &xfer, 0);

    are you willing to share your code if you got it working?

Reply
  • Hi

    I also want to communicate with a Max32664 but I can't get the sensor to start.

    I think this should just start the sensor or at least light up the LEDs

    https://pdfserv.maximintegrated.com/en/an/user-guide-6922-max32664b-quick-start-guide-rev2-p1.pdf

    table2 page 9

    ret_code_t err_code;

    nrfx_twim_config_t config;
    config.hold_bus_uninit = false;
    config.scl = SCL_PIN;
    config.sda = SDA_PIN;
    config.frequency = NRF_TWIM_FREQ_400K;

    nrfx_twim_init(&m_twim_ppg, &config, NULL, NULL);
    nrfx_twim_enable(&m_twim_ppg);

    uint8_t cmd[4] = {0x44,0x04,0x01,0x01};
    uint8_t response[1];
    memset(response,0,1);

    nrfx_twim_xfer_desc_t xfer;
    xfer.address = ADDRESS_WRITE;
    xfer.p_primary_buf = &cmd;
    xfer.primary_length = sizeof(cmd);
    xfer.p_secondary_buf = &response;
    xfer.secondary_length = sizeof(response);
    xfer.type = NRFX_TWIM_XFER_TX;

    err_code = nrfx_twim_xfer(&m_twim_ppg, &xfer, 0);

    are you willing to share your code if you got it working?

Children
No Data
Related