Heart rate counter using timer and counters

In this project I’ve designed a simple heart beat rate counter using basic building blocks of electronics like timer and counters, OPAMPs etc. My challenge here was to design it without using any microcontroller and to give it a retro look like the 80’s and early 90’s. So I fabricated it on a preff board and soldered the connections using wires.

The main function of this device is to count pulses form your finger tip for 1 minute. After a minute the 7 segment display will freeze for 10 seconds, the value on the display will be your heart beat rate or BPM. Then by pressing a RESET button all the timer, counters and registers are reset back.

1. heart RATE  sensor design
ECG response. Image source : Internet

The electrocardiogram is the best way to see the electrical response of our heart whenever it pumps blood. From the graph it can be seen that the R peak is the highest peak of the signal. The counters counts only in the presence of clock signal. CLOCK signals are basically a train of square wave at a certain frequency. So the main objective of the heart rate sensor will be to generate square wave which will be triggered by the R peaks of the signal. My first attempt was to use a contact microphone with an amplifier which will generate the exact response as shown in the image and using a comparator I can easily  generate square waves from the R peaks. But keeping the deadline of the project in mind I’ve to change my plan and I decided to use infrared sensor instead. This technique is known as Photoplethysmography where we use a pair of infrared LED and an infrared receiver to generate electrical signals corresponding to the intensity of blood flow through our finger due to the systolic and diastolic pressure.

For the IR transmitter and receiver I am using the TCRT5000 module because the package design is suitable for this project. The image below will show the pin diagram and the most basic interfacing of the TCRT5000 which will output a voltage that can be used for taking ADC readings also.

Basic things needed to interface TCRT5000. R2 limits the current for IR transmitter. R1 controls the sensitivity of the output
Top view and pin out diagram of TCRT5000

 

 

 

 

 

 

 

The receiver of the TCRT5000 is a phototransistor which allows current to flow whenever the base is triggered by the photons emitted by the IR transmitter. To get an output voltage we need to add a resistor which will create a voltage drop across it. Now to get our pulses we need some more add-ons. The circuit below is the actual circuit I used to generate CLOCK pulses for the counter.

With the following passive high pass filter and active low pass filter it is forming a band pass filter which allows the frequencies between 0.7 Hz to 2.34 Hz that also have a gain of 101.  The output LED is to give us visual feedback whenever there is pulses. The output is feed to a comparator circuit which will output the clock pulses for the counters. The 10K trim pot is used to adjust the sensitivity of the comparator.

2. pulse counter and display driver

The CD4026 is the appropriate IC I used for this, it is a counter plus 7 segment decoder in one package. The following circuit diagram will show the connection of the 7 segment displays with the CD4026.

  • Pin 1 is the CLOCK pin. The output of the heart rate sensor is attached with it.
  • Pin 5 is the CARRY OUT pin so the pin 5 of the first CD4026 is connected with the CLOCK pin of the second CD4026. So that after 9th count the first counter will get reset and start counting from zero but the second counter will count 1 and it will display 10.
  • Pin 15 is the RESET pin which resets both the counters whenever the push button is pressed.
  • Pin 2 is the Disable CLOCK pin. If it is pulled HIGH then the counter will no longer response to the clock pulses. This pin is connected with a precision 1 min timer which makes the pin HIGH for 10s after 1 min. Thus the display freezes and we get the heart rate.
  • Pin 3 is the Display Enable pin which needs to be pulled up to +5V to make the display work.
  • Pin 16 is the Vcc pin.
  • Pin 8 is the Ground pin.
  • The other pins are the output pins which is connected to the segments of the display.
3. precision 1 min timer

This circuit consist of a 555 timer running in astable mode with 50% duty cycle. The frequency of the timer needs to be 1Hz  (1/(on time + off time)). The output of the 555 timer is feed to the CLOCK pin of the 1st CD4017 decade counter IC which will shift it’s output every 1s. There are 10 outputs so we are getting a time of 10s now the CARRY OUT pin of the 1st CD4017 is connected to the CLOCK pin of the 2nd CD4017. So after 10s the Q0 pin of the 2nd CD4017 goes HIGH after 20s Q1 pin goes high and so on. So at pin Q5 we will get exactly 60s or 1min and Q5 will be HIGH for 10s. That will activate a flip flop (IC7474) which will then make the CLOCK DISABLE pin of the two CD4026 HIGH for 10s. The circuit diagram for the precision 1 min timer is shown below.

