Wearable Health Care System Using IOT

Introduction: Wearable Health Care System Using IOT

In the present work, the sensors are wrapped in

the wearable coat and it measures the user’s temperature, ECG, position, blood pressure and BPM and send it through the ThingSpeak server. It displays a graphical representation of the measured data’s. The data transformation is performed by the main core controller of Arduino. When the sensors are measures Arduino will run the program and also ThingSpeak API key is inserted in program.

Step 1: Components Recquried

1. Arduino UNO

2. LM75(Temperature sensor)

3. AD8232(ECG Sensor)

4. HW01(Pulse sensor)

5. ESP8266(Wi-Fi Module)

6. Binary wires

7. USB cable for debugging

8. Lithium ion Battery pack of 4(9v)

9. Rain coat

10. Cotton box (25X25cm)

11. Glue gun with 2 sticks.

Step 2: Connecting LM75 and Arduino

The LM75 involves in I2C protocol with Arduino. So, the temperature is senses and it will converted into digital data using the inbuild 9 bit delta sigma Analog to digital converter. Due to LM75 accuracy it is used to measure the temperature of the user. The resolution of the sensor is 9 bits and it have 7bit slave address. so, the data format is two’s complement with slave address. The operating frequency of the LM75 sensor is 400KHz. The LM75 contains low pass filter to increase communication reliability in noise environment.

The Arduino pin A4 and A5 involves in two wire interface communication so it will be connected to SDA and SCL pin of LM75.

LM75 ------ ARDUINO

SCL ---- A5(Analog IN)

SDA ---- A4(Analog IN)

VCC ---- 3.3V

GND ---- GND

Step 3: Connection Between Pulse Module and Arduino

In this work the pulse sensor is used. Pulse sensor is a well designed Plug and Play sensor through which user can take live heart rate or pulse rate data and can feed it wherever it wants.

Connect Pulse Sensor to Arduino Uno Board as following: + to +5V and - to GND S tO A0. Connect LCD to Arduino Uno Board as following: VSS to +5V and VDD to GND and RS to 12 and RW to GND and E to D11 and D4 to D5 and D5 to D4 and D6 to D3 and D7 to D2 and A/VSS to +5V and K/VDD to GND. Connect 10K Potentiometer to LCD as following: Data to v0 and VCC to +5V. Connect LED to Arduino as following: LED1 (RED, blink Pin) to D13 and LED2 (GREEN, fade Rate) to D8.

PULSE sensor ------ Arduino

VSS ------ +5V

GND ------ GND

S ----- A0

When the sensor is touches the skin the LED on the sensor is blinked.

Step 4: Connection Between ECG Sensor and Arduino

The AD8232 ECG sensor is interfaced with Arduino and the electrodes are placed at the Left arm, Right arm and Right leg. In this the right leg drive is act as feedback to the circuit. There are three inputs from the electrodes it measures the electrical activity of the heart and it will be indicated by LED. To reduce the noise the instrumentation amplifier (BW: 2KHz) is used and two high pass filter is used to reduce the motion artifacts and electrode half cell potential. AD8232 is configured as three electrode configuration.

CONNECTION: The left arm electrode is connected +IN pin of AD8232 and right arm electrode is connected to -IN pin of AD8232 and right leg feedback is connected to RLDFB pin of AD8232. Leads off detection in this sensor is AC or DC. For this AC is used. LO- pin is connected to the Analog pin (11) of Arduino and LO+ pin is connected to Analog pin (10) of the Arduino and Output from the electrodes is connected to A1 pin of Arduino.

ECG Sensor ------ Arduino

LO- ------ Analog pin(11)

LO+ ------ Analog pin(10)

Output ------ A1

The Electrodes placed at patient body detect the small changes of Electro potential on the skin that arise from the heart muscle depolarizing during reach heart beat unlike in a conventional tripled ECG in which tend Electrodes placed on patients limbs and chest. In measuring the ECG signal the PR interval and QR interval phase and amplitude duration is varied in abnormal conditions. The abnormalities are defined in the Arduino programming.

Normal ECG parameters Abnormal ECG parameters

P Wave 0.06-0.11 <0.25 ---------------------------------------------------- Flat or inverted T waves Coronary ischemia

QRS Complex <0.12 0.8-1.2 -------------------------------------------------- Increased QRS Bundle branch block

T Wave 0.16 <0.5 --------------------------------------------------------------- Increased PR AV block

QT Interval 0.36-0.44 ------------------------------------------------------------ Short QT Interval Hypercalcemia

PR Interval 0.12-0.20 --------------------------------------------------- Long PR, QRS wide, QT short Hyperkalemia

shows the Abnormalities in ECG signal which is It will be included in the Arduino coding and when the abnormalities is occur it will be send as alert message to the particular mobile numbers. We have separate library file which is included in Program

Step 5: Interfacing Wi-Fi Module and Arduino

ESP8266 Wi-Fi module is low cost standalone wireless transceiver that can be used for end-point IoT developments. ESP8266 Wi-Fi module enables internet connectivity to embedded applications. It uses TCP/UDP communication protocol to connect with server/client. To communicate with the ESP8266 Wi-Fi module, microcontroller needs to use set of AT commands. Microcontroller communicates with ESP8266-01 Wi-Fi module using UART having specified Baud rate (Default 115200).


