Making a low-budget medical device using a Raspberry Pi

Posted by Liam Foot on September 01, 2016 Physics

Medical Physics students do a lot of project work. Through third year, we have three large projects; two being Medical Physics and one being Physics, and this was my Physics project. This page will briefly detail what the project was about and what I did.

Project Summary

The project was titled "Interfacing and sensing with a Raspberry Pi", and the original idea was to build a weather station. However, as myself and my lab partner were both students of Medical Physics, the project was adapted to our discipline.

Using the Raspberry Pi, we found an affordable path to creating a medical sensor. The Pi is ideal for connecting with a multitude of sensors through I2C and GPIO.

What I Did

Once the project direction was set, I got to grips with Linux; specifically Raspbian. I set up the Pi with my lab partner and we started looking into the sensors we planned to use with our project supervisor. We settled on the following sensors:

  • DS18B20 Temperature Sensor
  • Pulse Sensor Amped
  • BMP180 (Temperature, Altitude and Humidity)
  • LCD
  • Carbon Dioxide Detector

We did much experimenting with these sensors, and unfortunately the carbon dioxide detector seemed to be broken, so we had to leave it out. We did get all of the other sensors working, however. The sensors were all wired to a circuit board connected to the Pi, and our project supervisor taught us how to do this correctly. Once wired, I wrote a Python program to record the data. Periodically, the program polls the sensors for data and stores it in a text file on termination. We made use of the LCD by displaying some of the measurements being recorded, such as heart rate and altitude. We then boxed the device up and strapped a battery to it, and performed some tests. One such test was to take the device up the Arts Tower to monitor altitude variation. Another was to take it up more than 10 flights of stairs in our department building to monitor the user's heart rate and skin temperature. As a brief conclusion, the pulse sensor didn't work well when the subject is in motion; however all else worked fine.

For this project, I produced a 6700 word report along with a lab book. I was also assessed with a Viva, which is pretty much an interview.

What I Learnt

I went into this project already knowing Python, but with every programming task comes new challenges; so in this project I had the opportunity to overcome some of those regarding using Linux and figuring out how to interface with specific sensors. I was also very interested in learning how to use the sensors, and connecting them physically to the Pi. Part of the project was lessons from my supervisor to teach us these things, which I found interesting and educational. I was then able to put this knowledge to practical use in completing the project.

Summary of learnt or improved skills:

  • Python programming
  • Soldering
  • Linux
  • Team work
  • Electronics and circuitry
  • Physics
Back to Blog