4. power supply

To make it portable I’ve used a 2000mAh cell phone battery with a DC-DC boost converter to provide 5V to the circuit which gives a run time of 7 days in a single charge.

Future modifications : I’m working on a digital stethoscope which will be added in this circuit.

Advantage of using microcontroller : If this project is done using a microcontroller the circuit would be more simple. We don’t have to wait 1 min to get the reading as in the software part we have the freedom of doing calculations. But in this method we will learn the core of digital electronics.

Here is the video demonstration of this project

Written by : Subhadeep Biswas

Reverse engineering an automatic air freshener spray machine

There are lots of commercial electronic products available in the market with simple to intermediate to complex and more complex circuit designs. Now to clarify how they works we have to study the circuit and try to apply our existing knowledge to figure it out, this is generally known as reverse engineering also known as hardware hacking. Practically reverse engineering is a way to progress further and to explore different short techniques which can be very fruitful in our future designs.

In this hack, I tried reverse engineering an automatic air freshener spray machine picked up from the junk. The machine works on two AA batteries i.e on 3 volts. It was not working at first, I unscrewed it and found the the battery connector leads got rusty, cleaned it up but still no response.

It got a motor gear attachment to increase the torque to press the nozzle of the air freshener can, there are two LEDs and two buttons one is for ON and OFF another is to set the timer which are 9 mins, 18 mins and 36 mins. I took out the circuit and cleaned it with thinner then found that the main problem is in the power input of the PCB, two pads got uprooted causing a discontinuous path to the main circuit so I fixed it and then it respond.

So, the main function of this instruments is to spray the air freshener in the selected time intervals. The green LED blinks in each second 540 times in case of 9 mins interval then the motor is ON for 2 seconds providing enough torque to push the nozzle down and stops then the backward force applied by the nozzle pushes the gear back to the initial position, when the motor is on the red LED turns on. So using my multimeter and oscilloscope I went for a deeper understanding of the behavior of the IC as the manufacturer scratched out the name and part number of the IC. After observing the circuit for half an hour, I made a schematic and as per my assumption it is a 8 pin microcontroller running on 3 volts.

Most of my assumptions matched when I probed the circuit to my oscilloscope. The pin configurations are –

  • Pin 1. Vcc i.e it is connected to +3 volts.
  • Pin 2. This pin is unused in this circuit.
  • Pin 3. Its connected to the base of a NPN transistor having a 100 Ω current limiting resistor in series.
  • Pin 4. It is connected to the delay selection switch and pulled down to ground with a 100 KΩ resistor which provides the delay of 36 mins.
  • Pin 5. It is connected to the 18 mins delay.
  • Pin 6. The green LED is connected in this pin.
  • Pin 7. It is connected to the 9 mins delay.
  • Pin 8. It is the ground pin of the microcontroller.

Observations made :

  1. I probed Pin.3 of the circuit and switched it on and got a pulse which is 2 seconds high that means at starting the motor turns on for 2 seconds.
  2. The delay selector switch pulls the corresponding pins high.
  3.  Pin.6 is programmed like a decade counter the connected green LED blinks in the interval of 1 second in that interval the pin goes low(ground), the current passes through the green LED to ground turning the LED on for one second. And after 1 second it shifts one bit like a decade counter. It covers 12 shifts 9 times for 1 minute. According to my assumption, a counter counts the 12 shifts x 9 and increases its count value correspondingly. Another counter is set to count the minutes, whenever the second counter hits 9 mins. Pin.3 again sends a 2 second high pulse to the motor.

  • The NPN transistor is working as a switch and it delivers the sufficient current needed to drive the motor. A diode is connected in reverse bias in parallel with the motor to protect the transistor from the current peaks formed due to electro magnetic energy stored in the motor coil.
  • The 10uF electrolytic capacitor is connected in parallel with the ON/OFF button to filter the noise due to button debouncing and 0.01uF ceramic disc capacitors filters the noise of the power supply.
