Nick Howard wrote: >I need to build a heart rate monitor using light passing through a finger >being detected by a photodiode. The output should for preference be a >voltage pulse between 0V and a volt or two. Single rail operation would >also be an advantage. Nick, Regarding your interest in a pulse rate monitor, it should be mentioned up front that this is a non-trivial task. A few years ago I was part of a team that designed a pulse oximeter which is a device for measuring oxygen saturation, a commonly used type of patient monitor. While it would be inappropriate to devulge details of the design, I believe I can offer some general comments and perhaps point out where some of the problems are. The basic setup is an LED on one side of a finger and a photo detector on the other side. Pulse oximeters use two LEDs, typically one in the red range and the other in the IR range. For simple pulse rate you will probably want to use an IR LED, something around 940 nm. If you sample the output of the photodetector and properly filter it, you can reconstruct a pulse wave form. Once you have that there are a number of techniques for extracting rate. While you could leave the IR LED on all the time, you can achieve significant power reduction by turning it on only while the detector is being read. Sampling rate should not be a problem. For most cases, max pulse rate is less that 4/sec. It should not be difficult to sample the detector at rate much faster that that, say 100/sec. (A PIC can do a ton of stuff in 10ms.) Now for some of the gotchas. The first problem is that all fingers are different. The amount of light seen by the detector will vary widely from person to person, possibly dictating the need for some sort of automatic gain control. You may also need to control the brightness of the LED. The second, and more difficult problem, is motion artifact. Any motion of the finger will change the absorption of the optical path and will introduce waveform anomalies that can mask the pulse wave form. There are a variety of filtering approaches including digital signal processing techniques that can be and are used to extract the pulse waveform. The third area has to do with extracting rate. Measuring the time between common waveform features such as peaks will be imprecise. You may wish to consider counting the number of peaks over a given period using some sort of moving window. I suggest that you start off simple, reading the photo detector at some reqular rate, capture the data and then examine it to see how to best process it. If I can be of any additional help, please let me know, although I am somewhat restricted as to what I can share. -- Bob Fehrenbach Wauwatosa, WI bfehrenb@execpc.com