You Are Here: Home » AVR ATmega Projects » LED Projects » Heart Rate Display LED T-Shirt Using Atmega644

Heart Rate Display LED T-Shirt Using Atmega644


We have designed and built a LED t-shirt capable of displaying the heart rate of the wearer via a pulsing LED heart. Largely, our project consists of two components: the plethysmograph and the LED display.

Heart Rate Display LED T-Shirt Using Atmega644

How we came up with the Idea

We had thought up the idea of a heart rate display led shirt when we came across the LED shirt manufactured by Erogear©. Erogear sells customized wearable led displays over their website at

In this design, the LEDs are lit up in a shape of a heart and propagated across the wearer´s chest. After encountering this product, we had thought it would be incredible for the LED display to actually display the wearer´s heart rate. As far as we are concerned, the original idea of the propagating heart on a led display is copyrighted by Erogear.

High Level Design

As previously mentioned, the project is divided into two subsections: the plethysmograph and the LED display. A plethysmograph is a device that senses the change of volume in an organ. For our purposes, we use an infrared light emitter and receiver to sense the change in the amount of blood in an extremity such as a finger or ear lobe. As for the LED display, individual LEDs that would be controlled by the microcontroller are manually wired into a shirt. At the suggestion of Professor Land, we looked into charlieplexing so that we may control the many LEDs we have with a minimal number of port pins of the MCU. Realizing that the majority of the LEDs were used only to produce a propagating effect, we decided to a string of analog timers which would markedly cut down the number of pins we would have to use otherwise. Figure 3 shows the basic flow of how our project works


Fortunately, Professor Land has a circuit that implements an IR plethysmograph. The schematic is shown below in Figure 4.

Basically, the finger is placed between the IR emitter and phototransistor so the change in volume produced by the blood flow could be detected. Of course, the change is minimal so two amplifiers are used. In addition, each amplifier has a low pass filter to only capture the heart rate which occurs at a low frequency. The resistors in series with the IR emitter and phototransistor are placed to limit the current in the two. A potentiometer was also placed between the two amplifiers so we could have control over the gain of the system.

LED Display

In order to control a large number of LEDs with few pins, we used the theory of charlieplexing. According to Wikipedia, charlieplexing is known for ” driving a multiplexed display in which relatively few I/O pins on a microcontroller are used to drive an array of LEDs. “

In Figure 5, each pin has two used states: output high and output low. And so, to turn on either of the LEDs, one of the pins must be set to output high and the other to output low. Because the LEDs will not turn on in reverse bias, only one of the LEDs will turn on. In order to turn off both LEDs, both pins could be set to output high or output low. For simplicity, we decide to set both pins to output low to turn off both LEDs. There is a three pin to six LEDs configuration that we initially wanted to use but because a heart rate could be faster than a reasonably quick propagation across six LEDs, we ended up using the two pin to two LEDs arrangement.

Analog Timer

For the analog timer, we decide to use the LM555 because of the availability and overall simplicity of the component. Using a monostable configuration and half shot, as shown in Figure 6 and Figure 7, we were able to drive multiple analog timers with a single pin. The half shot is placed between the output of one timer and the trigger of the next, and so all that was needed to drive an entire string of timers and half shots is a single pin connected to the trigger of the first timer. To avoid any resetting of the timer, we set the Reset pin to VCC.

The half shot is designed to charge when the timer output goes high, and then discharge, of course, when the output of a timer goes low. When the half shot discharges, it acts like a negative edge trigger for the next timer(LM555s are triggered with the negative edge). The discharge of the half shot is determined by the RC time constant of the resistor and capacitor.

For this project, we did not really have to compromise much between hardware and software. We swapped in different parts in a few places, such as the IR emitter and receiver, that we will explain later in this document but those were for aesthetic purposes. We also did not see a need upgrade components, such as the LM555, not only because the part worked well but also because the immediate availability of the part in the digital lab. Fortunately enough, we did not have to conform at any standards. Basically, our goal was build a heart rate monitor and have LEDs toggle on and off in response.

Hardware Design

For this project, we use a single ATMega644 soldered onto a prototype board provided to us by Professor Bruce Land. The output of the plethysmograph is hooked up to the MCU´s built-in analog to digital converter. The LEDs can be simply connected to any of the available pins.

We built the plethysmograph using the recommended parts from Figure 3 on a solder board. However, instead of the LTE4208 IR emitter and the LTR4206 IR receiver used in the original schematic, we use surface mount emitters and receivers because they are significantly smaller.

We had tried placing the smaller IR emitter and receiver on the ear lobe so that whoever wears the shirt would have their hands free, but it turned out to be trickier than we thought. Any methods we could come up with, aside from simply holding the sensors with your hands, applied too much pressure on the ear lobe, and pushed out all the blood from the sensor detection area. Ultimately, we had to compromise by putting the sensors on a finger tip.

We use LP368PWN1 white LEDs from Newark for the simple reason that they look nicer than the one already in the lab, and fortunately, we use a donated black tee-shirt from Vivian´s brother so that the LEDs would be more noticeable. Because the LEDs are through hole, we simply stick them into the shirt in the shape of a heart and waves as shown in Figure 10.

Heart Rate Display LED T-Shirt Using Atmega644 Schemetic

In order to use fewer pins, we connect four LEDs in parallel with each other such that they would be oriented in the same direction between two pins. As a result, there would be a total of eight LEDs between any two pins as shown in Figure 8. To prevent the chance of blowing any of the MCU pins, we connect a 75 Ohm resistor on each pin to limit the amount of current the pins can sink or source.

Parts List:


For more detail: Heart Rate Display LED T-Shirt Using Atmega644

Leave a Comment

You must be logged in to post a comment.

Read previous post:
Gesture Based Touchpad Security System Using Atmega644

Introduction The purpose of the project is to present a new approach on the design of security systems by using...

Scroll to top