Written by : Subhadeep Biswas

Precautions to maintain before using a PC oscilloscope

In every stage of designing a circuit you need an oscilloscope to see whether you are getting the desired output signal or not, and if you are reverse engineering a circuit then oscilloscope is very much essential tool for that. A wide variety of oscilloscopes are available in the market and they are very expensive so most of the hobbyist choose to buy a PC oscilloscope. After some research I bought a cheap one for my basic experiments it’s a Hantek 6022BE, it has 20MHz of bandwidth and 48MSa/s of real time sampling rate. But before using it we have to cope with some problems that can blow this device in seconds.

Here is a awesome video by Dave from EEVBlog on this purpose.

Many of us use a computer SMPS as power supply personally I also use, but when you are probing a circuit with your PC oscilloscope which is powered by the SMPS you need to do a small and simple hardware hack in the power supply. At first there are two sections present in the SMPS, high voltage(HV) side and low voltage(LV) side. HV side and LV side are isolated either by isolation transformer or by opto-couplers.

But in most cases the ground of the LV side is connected with the earthing of the HV side and this is quite dangerous so our hack will be to isolate ground form earthing in HV side.

Now, we have to test the continuity to be sure that ground and earthing of LV side and HV side are connected. Probe the multimeter in the continuity mode if there is no continuity then the HV and LV side is isolated otherwise we have to connect the earth wire of the LV side to the HV side or the circuit

The metallic casing of the SMPS is earthed, so the screw mounts of the LV side needs to be isolated form the LV side circuitry by isolation tape I’ve used thick double sided tape.

From these pictures we can see that the earthing is attached only with the HV side screw terminal which is isolating the the earth and ground and after the hack in working condition a 5V output is tested.

I added a buck converter circuit to +12V output so that I can use it as a variable voltage output between 0-12 volts also drilled the casing and attached banana connectors to make the supply more portable.

Hacked! power supply from old SMPS
Written by : Subhadeep Biswas

 

Making a simple FM Transmitter

FM Transmitters are that type of gadget which gives you the feelings of a RJ. You can make your own short-range radio channel and air any songs, audio clips as well as your voice in the form of radio frequency. The transmission process is done by following steps which are audio pre amplification followed by modulation then transmission. There are two types of modulation Amplitude Modulation(AM) & Frequency Modulation(FM) both are the part of Radio Frequency (RF). 88 MHz to 180 MHz is generally known as the FM Band.

Audio signal from media player, microphones are very low level signal, of the order of mill volts. This extremely small voltage needs to be first amplified. A common emitter configuration of a bipolar transistor produces an amplified inverted signal.

Another important aspect of this circuit is the oscillator circuit. This is a LC oscillator where energy moves back and forth between the inductor and capacitor forming oscillations. It is mainly used for RF application.

When this oscillator is given a voltage input, the output signal is a mixture of the input signal and the oscillating output signal, producing a modulated signal. In other words, the frequency of the oscillator generated circuit varies with the application of an input signal, producing a frequency modulated signal.

transmitter
A simple Fm Transmitter Circuit

Some details about the design of the circuit :

1.Selecting the Vcc : This circuit uses a NPN Bipolar Junction Transistor (2N3904) or you can use BC547 or equivalent. The Vceo of the transistor is 40V so minimum Vcc is 9V.

2.Selecting the Capacitor C1 : The capacitor modulates the current going through the transistor. A large value indicates bass or low frequency whereas small value indicates treble higher frequency. Here 1uF, 25V electrolytic capacitor is used.

3.Selecting L1 & C4 : Here L1 & C4 is the oscillator known as LC oscillator. Frequency of oscillation is obtained from the formula, f = 1/(2Π√LC). 

Here is some pictures of my complete and decorated setup :