1. ESP8266 Wi-Fi Module can be programmed using Arduino IDE and in order to do that you need to make a few changes to the Arduino IDE. First, go to File –> Preferences in the Arduino IDE and in the Additional Boards Manager URLs Section. Now, go to Tools –> Board –> Boards Manager and search for ESP8266 in the search field. Select the ESP8266 by ESP8266 Community and click on Install.

2. . The ESP8266 Module works on 3.3V Power Supply and anything greater than that, like 5V for example, will kill the SoC. So, the VCC Pin and CH_PD Pin of ESP8266 ESP-01 Module are connected to a 3.3V Supply.

3. Wi-Fi Module has two modes of operation: Programming Mode and Normal Mode. In Programming Mode, you can upload the program or firmware to the ESP8266 Module and in Normal Mode, the uploaded program or firmware will run normally.

4. In order to enable the Programming Mode, the GPIO0 pin must be connected to GND. In the circuit diagram, we have connected a SPDT switch to the GPIO0 pin. Toggling the lever of SPDT will switch the ESP8266 between Programming mode (GPIO0 is connected to GND) and normal mode (GPIO0 acts as a GPIO Pin). Also, the RST (Reset) will play an important role in enabling Programming Mode. The RST pin is an active LOW pin and hence, it is connected to GND through a Push Button. So, whenever the button is pressed, the ESP8266 Module will reset.


The RX and TX pins of the ESP8266 Module are connected to RX and TX Pins on the Arduino board. Since the ESP8266 SoC cannot tolerate 5V, the RX Pin of Arduino is connected through a level converter consisting of a 1KΩ and a 2.2KΩ Resistor.

Wi-Fi module ------ Arduino

VCC ---------------- 3.3V

GND ---------------- GND

CH_PD ---------------- 3.3V

RST ---------------- GND(Normally Open)

GPIO0 ---------------- GND

TX ---------------- TX of Arduino

RX ----------------- RX of Arduino(Through level convertor)

After connecting and configuring:

The ESP8266 in Programming Mode (GPIO0 is connected to GND), connect the Arduino to the system. Once the ESP8266 Module is powered ON, Push the RST button and open the Arduino IDE. In the Board options (Tools –> Board), select the “Generic ESP8266” Board. Select the appropriate port number in the IDE. Now, open the Blink Sketch and change the LED Pin to 2. Here, 2 means GPIO2 pin of the ESP8266 Module. Before you hit the upload make sure that GPIO0 is connected to GND first and then press the RST button. Hit the upload button and the code will take a while to compile and upload. You can see the progress at the bottom of the IDE. Once the program is successfully uploaded, you can remove the GPIO0 from GND. The LED connected to GPIO2 will blink.

Step 6: Program

The program is for interfacing LM75, Pulse module, ECG sensor and Wi-Fi module to Arduino

Step 7: ThingSpeak Server Setup

ThingSpeak is an application platform for. the Internet of Things. It is an open platform with MATLAB analytics. ThingSpeak allows you to build an application around data collected by sensors. Features of ThingSpeak include: real-time data collection, data processing, visualizations, apps, and plugins

At the heart of ThingSpeak is a ThingSpeak Channel. A channel is used to store the data. Each channel includes 8 fields for any type of data, 3 location fields, and 1 status field. Once you have a ThingSpeak channel you can publish data to the channel, have ThingSpeak process the data, and then have your application retrieve the data.


1. Create an account in ThingSpeak.

2. Create new Channel and named it.

3. And create 3 filed and specified its name for each filed.

4. Note the Channel ID of ThingSpeak.

5. Note the API key.

6. And mention it in Program to pass the data from the ESP8266.

7. Now visualize data is obtained.

Step 8: Conclusion Setup (Hardware)

The hardware setup of our project It contains the all hardware components of the project and it will packed and Inserted in a wearable coat for patients comfortable. The coat with sensors is made by us and it provide error free measurement to the users. The biological data’s of the user, The information is stored in the ThingSpeak server for long term analysis and monitoring. It is what the project involved in the healthcare system


1.Place the circuits inside the cotton box.

2.Using glue gun make it fixable to the box.

3.Connect the battery to the VIN of Arduino to Positive terminal of Battery and GND of Arduino to Negative terminal of Battery

4.Then fix the box to inside the coat using glue gun.

Once the error free coding is established then the program gets executed and one will ready to see the Senor output on a platform like Arduino output display and later the information is transferred to the ThingSpeak Cloud via web and that we will ready to visualize it on world platform. The web interface can be developed for implementation more functionality in data visualization, management, and analysis to provide better interface and experience to the user. By using the setup of the proposed work the Doctor can screen the patient's condition 24*7 and any abrupt changes in patient's status is notified to the Doctor or Paramedical staff through a toast notification. What's more, as the information is accessible in the Thingspeak server, the patient's condition can be checked remotely from anyplace on the planet. Aside from simply seeing the pervious information of a patient, we can utilize this information for snappy comprehension and curing the patient's health by respective experts.

Wearables Contest

Participated in the
Wearables Contest

Be the First to Share


    • Retro Tech Challenge

      Retro Tech Challenge
    • Space Contest

      Space Contest
    • Tinkercad Student Design Contest

      Tinkercad Student Design Contest



    1 year ago

    very nice but if you expaining the configuratin of all items will be good