DIY Wireless Physiological Sensor


The device is a battery powered chest strap which senses the wearers heart beats and respiratory movements (chest expansion) and sends this data wirelessly to a computer where the data can be read and processed in various ways. Heart beats are detected using an off-the-shelf heart rate monitor, whilst chest expansion is detected using a novel fabric called ElectroLycra which changes is electrical conductivity depending on how much it is stretched. The data is transmitted using 2 XBee wireless modules which are simple to configure but which also have many advanced features. In order for the XBee to capture and transmit the data the raw signals must first undergo some signal processing and this is achieved on a small circuit board attached to the strap.

The device is scalable and data from multiple devices can be collected by a single receiver. The transmitted data consists of a digital signal which has a value of 1 when a heartbeat is detected and 0 otherwise, and an analogue signal representing the expansion of the chest.


The following list details all of the parts required to build a single device. The parts in bold italics need only be purchased once regardless of how many devices you decide to make. The ElectroLycra is expensive to purchase so I recommend requesting a sample since you will only require a small amount.

Tools: Soldering Iron, sharp knife, sowing machine/needle & thread, wire strippers, small flat head screw driver, crimping tool.



The Polar T31 detects heart beats by analysing the electrical signals which travel through your body during each cardiac cycle. It contains a small radio transmitter to send this information to a watch, however for this project in order to send the heart rate data via the XBee radios you will need to open up the front of the transmitter and connect two wires to the PCB inside. The PCB is contained within the oval shaped section in the centre of the T31 (under the Polar logo) and unfortunately it is pretty well sealed.

Figure 1 – Connecting to the Polar T31 heart beat output

In order to gain access you will need to cut off the front section of this oval using a sharp knife (it helps if you heat the knife to melt the plastic, but beware of the fumes!). Beneath this outer shell you will find a hard, black plastic cover. Using a craft knife, cut away a section of this cover on the side where the copper coil is visible (as indicated in Figure 1). You now need to solder two lengths (40cm) of wire onto the board at the points shown in Figure 1, note that these leads have polarity, this is important later on.


The strap which comes with the Polar T31 is elasticated, but you only want a small section of your strap to be stretchy –the section over which you will attach the strips of ElectroLycra.


Cut off the end of the elasticated strap which is permanently attached to the plastic buckle, leaving around 10-15 cm of elastic to spare. Now take the remaining (longer) piece of elastic, including the second buckle and an adjustment piece, and recreate this part of the strap using your rigid strap material in place of the elastic. Finally sow the rigid section of the strap to the elasticated section, paying attention to the orientation of the two buckles.


Cut out two strips of ElectroLycra which are both roughly 10cm long and 0.5cm wide. Sow the ends of both strips onto the outer surface of the elastic section of your strap so that they run side by side, ensuring that there is around 2cm of slack in the ElectroLycra (since it will become taught when the strap is worn).


Now take two 10cm lengths of wire and attach a ring tongue crimp to one end of each using the crimping tool. Using your conductive thread stitch one of these rings onto the end of each strip of ElectroLycra at the ends which are furthest from the buckle.  At the other ends of the two strips use the conductive thread to link the two strips of ElectroLycra. This means that electric current should run from one wire, down one strip of ElectroLycra, back through the other strip then into the second wire. See Figure 3 for a clearer picture. Once you have done this you will need to cover this section of the strap with loose fabric (a sheath or sock) to ensure that the conductive materials do not come into contact with skin when worn, otherwise this will prevent the device from functioning.


The signals from the ElectroLycra and heart rate monitor would not be recognised by the XBee in their raw states. The heart rate signals from the T31 consist of individual pulses representing each beat and these pulses are very short in duration (10ms). The XBee will sample at a maximum rate of once every 50ms (20Hz), which means it is likely to miss some of the pulses.  In order to solve this problem the design incorporates a component called a monostable. The monostable takes the short input pulse and uses it to trigger a longer output pulse, the duration of which can be defined by a chosen capacitor/resistor combination. By making the period (duration) of the output pulse greater than 50ms we can ensure that we do not miss a beat.

In the case of the ElectroLycra the small changes in resistance as the ElectroLycra stretches create correspondingly small changes in voltage which are far too small for the XBee to recognise. In this case we can use a component called an op-amp in order apply some gain (amplification) to the signal. So that we only amplify the difference in voltage across the ElectroLycra we also include a common circuit called a Wheatstone Bridge.

The XBee runs on 3.3V and the battery is 3.7V, therefore the design includes a 3.3V regulator to ensure that the XBee is operating at the correct voltage. The other components operate at 3.7V.


Solder the XBee sockets and break away headers onto the XBee breakout board. Now solder this, and all of the other components onto the strip board as indicated in the photos and schematics below. Finally solder the two pairs of wires coming from the strap onto the board as indicated.

 Figure 5 – Circuit diagram for signal processing circuit



You will configure one of the XBee modules as a router to send data from the strap, and the other as a coordinator to receive data and pass it to the computer. To do this you will need to install X-CTU ( and CoolTerm ( software packages, which are available for free online.

To configure the Coordinator:

Plug an XBee into the explorer and then plug the explorer into the computer using the USB cable. Open X-CTU, go to the Modem Configuration tab and click ‘Read’ to display the current configuration. Once the current setting has been read go to the dropdown ‘Function’ menu and select ‘ZigBee Coordinator API’. Click the ‘PAN ID’ configuration and set the value to 2001.  Now click ‘Write’ to store the changed setting.

To configure the Router:

Plug the other XBee into the explorer and open X-CTU as before. This time select ‘ZigBee Router AT’ from the ‘Function’ menu. Now click ‘Write’ to store the changed setting. Run CoolTerm and check ‘Local Echo’ in the settings, next click ‘connect’ to connect to your router. Type +++ to go into command mode then type the following (pressing return after each command):

  • ATID 2001 – sets the PAN ID
  • ATDH 0 – sets high part of the destination address
  • ATDL 0 – sets low part of destination address
  • ATJV1 – sets router to reconnect to coordinator on start-up
  • ATD02 – sets pin 0 to read analogue
  • ATD13 – sets pin 1 to read digital
  • ATIR32 – sets max sample rate
  • ATWR – writes settings


Figure 7 – Circuit nestled inside an IPod Nano case

If you managed to get hold of the IPod Nano case then slot the circuit board inside (it fits perfectly). Otherwise find another suitable case for the circuit. Use elastic bands or custom made elastic rings to attach the circuit to the chest strap then plug the battery in. Connect your router configured XBee onto the mount on your circuit board and connect your coordinator XBee to a computer through the Explorer and USB cable. Put the strap on so that it is not too tight and so that the rigid part of the T31 is in contact with your chest, with the oval section above your sternum. Now open the Processing sketch and make sure you adjust the serial port details to match those of the serial port on your computer. Run the sketch and you should see your heart rate and breathing data displayed as in Figure 8. On the first attempt you will need to adjust the 1K variable resistor until you see that the breathing movements are detected.

Figure 8 – Data display for a single chest strap (shows heart rate plot over time as well as current heart rate and chest expansion as represented by the green bar)