What it does

‘Quarantine Health Monitoring System’ is a smart IoT-based product aimed at reducing people to people infection by enabling a self-care system that will help enforce stricter quarantine protocols by managing minor cases at the patient's own home.


It was found that patients with mild to moderate COVID-19 symptoms like mild pneumonia, diarrhea, headache and musculoskeletal symptoms caused a strain on medical resources and contributed to even more COVID-19 cases by availing healthcare institutions and hospitals for their services. This could have been avoided if the patients were instructed to isolate themselves and employ self-care routines to nurse themselves back to health.

Paulo Mecenas, Renata Travassos da Rosa Moreira Bastos, Antonio Carlos Rosário Vallinoto and David Normando (2020) found that the rate of infection for this type of disease rose with dry air and cold temperatures source.

How it works:

Using the conclusion and the study above, we built a proprietary product to help perform self-care routines and reduce infection rates by recording the ambient temperature, relative humidity, and the patient's vitals like pulse readings. As this data is recorded on the cloud, the ambient temperature and humidity can be tuned to reduce COVID-19 air transmission and the vital signs of the isolated patient can be studied to deduce if the patient's health is improving or deteriorating. Further, a touch-based SOS-alert feature was also added for the comfort of the isolated patient.

How we built it

The plan of attack we employed was to use the ATSAMW25-XPRO microcontroller to acquire readings of three sensors - a temperature and humidity (SHTC3) sensor, pulse/heartbeat (SEN-11574) sensor, and touch (TTP223B) sensor to perform the critical tasks of collecting the ambient temperature and humidity values, pulse recordings and the SOS alert system, and eventually deploy these values to the cloud using MQTT protocol.

Additionally, a buzzer rings whenever the touch sensor is activated to indicate whether the product is switched ON or switched OFF.

In order to integrate and deploy all these elements of our project together on a single board, we designed a PCB to incorporate different circuitry of our project including power management, SD card memory, USB connector, FTDI and sensor circuitry.

Challenges we ran into

We had some trouble designing our buck circuit with the MP3213 chip. There were two variants, an 8 pin and a 12 pin IC. The 12 pin variant was easily available on SnapEDA, but the 8 pin was not, so we had to create our own footprint for this component.

The second issue we ran into was component acquisition. Due to the public health crisis, there have been cases where our chosen components which were in thousands on one day, went out of stock overnight. This forced us to look for alternate and roughly similar values that matched our design specifications. One such example is our Groove Touch Sensor, which we had to replace with TTP223B Capacitive Touch Sensor. Even at the time of scripting this post, our PCB hasn't arrived due to the lockdown protocols.

The component placement on the PCB was also very tricky. We encountered several DRC errors before finally designing our PCB correctly. As we had several circuits to fit into our board, we had to choose a large size for our PCB, which was not what we intended for our application.

Accomplishments that we are proud of

Hardware Features:

Our PCB board was designed such that it could be deployed on a shelf or a table and still work. The quarantined patient exhibiting mild COVID-19 symptoms may not always be bed-ridden, so we had to make sure that the design did not tether the patient to a spot. We achieved this by making the pulse sensor and the touch sensor as stand alone sensors. As the ambient temperature and humidity sensor is not required on the patient's body, it was integrated onto the PCB. Apart from the design, we are also proud of the accuracy of the sensors that we see updating to the cloud regularly.

Software Features:

I2C sensor: These types of sensors communicate with the microcontroller using two pure signal wires called CLOCK and DATA. In the case of SHTC3, which has an address 0x70, we set the LSB bit to 1 to configure the sensor to read mode followed by the CBUS address in order to send the signal uniquely to the signal. The sensor provides an acknowledgment and the sensor data can be processed by the microcontroller.

Analog sensor: These types of sensors communicate with the microcontroller by providing signals which lie in the range of 0V to 5V. The value which corresponds to 5V is 1023. In the case of a pulse sensor, an ambient LED reflects off of blood vessels passing through the finger. The time it takes for the light to return back corresponds to the peaks and depressions caused by the heartbeat.

Digital sensor: These types of sensors communicate with the environment and return a digital value in terms of binary units. 5V corresponds to 1 and 0V corresponds to 0. Our touch sensor is a digital capacitive sensor that when touched changes the electrical permeability between the capacitor plates and effectively changes the voltage between the plates.

MQTT is a standard messaging protocol for the Internet of Things (IoT). This protocol is designed as a publisher/subscriber messaging paradigm.

In our project, we use the MQTT protocol to transport and connect data between remote devices with minimal network bandwidth using a same topic subscription.

We use the MQTT protocol to send data from the microcontroller to the Node Red dashboard using ATSAMW25 microcontroller's WiFi connection.

What we learned with the prototype

This was definitely a new experience for us! As the course was split into both hardware and software parts, in the first half of the course, we learnt how to do PCB designing and learnt the best practises in the same. We employed some of the best practices while PCB designing by keeping the traces as short as possible, performing effective bypassing by keeping the capacitor as close as possible to the IC pin, using vias to trace through different layers of the PCB and having a ground plane and power plane to improve electrical performance. In the second half of the semester, we learnt RTOS programming and learnt how to deploy data into the Node Red dashboard using the topic subscriber/publisher feature of the MQTT protocol.

What we learned:

We learnt how to make efficient designs and best practices used by professionals in this field which we are very grateful for.

FreeRTOS was new to us and we benefitted from this project as we got hands-on training implementation of concepts like multitasking, scheduling, context switching, and real-time scheduling. As we had three sensors with three different mode of operations - I2C, Digital and ADC, we had to cover all aspects and concepts in order to implement the project correctly.

In order to work with the ATSAM25-XPRO microcontroller on Atmel studio, we gained valuable experience in developing board support packages and porting libraries to our custom board. We even learnt the bootloader implementation on an embedded device and how the flow chart has to be designed so as to prevent the device from getting bricked.

Finally, to implement the IoT part of our project, we even hosted a website through Node Red and learnt to use MQTT for embedded platforms to visualize our data on a dashboard.

Next Steps

Currently, our project is in its initial stage. The project can be improved upon by sending a mail or text containing the patient's vitals to the caretaker/medical professional to save the doctor's time of logging into a dashboard. This means that the medical professionals can monitor the data on the move. Also, the SOS system can be programmed to locate and broadcast all the closest hospitals and ambulances for help. This will save precious time and save the family the trouble of booking an ambulance. Also, relays could be used to automatically increase or decrease the HVAC to maintain optimum temperature to reduce infection spread.

Other effective strategies such as AI chatbots can be used to eliminate the need of a caretaker/nurse and essentially automate the caretaking.

Built With

  • altium
  • c
  • microchip
  • samd21
Share this project: