You are on page 1of 10

Flash Sale!


Make: Magazine 4 issues for $19.99
(https://readerservices.makezine.com/mk/default.aspx?pc=MK&pk=M0CFLS1)

More
LOG IN
Maker Faire Shop Make: Projects

All Magazine MagazineBoard


Maker Camp Maker
Stories Projects Guide Spotlights

Partner With Us

MAKE: PROJECTS

Infrared Pulse Sensor


By Sean Michael Ragan
Time Required: 5 hours
Di culty: Moderate

a d y
0
h
202
A2
#
Weekend Projects - Infrared Pulse Sensor

Privacidad - Condiciones

Taking your pulse is as simple as holding a nger to your neck or wrist


and timing the beats with your watch. But if you want to record the data
or use it to trigger events, you need to turn that mechanical pulsing action
into an electrical signal. This pulse sensor ts over a ngertip and uses
the amount of infrared light re ected by the blood circulating inside to do
just that.

NOTE: While we think it’s pretty obvious, our lawyer just tapped us on the
shoulder and asked us to emphasize that this is not a medical device. If
your application is life- or health-critical, please use only an FDA-approved
medical-grade pulse sensor, OK? Thanks!

Privacidad - Condiciones

Schematic with symbolic op-amp representation.


The sensor itself consists of an infrared emitter and detector mounted 
side-by-side and pressed closely against the skin. When the heart pumps,
blood pressure rises sharply, and so does the amount of infrared light
from the emitter that gets re ected back to the detector. The detector
passes more current when it receives more light, which in turn causes a
voltage drop to enter the ampli er circuitry. This design uses two
consecutive operational ampli ers (“op-amps”) to establish a steady
baseline for the signal, emphasize the peaks, and lter out noise. Both
op-amps are contained in a single integrated circuit (IC or “chip”), and
hooking them up is really just a matter of interconnecting the pins
correctly.

Schematic with physical op-amp representation.

The two op-amps output a clean but weak signal which is ampli ed by
the transistor before output.

Privacidad - Condiciones

Component- and solder-side views of the complete sensor, without nger cuff.

The complete pulse sensor is a three-wire device that runs on 5V and


outputs signal on the white wire. You can visualize and/or record this
signal in a number of ways, but we’ve chosen to connect to a personal
computer through Arduino, mostly because of the ease of integrating
Processing, which in turn is very handy for visualization. But you don’t
really need an Arduino to use the sensor. More on that below.

Privacidad - Condiciones

Sample output in Processing.

Related Stories from Make:

Amateur Scientist: Motion Sensing Build Your Own How to Use LEDs
Experimenting with Presence Lights Android-Powered to Detect Light
Light and Dark Self Driving R/C
Sensors Car

September 26, 2013, 8:01 pm PDT

PARTS / TOOLS
PARTS
24AWG 4 Solid Conductor Intercom Wire RadioShack #278-858

LM324 Quad Op Amp , 14-pin DIP RadioShack #276-1711


Privacidad - Condiciones

NPN Small Signal Transistor, 2N3904 RadioShack #276-2016


USB A/B cable RadioShack #26-2740 
Multipurpose PC Board with 417 Holes RadioShack #276-150

0.1μF Ceramic Disc Capacitor (2) RadioShack #272-135

1.0 μF Tantalum Capacitor, 35V 20% (2) RadioShack #272-1434

Carbon lm resistors, 1/8 W, from assortment (8) RadioShack #271-003 -


470K, 68K (2), 39K, 8.2K, 1.8K, 1K, 220Ω

Infrared LED Emitter and Detector RadioShack #276-142

Arduino Uno RadioShack #276-128

Jumbo Adhesive-Backed Cable Clip RadioShack #278-1641

STEPS
Project Steps
1. Cut the PCB.

2. Drill the cable clip.

3. Mount the emitter/detector pair.

4. Mount the chip.

5. Solder the chip connections.

6. Connect the signal pathway.

7. Install the cable.

8. Connect your data recorder.

9. Visualize your data with Processing.

ADVERTISEMENT

Privacidad - Condiciones
Step #8: Connect your data recorder. 

Remove the adhesive lm from the base of the cable clip and x it to the
component side of the PCB, over the emitter and detector.
Your sensor is now ready to use with the data recorder of your choice. It
needs a ground connection on the black wire and +5V DC on the red wire.
The pulse signal comes out on the white wire. Your desktop or laptop
computer can be con gured to visualize and record the output from the
pulse sensor in several easy ways. For instance, programs like FreeVIEW-
Sound-PRO allow you to receive, display, and record sensor data through
your computer's microphone input. We'll set up a serial connection through
an Arduino development board, which is a nice option because it's easy to
interface with Processing for visualization.
Separate the leads at the free end of the intercom cable over a length of
about 1", and strip about 3/8" of the insulation from each. Insert the black
lead into Arduino's GND pin header, the white lead into the A0 pin header,
and the red lead into the 5V pin header.
Privacidad - Condiciones
When ground and power are connected, you should see a very faint red
glow coming from the emitter. Through a digital camera, this glow will 
appear much brighter and, probably, more violet than red. This is because
digital camera image sensors are more sensitive to near-infrared radiation
than the human eye.
Download and install the Arduino software, then connect the Arduino to
your computer with a USB A/B cable. Grab the SimpleSerialReporter.ino
sketch from our Github repository, open it from the Arduino software
window, and click the arrow button to upload the sketch to the board. If you
open the Serial Monitor tool (Ctrl + Shirt + M) you should now be able to see
the raw data streaming off the sensor as a column of numbers.

CONCLUSION
There are lots of opportunities to take this project further, many in software
alone. The simple IRPulseSensor sketch we've provided doesn't do much
besides display a "sweep" of the signal coming off the sensor. If you want to
record the data, you could add code to periodically write the serial values to a
le, as well. The next step would be guring out how to make the software
detect peaks. And once you can detect a peak, why not make it beep or play
some other sound in response to each heartbeat? And if you can detect peaks,
calculating the average pulse rate is as easy as adding them up and dividing
by elapsed time. Time is easy to track in software, and at that point you might
as well update the display to include time information on the horizontal axis.
You could also display real voltage units on the vertical axis (1 unit returned by
the Arduino's AnalogRead function represents 0.049 real Volts) and, if you're
feeling really fancy, add an auto-ranging feature that calculates average peak
height on an ongoing basis and automatically adjusts the vertical scale to ll
the full height of the display.

There are interesting possibilities on the hardware side, too. This circuit is a
pared-down version of this ambient-light pulse sensor from Let's Make
Robots! community member MarkusB. The original design also includes a big
noise- ltering capacitor on the power supply, a proper feedback resistor on the
primary op-amp, and a 10K trimpot to tune the secondary stage, and is a good
starting point if you're interested in tweaking the ampli er design for sharper
peaks or greater sensitivity. The emitter that comes in RadioShack's set is a
fairly low-intensity IR LED, and though it works great, it would be interesting to
swap it for one of the newer high-output IR emitters and see what happens.
Likewise, though the solid-core intercom wire is very handy for connecting an
Arduino, a 1/8" stereo phone cord with stranded conductors would be more
exible and easier to connect and disconnect.
Privacidad - Condiciones
Whatever your experience with this project, please let us know! We'd love to
hear about any uses, mods, improvements, or hacks you dream up! 

Sean Michael Ragan


I am descended from 5,000 generations of tool-using primates. Also, I went to
college and stuff. I am a long-time contributor to MAKE magazine and
makezine.com. My work has also appeared in ReadyMade, c't – Magazin für
Computertechnik, and The Wall Street Journal.

Subscribe for Make: Community News

Email

First Name Go

Last Name

Privacidad - Condiciones

About us Contact us

Our team Contribute to Make:

Advertise with us Find a Maker Faire

Help Center Manage Magazine Subscription

Make:

   
Maker Faire:

   

Privacy Policy Terms of Use

©2020 Make Community LLC. All rights reserved

Privacidad - Condiciones

You might also like