Making progress with frontend health sensors

Hello,

I have an ADPD4000 module (EVAL-ADPD4100-4101 Evaluation Board | Analog Devices) that I wanna get started working on and create a wearable heart-rate, temperature and bioimpedance monitoring device but I'm having a difficult time where to start like how do I connect it to an Arduino Nano and how to read data coming from it.

May I ask how do I move forward from this?

I guess you meant this link: EVAL-ADPD4100-4101 Evaluation Board | Analog Devices

The user guide there talks about an ARM Cortex M3 or M4 based evaluation board in addition to the sensor module.

If you want to do it using only the EVAL-ADPD4100-410 Multimodal SensorFront End module, then you'll have to understand the data sheet for extracting and interpreting the raw data : https://www.analog.com/media/en/technical-documentation/data-sheets/adpd4100-4101.pdf

6v6gt:
The user guide there talks about an ARM Cortex M3 or M4 based evaluation board in addition to the sensor module.

Yes, I saw that as well but it's too expensive for me as of the moment. It's my first time dealing with datasheets for it so I'm a bit loss on understanding it. Is there a part of the document that tells how I can receive the data thru an external non-Analog Devices board using Arduino?

That is an extremely ambitious task. There is no easy start to that.

The device appears to be 1.8v and 3.3v logic so, for a Nano ( a 5.0volt device) , you'd need some sort of level shifting. The module appears to be fitted with the SPI version of the chip. All assuming a Nano is powerful enough.

You don't passively get data out of it, you send it a series of commands to drive the connected leds and send in the analog readings from the sensors which respond to the reflected/transmitted light of the leds. It then processes (or maybe part processes) the data and returns it. At least, as far as I could see.

That means, for the biometric characteristic you want to measure, you have to be able to select the appropriate stimulator source, say combination of different leds, how you want to drive them, how you want to receive and process the resultant signals from the sensors. Once you've done that, you have to work out how to configure the ATPD4100 to do all that, then collect the results.

That evaluation kit consists of a sensor chip mounted on a board with some leds, photo diodes, an accelerometer etc. It is intended to be connected to an ARM M3 or M4 based motherboard. But that is not all. A PC application controls the ARM based motherboard, can generate graphs etc. from the data and can also prepare data for MATLAB etc.

You may be lucky if a search for an Arduino project based on this chip (or maybe a predecessor) turns up something, otherwise you are more or less on your own.

You mentioned that temperature was one of the characteristics you want to measure. There are much simpler, existing Arduino projects for that. There are other simpler pulse rate measuring projects but, again, not using the ATPD4100

Talking to the chip is easy. it's either SPI or I2C, both of which are used alla time on the Arduino. The chip comes in two flavors, the 4000 uses SPI, the 4001 uses I2C.

You may find reasons to prefer one over the other.

What to say, however, is not so easy. Short of finding someone else who already did figure it out and made either a library or a good piece of code you can steal borrow from, you'll need to become intimately familiar with the ADPD4000, which means hours in front of the fireplace with your cat reading the data sheet.

@6v6gt yeah, that's a lotta chip there. Casual searching found nothing.

HTH

a7

6v6gt:
That is an extremely ambitious task. There is no easy start to that.

Yes, I agree but I won't be asking if I'm not willing to start in the first place. It is and will be difficult from here on out but I hope to push forward. A step in the right direction would be most helpful :slight_smile:

You don't passively get data out of it, you send it a series of commands to drive the connected leds and send in the analog readings from the sensors which respond to the reflected/transmitted light of the leds. It then processes (or maybe part processes) the data and returns it. At least, as far as I could see.

That is also something I'm trying to understand since it does have LEDs in my board that I need to run.

That evaluation kit consists of a sensor chip mounted on a board with some leds, photo diodes, an accelerometer etc. It is intended to be connected to an ARM M3 or M4 based motherboard. But that is not all. A PC application controls the ARM based motherboard, can generate graphs etc. from the data and can also prepare data for MATLAB etc.

Yes, the EVAL-ADPDUCZ but I'm hoping to get to use boards such as an Arduino Nano or the Arduino BLE sense I have right now which could possibly have more computing power needed.

You may be lucky if a search for an Arduino project based on this chip (or maybe a predecessor) turns up something, otherwise you are more or less on your own.

I tried from this forum and the Analog Devices forum but to no avail. I did howevery find a Github page on the firmware: GitHub - analogdevicesinc/adpd-drivers: Analog Devices Photometric Device Drivers
but I got confused trying to understand the code and how to implement it via Arduino IDE.

You mentioned that temperature was one of the characteristics you want to measure. There are much simpler, existing Arduino projects for that. There are other simpler pulse rate measuring projects but, again, not using the ATPD4100

Yes, I have ask in this forum before about the LM35 for a school project. Thanks to everyone who help. I was able to make the app and everything and learned a lot in the process. I like to learn now how to use other health sensors such as the adpd4000 I have right now so I can learn new ways of reading sensor data. If you can recommend other sensors that's more documented, that would be good. I'm also going into learning registers and ports since I plan to pursue embedded learning in the near future.

alto777:
Talking to the chip is easy. it's either SPI or I2C, both of which are used alla time on the Arduino. The chip comes in two flavors, the 4000 uses SPI, the 4001 uses I2C.

I have to be honest, it's my first time dealing with SPI and I2C communication. I did saw that in the datasheet but I don't know how to do registers to deal with that. What I vaguely know is that you have to call the registers or something, do correct me if I'm mistaken.

You may find reasons to prefer one over the other.

I agree, I'll look into that

What to say, however, is not so easy. Short of finding someone else who already did figure it out and made either a library or a good piece of code you can steal borrow from, you'll need to become intimately familiar with the ADPD4000, which means hours in front of the fireplace with your cat reading the data sheet.

Yes, I was also trying to look for any previous projects on this but both the Arduino forum and Analog Devices forums seems to have none of those. This might be the first post about it if ever and this is somehow good, at least it can serve as a basis for those going to use ADPD4000/ADPD4001 in the future.
Hoping others might join along to share a thought or two about this :slight_smile:

refer_pin:
I have to be honest, it's my first time dealing with SPI and I2C communication.

Does anyone know what possible health sensors I can practice with to learn either SPI or I2C?

refer_pin:
Does anyone know what possible health sensors I can practice with to learn either SPI or I2C?

So what I'm seeing is I can either start with MAX30001-5, MAX32664, MAX86150 or AD8232. Asking if this is a good direction to move forward to and which is the most beginner friendly to begin with?

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.