top of page

CPR Assistant for android

Bala Kumaravel


The idea of this project was to design a smartphone based aid for Cardiopulmonary resuscitation(CPR) training process. A CPR which is given in time can save the life of a dying person. In most cases, a person who is professionally trained to give CPR may not be available. In India, in case of such medical emergencies, CPR is given only after the ambulance reaches the victim. Use of a smart-phone for this process would help in saving the life of a person during emergency. It also provides an inexpensive and versatile way in training for professionals to perform CPR

The work involved literature survey about the CPR procedure, Interfacing with smart-phone data, Basic signal processing, Use of software such as MATLAB for analysis, Developing applications in smart-phones, development of programs for computer-phone interfacing.

Brief Details

For performing CPR, The person is to be kept flat on the ground. Hand is to be kept in the middle of the person’s upper chest. As per AHA guidelines, CAB rule is to be followed while given a CPR.


C - Chest Compression
A - Airways, airways to be made open

B - Breathing, giving mouth to mouth breathing


Chest should be depressed at least 2 inches. Chest compressions should be performed at a rate of at least 100/min.  Conventionally, CPR training is given using the help of mannequins. The monitoring of the CPR is either done through sensors built within the mannequin or through an external camera. In some place, a mechanical click in the model is used as an indication for the depth of compression. Spring-loaded chest shield is also used sometimes in training. Such aids are not versatile and portable. Study of processing of signals obtained from Inertial Measurement Unit (IMU).  Since we are interested only in determined the frequencies of order ~1-3 Hz, a Butterworth filter was used, to filter the high-frequency noises present in the motion. 


A real-world approximation of the CPR process was simulated using a crank-slider mechanism.The depth of compression is variable by changing the crank length(hence the stroke). The motor’s speed is 120rpm (~ 2 Hz just above the AHA recommended rate) and is constant. The slider is treated as the hand for the CPR. Transfering the data via WiFi was done using the User Datagram Protocol (UDP) worked effectively for the communication between the phone and computer. The Fourier transform was to be used to analyse the signals obtained by IMU. The amplitude of the dominant frequency to be close to the amplitude of acceleration. The discrete Fourier transform is computed using a computational algorithm known as Fast Fourier Transform. Eclipse Integrated Development Environment (IDE) was used for android application development.  The application gets accelerometer data from the phone. A MATLAB program was used to capture and analyze the data. The programming language was later shifted to python to enable cross-platform support.

bottom of page