IoT based Remote Health Checkups


Health has become a major concern today with pollution and sedentary lifestyles taking center stage in our lives. Therefore monitoring our health has become paramount. This project is a step in that direction involving the current trend – IoT or Internet of Things.

In almost all health check-ups the most basic parameters that are measured are temperature, pulse rate, blood pressure and blood sugar (usually for diabetic people). Let’s say that there is a person who resides in place X but had a surgery done somewhere far away. The doctor would like to keep regular tabs of these parameters on this person. How does such a remote check-up happen? Another situation would be during disasters like floods or places where there is not really any medical facility or access to doctors. How to check the basic health parameters in such cases? The project is targeted at these issues.


The system shown in the picture uses a STM32 Nucleo which is an ARM microcontroller based development board. The STM32 is interfaced with a LM34 Fahrenheit Temperature Sensor to measure the body temperature. The analog output of the sensor is directly read using the ADC.

To measure the pulse, an electronic stethoscope is used. Although, it is unconventional to measure pulse this way, an electronic stethoscope is used since it opens the possibility of recording heart sounds. In most check ups, doctors also listen to the cardio-thoracic sounds. I made an electronic stethoscope by simply adding a microphone to a stethoscope. To finish things off, some hot melt glue to hold the wires properly in place.

The electronic stethoscope’s audio signal is amplified using a TLV2362 based Op-amp circuit. The output which is technically called a phono-cardiogram looked like this.

The sound is currently recorded indirectly by the system. The audio output from the amplifier is fed to a speaker and then recorded. The recorded sounds are uploaded to a cloud service like SoundCloud. For the pulse measurement, the audio output is sampled by the ADC of the microcontroller to detect peaks. The peaks correspond to the beats of the heart. The interval between these beats is measured 5 different times and the average interval is calculated. The reciprocal of this interval multiplied by 60 gives the number of beats per minute.

For measuring blood pressure, the usual sphygmomanometer apparatus is used. A pressure sensor, MPX5050, is fitted into the tube leading to the analog pressure dial. The sensor’s analog output is also read using the ADC and the pressure reading is calibrated carefully. The blood pressure measurement is made using oscillometric measurements of the pressure. The cuff is worn tightly around the person’s arm and the pressure is increased to more than 160mm of Hg by inflating the cuff using the bladder. Then the valve is slowly released to gradually relieve the pressure. At one point as pressure decreases, small oscillations will be seen in the pressure value during every systole (contraction) of the heart. The pressure at which this happens is read as the systolic pressure by the system. As pressure is decreased further, at another point these oscillations will disappear because the pressure is low enough that blood need not be ‘forced’ into the arm. This pressure is read by the system as the diastolic pressure.

These techniques allow the various values to be measured but they are still present within the ARM microcontroller’s memory. To push the data to a server through the internet, the ESP8266 WiFi module is used. The data of each health parameter – temperature, pulse rate, systolic and diastolic pressures are sent to different channels hosted on the free IoT platform – ThingSpeak.


The entire procedure can be put this way. The system is switched ON and the ESP8266 receives commands to connect to a predetermined hotspot. This takes time and meanwhile the user is required to hold the LM34 sensor. Once the connection is established, a green LED will turn ON to indicate that the user can proceed. Then the user presses the user button to make the microcontroller read the temperature. Once the button is pressed, the microcontroller will automatically read the temperature and push that value to the predetermined channel on ThingSpeak. Meanwhile, the user now places the electronic stethoscope on the chest and uses the earphone to make sure that the heart’s sounds are picked up. Then again when the microcontroller is done sending the value, it will turn the green LED ON to indicate the user can proceed. The user button is then pressed to initiate pulse measurement and to send it to the server. Then the user wears the blood pressure cuff, pressurizes it to more than 160 mm of Hg. Once the green LED turns ON again. the user presses the button and begins to slowly release the valve. The measurement of blood pressure is made as explained before and the data is sent to the corresponding channels. These processes are shown in the video below.

Unlike other works of mine, the major portion of this project’s ‘output’ is actually a website. The data collected, is rendered on a website with each page dedicated to a separate registered user. Such a website dedicated to this project is “The Health Check-up Site”

The system in its current state is manual in nature. Future work has to be done in automating the blood pressure measurement for this system. More suitable temperature sensors rather than LM34 have to be used. The use of MP3 encoders to directly record the audio output and its automatic upload to a cloud should be explored. Integration of other features like blood sugar measurement should also be done, for this system to become incredibly useful.

But as such it does, to some extent, solve the problems or situations that were discussed earlier. Such systems would also help health conscious people have their parameters  and sounds recorded everyday for long term analysis by a family doctor, for example, without going to hospital or clinics. It would also help to provide a way for people in rural areas or people isolated somewhere for some reason, to have their health checked-up. To put some form of medical monitoring closer to people irrespective of their location, is the prime idea and motive behind this project.