breadboard setup
Breadboard setup
decorated setup1
Decorated setup1
setup2
Complete setup
Written by : Subhadeep Biswas

 

Interfacing LM35 temperature sensor with Arduino

Previous post describes what a temperature sensor is & about how to test the well known & well available analog temperature sensor in the market, the LM35 temperature sensor.

This article will describe how to interface LM35 with Arduino, a well known open-source development platform. There are many versions of Arduino available in the market. We are using Arduino UNO board here. It contains a micro-controller ATMEGA328, the brain of the platform, six numbers of Analog input pins, 14 numbers of digital pins out of them 6 numbers of pins are PWM ~ (Pulse Width Modulation) pins.

Arduino UNO R3
Arduino UNO R3

INTERFACING:

LM35 has three pins, pin no.1 is +Vcc, pin no.2 is Output & pin no.3 is Ground. As it is a analog temperature sensor so the output pin of the LM35 will be connected to the Analog Input pin of Arduino. Other pins to the 5V & GND pin. 

temp

pin

The hardware part is done.

Coding Part:

Coding part of this is simple. We will use the Serial Monitor to visualize the response of LM35. Later interfacing another display like LCD or 7 segment LED with the arduino we can also make this project more compact.

code
Code for this project
  • float temp : “temp” is a float variable
  • int tempPin = 0 : declaration for the Analog Input pin(A0)
  • Serial.begin(9600) : declaration for the Baud Rate of the serial port which is 9600.
  • temp = analogRead(tempPin) : the function analogRead is to read analog data from the tempPin
  • Serial.print() : To print something in the serial port
  • temp = temp * 0.48828125

0.48828125 where this number came from??

This is (+Vcc * 1000 / 1024) / 10

Where  +Vcc is the supply voltage = +5V, 1024 is 2^10, value where the analog value can be represented by ATmega the actual voltage obtained by VOLTAGE_GET / 1024.

1000 is used to change the unit from V to mV & 10 is a constant as each 10 mV is directly proportional to 1 Celsius in LM35.

So (5.0 * 1000 / 1024) / 10 = 0.48828125.

Now connect the Arduino to the PC, open the arduino software and upload the code to the arduino. Now press Ctrl + Shift + M, this will open the serial monitor & you can see your room temperature. Done!

serial data
Serial Data
Written by : Subhadeep Biswas

The Light Dependent Resistor

Light Dependent Resistor or LDR :

The LDR is also known as the Photo-resistor or Photo-cell, a light controlled variable resistance which exhibits photo conductivity. Ideally it behaves as a wire having a zero resistance when the incident light intensity increases as well as much higher resistance value when the intensity decreases. So, we can say that under bright light, resistance is very low & in darkness resistance is very high or infinite ideally.

ldr
LDR

This image shows how LDR looks like. There are different sizes available in the market. It is made of a high resistance semiconductor. The red track on the LDR is a layer of Cadmium Sulphide (CdS). Practically LDRs are not polarized.

Area of Application :

There are a large numbers of applications that can be done by using LDRs such as an automatic street light which turns on itself when the sun sets, a morning alarm which senses the morning light and initiate the alarm, many security applications like the laser alarm, it can also be applied as solar tracker, a line follower robot also uses a LDR to sense the black line etc.

Following images will describe the variance of Resistance as well as the circuit symbol & some test result:

graph
Variance of resistance with respect to light
under light
Resistance value in front of a CFL in the order of 200KOhm
in darkness
Resistance value when the CdS track is blocked

–The most simple circuit that you can do using a LDR–

street light
Light controlled switching circuit

This simple circuit is the primary stage of LDRs applications later it can be modified as a automatic street light. When LDR is uncovered then LED is in OFF state and when covered LED is in ON state. So it may be a perfect system for street lighting. Here the BC547 transistor is working as a switch. So the results are quite satisfactory…

under light
When the torch is pointed towards the LDR
darkness
When the torch is removed from the LDR

So, this is how we can use LDR in a circuit. Also we can construct sensors as a physical parameter (light) is being converted to resistance value.

Written by : Subhadeep Biswas