Design and Build a Companion Robot for MS Care

The project aims to design and build a companion robot for aid in primary and secondary progressive Multiple Sclerosis care.

Similar projects worth following
The companion robot will provide multiple functions including biomechanical movement, heart rate measurement and visualisation and automatic 999 calling. This will involve software design, programming, 3D printing, electronics and mechanical engineering to provide a fully working prototype.

The instructions and information for this project will be presented as project logs. Information will also be available in the form of files and pictures to aid mechanical and software development. Feel free to ask questions in the discussion and highlight areas where more information is required.

x-python-script - 2.51 kB - 03/18/2019 at 12:05


x-python-script - 287.00 bytes - 03/18/2019 at 12:04


x-python-script - 5.16 kB - 03/18/2019 at 12:04


x-python-script - 766.00 bytes - 03/18/2019 at 12:04


AutoCAD DXF - 2.27 kB - 03/11/2019 at 19:27


View all 7 files

  • 1 × Raspberry Pi
  • 1 × servo
  • 1 × 3D printed components
  • 1 × 7" touch screen
  • 1 × Pulse Sensor

View all 9 components

  • MCP3008 vs ADS1015

    joshastley112 hours ago 0 comments

    A transformer is required to convert the analog pulse signal to a digital signal since the raspberry pi has no analog pins. I tried two different connections. 

    • ADS1015 connected to GPIO pins
    • MCP3008 connected to SPI pins in Spi-Dev library

    I found that the second configuration was much easier to code for and overall more accurate. I compared the pulse values to those given by a garmin smartwatch. using GPIO pins the pulse varied wildly and gave a value of 138BPM compared to the gramins value of 78BPM. Using the SPI library The pulse was measured at 78BPM compared to 72BPM by the smartwatch. This is within the standard tolerances used in portable heart rate monitors at a commercial level.

    The code and wiring diagram can be found in the file log and instructions.

  • Attaching the screen

    joshastley16 days ago 0 comments

    The 7" touchscreen is a specially designed raspberry pi accessory. the Pi fits directly onto the back of the screen. The screen requires two GPIO pin connections and feeding the display tape into the raspberry Pi. set up is simple and then you can begin using the touchscreen.

  • Rechargeable battery

    joshastley103/11/2019 at 20:38 0 comments

    The battery use din this project is a LiPo 850mAh. it is connected to a Adafruit PowerBoost 1000C. The battery cable directly connects to the powerboost which in turn connects via USB - MicroUSB to the Raspberry Pi. The USB adapter comes with the powerboost however it will need to be soldered to the Adafruit before use. The battery and rechargeable board will need to be charged.

  • Battery holder

    joshastley103/11/2019 at 20:33 0 comments

    The battery is encased in a 3D printed holder. This prevents leakage and also provides extra fireproofing in case of an incident. The battery holder is found as an .stl file in this project. 

  • Connecting tail to servo

    joshastley103/10/2019 at 19:40 0 comments

    Once the 4 tail cones are connected together they can be connected to the servo. You can use any servo but I would advise using a high torque servo with base dimensions 2.5cmx4.5cm. The servo will contain a thread at the centre of the rotating part. using a nut and bolt the bolt can be passed through the hole in the cone and the nut used to secure the tail in place. Another screw can be used to stop the servo from over rotating. this is done by using a long screw into the first downward facing pin on the bottom cone. I used a 6cm long screw.

  • Printing the Tail

    joshastley103/10/2019 at 19:32 0 comments

    4 cones were printed using the stl file in the project files. the cones were printed with the top of the cone facing the bed in order to reduce the amount of supports required and make sure structure is maintained. once printed the cones can be connected together by filing down the pins until they are short enough to be pushed into the holes in the above cone. A 3mm screw can be used to screw into the end of the pin to stop the cones disconnecting.

  • Aesthetics

    joshastley103/09/2019 at 10:30 0 comments

    The companion robot will be located within a toy Panda. The 'skin' of this project will be independent of the rest of the manufacture hence any cuddly toy can be used in your project. This particular panda is available at IKEA.

  • Power

    joshastley103/09/2019 at 10:26 0 comments

    The companion robot needs to be powered without the use of mains voltage. This is to make the companion robot portable and to make sure the development is safe.  The companion robot uses a LiPo battery encased in a 3D printed battery holder (found in file log). The battery is connected to an Adafruit PowerbBoost to allow the companion robot to be rechargeable and easy to use. The Powerboost can be directly connected to the Raspberry Pi.

  • Processing and display

    joshastley103/09/2019 at 10:21 0 comments

    The first stage of this project began with the decision of what processing unit to use. It was decided that a Raspberry Pi will be used because of the share volume of accessories available and Raspberry Pi's typically use python as a coding language. The Raspberry Pi is then connected to a 7" touchscreen via GPIO pins, and display tape. The Raspberry Pi can be screwed directly onto the back of the touchscreen, saving space within the companion robot. 

View all 9 project logs

  • 1
    MCP3008 connection

View all instructions

Enjoy this project?



Trois C Ainsley wrote 4 days ago point

cool project, can’t wait to see the result!

  Are you sure? yes | no

Alexander wrote 03/09/2019 at 17:31 point

Very neat idea -- there is a lot of research and testing going on in this space at the moment. One problem area that some research suggests might hinder adoption of this type of technology is charging. People who are elderly or who have movement difficulties can find it very difficult to a) remember to charge a device and b) find the charge port, and connect it. Many designs are moving to Qi wireless charging or something equally easy to use. 

I really hope to see your project come to completion! Will be keeping an eye out.


  Are you sure? yes | no

joshastley1 wrote 03/11/2019 at 19:31 point

Interesting idea! Charging definitely is an issue and unfortunately will not be in the scope of this project. Many current companion robots are used in conjunction with conventional care. Hence carers, who may visit less frequently due to the companion robot, can make sure the device is charged for the patient.

  Are you sure? yes | no

Dusan Petrovic wrote 03/08/2019 at 17:18 point

I love the idea! Could you please document your work progress!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates