Wearing Your Heart on Your Sleeve Using Arduino

Heart on Your Sleeve

 Heart on Your Sleeve

There are many smart devices available to us that are able to detect our heart rate and other bio data by using a method called photoplethysmography (PPG), a concept of how blood is able to reflect red light while absorbing green light. The device can detect the amount of blood flowing, so when there’s more light absorption when the heart beats faster. We will be creating a wearable heart rate monitor which will use a pulse sensor and record PPG data. This shirt will display the range that your heart rate falls in based on three different colors.



  • Felt
  • Wire Strippers

Step 1: Assemble the Arduino Circuit

Arduino Circuit

  1. Using wire strippers, strip the ends of the Neopixel LED Light Strip so the wires are exposed
  2. Connect the Pulse Sensor to the ground (GND)A0, and 5V slots
    • Red: power
    • Black: ground
    • Purple: analog input
  3. Using 3 jumper cables, connect them to the ground (GND)digital pin 6, and 3.3V slots
  4. Using alligator clips, connect the jumper cables to the respective wire ends of the light strip
    • Red: power
    • Black: ground
    • Green: analog input

Step 2: Create the Shirt


  1. Cut 5 inches off the bottom of the shirt
  2. Using the scraps, cut a 5 in. x 5 in. square
  3. Flip the shirt so that it is inside out
  4. On the back of the shirt, sew 3 sides of the patch to the shirt making sure to leave an opening big enough for the Arduino Uno board to fit in
    • Optional: use conductive thread to have an easier connection to the Arduino without using alligator clips, be sure the wires do not cross or tangle
  5. Place the Arduino into the pocket and allow the wires to come out of the top of the pocket
  6. Using fabric glue, glue the LED strip down the sleeve with the LED lights facing downwards
    • Allow the glue to dry completely before flipping the shirt back
  7. For the heart rate sensor, place a piece of velcro on the inner side of the adjustable wristband
  8. Stick the other half of the velcro to the Pulse Sensor so that the side with the heart faces down and makes contact with the skin
  9. Tape the wire of the pulse sensor to the sleeve
  10. The band can be sewed into the shirt, ensuring that it can still be tightly secured around the wrist
  11. Carefully flip the shirt back and ensure that no wires become detached from the Arduino/breadboard
  12. Optional: decorate the outer side of the shirt using the felt and fabric glue

Your heart rate monitor shirt is now complete.

Step 3: Run the MATLAB Code

MATLAB CodeThe MATLAB code uses the MATLAB Support Package for Arduino Hardware and requires the NeoPixel Add-On Library for Arduino. The code for the function is available on GitHub at https://github.com/utsav-vt/wearables-Bioinstrumentation-/blob/master/heartratefunction.m. Once the support package and add-on library is installed, you can download the heartratemonitor function from GitHub, connect your Arduino to your computer and call the function. The code to call the function can be found at https://github.com/utsav-vt/wearables-Bioinstrumentation-/blob/master/heartratecustom.m.

Note: The link is not currently public due to course policies.

Read more: Wearing Your Heart on Your Sleeve

Leave a Comment

Your email address will not be published. Required fields are marked *