This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AFE4403: Can the AFE44XX be used for other purpose?

Part Number: AFE4403

Hi, I'm David.I have purchased a module that uses the AFE4403.

Instead of measuring SpO2 with the module, I was wondering if this can measure the followings.

1) Dissolved Oxygen (DO) of an arbitrary liquid

2) Heart rate of a user Can the AFE44XX be used fo

Can the AFE44XX be used for other purposes?

Or is this for measuring SpO2 only?

  • Hi David,

    Yes AFE4403 can certainly be used for Heart rate measurements.

    Regarding the application to measure the dissolved oxygen of liquids, are you referring to the Fluorescence method?
    Can you throw some insights into your application for example: the # of LEDs reqd., the wavelengths, # of photodetectors?
    Will your application require 2 photodiodes with different filters?
    What kind of input current levels are you expecting to measure?
  • Hello, Praveen. Thanks for your time!

    Praveen Aroul said:
    AFE4403 can certainly be used for Heart rate measurements.

    After reading the SpO2 value with the AFE4403, is it possible to measure the heart rate?

    Is there a formula to calculate the heart rate with SpO2 values?

    Or do I have to read other register values to measure the heart rate?

    Praveen Aroul said:
    Regarding the application to measure the dissolved oxygen of liquids, are you referring to the Fluorescence method?

    Wow, actually I haven't done much research on this. 

    I was trying to start with an AFE4403 module that uses one OSRAM SFH7050 with the TM4C123GXL launchpad.

    So 3.3V will be applied to the AFE4403.

    After measuring the user's heart rate with it, I was trying to conduct an experiment to measure DO of a liquid.

    I'm new with the AFE4403, so I don't have any idea about the "photodiodes", "different filters", "current levels", and more.

    Then using only one OSRAM SFH7050 wouldn't be enough to use the Fluorescence method?

    While waiting for your reply, I will read about the above criteria.

  • Hi David,

    We don't have a separate register for the hear rate, you still have to LED or LED-AMB phase. Also AFE doesn't give heart rate directly, it gives the raw data that you have to process to find the heart rate. One simple way is to count the no of peaks in a given time to determine the heart rate.

    Regards,
    Prabin
  • Hello, Prabin.

    Prabin Yadav said:
    We don't have a separate register for the hear rate, you still have to LED or LED-AMB phase.

    I see. Thanks for pointing that out.

    Prabin Yadav said:
    One simple way is to count the no of peaks in a given time to determine the heart rate.

    Before closing this, I wish to ask one more thing.

    While reading your answer and the FAQ page, I really wanted to ask you about the "peak" counting.

    After power-up, the internal registers must be initialized to the default values. This initialization can be done in one of two ways:

    Through a hardware reset by applying a low-going pulse on the RESET pin, or

    For instance, this is how the registered are initialized after applying the hardware reset.

    {LED2STC,  0x0820},
    {LED2ENDC, 0x0f9e },
    {LED2LEDSTC, 0x07d0 },
    {LED2LEDENDC, 0x0f9f },
    {ALED2STC, 0x0050 },
    {ALED2ENDC, 0x07ce },
    {LED1STC, 0xc350 },
    {LED1ENDC, 0xc350 },
    {LED1LEDSTC, 0xc350 },
    {LED1LEDENDC, 0xc350 },
    {ALED1STC, 0x0ff0 },
    {ALED1ENDC, 0x176e },
    {LED2CONVST, 0x1775 },
    {LED2CONVEND, 0x1f3f },
    {ALED2CONVST, 0x1f45 },
    {ALED2CONVEND, 0x270f },
    {LED1CONVST, 0x2715 },
    {LED1CONVEND, 0x2edf },
    {ALED1CONVST, 0x2ee5 },
    {ALED1CONVEND, 0x36af },
    {ADCRSTSTCT0, 0x1770 },
    {ADCRSTENDCT0, 0x1774 },
    {ADCRSTSTCT1, 0x1f40 },
    {ADCRSTENDCT1, 0x1f44 },
    {ADCRSTSTCT2, 0x2710 },
    {ADCRSTENDCT2, 0x2714 },
    {ADCRSTSTCT3, 0x2ee0 },
    {ADCRSTENDCT3, 0x2ee4 },
    {PRPCOUNT, 0x09c3f },
    {CONTROL1, 0x0107 },
    {TIAGAIN, 0x8006 },
    {TIA_AMB_GAIN, 0x06 },
    {LEDCNTRL, 0x11414 },
    {CONTROL2, 0x20000 },
    // commented CONTROL3 Register
    // {CONTROL3, 0x08000}

    Then I read 6 register values; LED2VAL, ALED2VAL, LED1VAL, ALED1VAL, LED2-ALED2VAL, and LED1-ALED1VAL.

    Do you search the peak values of LED2-ALED2VAL and LED1-ALED1VAL values (or other register values) by applying peak detecting algorithm codes in the firmware?

    Prabin Yadav said:
    you still have to LED or LED-AMB phase.

    Also, is the term "phase" meaning the peak as well?

  • Hi David,

    I would suggest to read all 6 output registers and use algorithm to search peak in LED2-ALED2VAL and LED1-ALED1VAL data. The reason for reading other 4 phase of data is to look for ADC saturation. We should not saturate the ADC in any of the phase as it will take some time to recover and may corrupt other data as well. If saturation is detected , the algorithm should tweak some parameter such as LED current, TIA gain, Offset DAC etc.

    Phase means channel, there are 4 channels i.e. LED2, ALED2, LED1 and ALED1.

    Regards,
    Prabin