Introduction: Micro-Controlled Pulse Oximeter

For this project I plan on showing you what I have done so far with my Micro-controlled Pulse Oximeter project. My passion for electronics and fitness are very strong, so I decided to create a project that would allow me to use both of my passions.

Disclaimer: This project is not completed and the values listed may not work for you. It is best to test it out yourself and try to debug the issues.

Step 1: Gather the Materials

For this project you will need the following components:

  • x1 CNY70 Reflective Optical Sensor with Transistor Output
  • x2 MCP6004 General OPAMPs
  • x6 Resistors
  • x3 Capacitors
  • x1 Arduino Lilypad

Step 2: Building the Pulse Sensor

First, I looked at the datasheet for the CNY70 Reflective Optical Sensor. Using the information from that datasheet I figured out that I needed around a 33ohm resistor going into the IR LED. This would allow for a 50mA current to be flowing with a forward voltage of 1.25V. The voltage I supplied to my whole system was 3.3V.

Link to CNY70 datasheet:

Secondly, I had to house the CNY70 part so that it could be interchangeable (just in case I needed to replace it). So, I soldered a few wires to a 4 pin female connector then on the other end I used a 4 pin male connector so that it could be plugged into the breadboard.

Lastly, I connected my CNY70 to the female connector and connected the other end to the board. I also connected the output of the CNY70 to the first OP-AMP that I would be using.

Step 3: Setup the Rest of the Circuit

The rest of the circuit is plug and play. What needs to be put together is a Trans-impedance Amplifier, a High Pass Filter, and an AC Gain stage.

Trans-impedance Amplifier:

Using a MCP6004 OP-AMP, I followed the pin layout of this chip. I built my trans-impedance amplifier using an inverting OP-AMP setup. A resistor in feedback with a capacitor also in feedback. This capacitor might not be necessary due to the fact that its main purpose is to filter out noise. The resistor value should be based on the current from the phototransistor of the CNY70.

High Pass Filter:

A high pass filter was used to filter out more noise from the pulse sensor. Using a capacitor in parallel with two resistors, the noise should be filtered out. A little bit of guessing and checking was the method I used to try and find out what would work for my circuit.

AC Gain Stage:

The AC Gain stage is made of a non-inverting OP-AMP. The whole idea of this stage is to only allow for our pulse signals to be fed into the Arduino Lilypad. The ADC inside of the Arduino will read from the output of the OP-AMP used in the AC Gain stage.

Step 4: A Continuation of the Project

At this moment this project is not complete. What I plan on doing with this project is to configure the software of the Arduino Lilypad to send a Bluetooth signal to a person's phone. The main goal of this project is to create an application for a mobile device so that the user can track their own heart rate. I want to tailor the user's goal to the heart rate range that they should be in for that goal to be achieved. This way the user can optimize their workouts. I have attached a PowerPoint I have made with the main goal that I am talking about.

Step 5: Add Anything That You Want

This project is not set in stone, so whatever you want to add to it to make it better then do it. This project is nowhere near perfect, but I enjoy it. There definitely are better parts/ways to optimize it. Try some new things to make this project your own.