Support Forum

Share your projects and post your questions

Register   or   Sign In
The Forum

Pulse Rate/Temperature/GSR

2598 Views - Created 08/04/2016


Posted by:

TheBlackSheep Avatar

I'm building a prototype Raspberry PI based measurement device which will sense pulse rate/skin temperature/galvanic skin response (GSR) and so I'm looking to use one of the ADC devices to cover off all these inputs (it doesn't need to be highly accurate and it won't be used in a medical use - I just need it to detect the pulse and changes from a base level for the other areas).
I'm planning to base the finger pulse detection based on the photoplethysmography techique (detecting the change in IR levels at the fingertip) using either a device similar to the Keyes KY-039 ( or a VISHAY TCRT1000.
This latter one looks better from a mounting perspective as I don't really want a fingertip type holder sticking above the housing and it looks like the keyes style one will require this for the IR emitter. Has anyone experience of these?
The Arduino examples seem to hook the output from the device directly to the input of the AD convertor but many examples of standalone devices need several op-amps in between to amplify/apply differentials so just wondering whether I'll need this extra circuitry (and whether I need to build similar for GSR)? Will the ADC-Pi Plus (or for a limited input the ADC-DAC) be the best option or is there an advantage in using the ADC Differential board?


Posted by:

andrew Avatar

United Kingdom

andrew Twitter  andrew Website  

For reading the heartbeat you are going to need a fast sample rate as you will need to measure the time in between the pulses. The ADC Pi Plus and ADC Differential Pi are probably going to be too slow for this as the maximum sample rate is 240 samples per second. The ADC DAC Pi is faster at around 12,000 samples per second which should be fast enough to get a usable reading.

As a heartbeat is basically a logic signal, the heart is either beating or not, a better approach may be to use some opamps to build a comparator circuit which triggers when the heart beats. You could then connect this directly to one of the Raspberry Pi GPIO pins and configure the pin as an interrupt so a function is called every time the heart beats. You would then just need to measure the time span between the function calls to work out the heart rate. This would have the advantage that the processor would not be tied up with taking voltage samples between beats like it would be using an analogue to digital converter and the accuracy would probably be higher as you could measure the time between heartbeats down to the millisecond.

I have never tried measuring galvanic skin response but most of the circuits returned from google appear to use opamps to amplify and condition the signal before passing it into an ADC. Any of our ADC boards should do the job of measuring the voltage but as you will be using the opamps to set the voltage limits I would probably recommend the ADC Differential Pi. It is more accurate than the ADC Pi Plus at measuring small voltages and it is slightly cheaper. If accuracy is not an issue then the ADC DAC Pi would do the job and the two input channels would give you one for temperature and one for GSR.


Posted by:

TheBlackSheep Avatar

Thanks I've ordered the ADC DAC board now (and some other stuff) so will use that one in my prototypes - I've found a really simple GSR circuit for an Arduino so I'll try that before adding trying to add any comparitor circuity as accuracy isn't a necessity. Thanks again.

Sign in to post your reply

Note: documents in Portable Document Format (PDF) require Adobe Acrobat Reader 5.0 or higher to view.
Download Adobe Acrobat Reader or other PDF reading software for your computer or mobile device.