Health Maintenance Robot

A robot to remind and assist people with health maintenance tasks.

Similar projects worth following
This robot will make it easier for people to know when to perform specific health maintenance tasks and make it easier to perform these tasks by delivering the required items.
The robot will also call for help if a person has fallen and is unable to get back up.
The robot will also assist with home security.
The robot will have the ability to access all levels of the home by climbing stairs. It will be able to reconfigure itself to either increase its height or minimize the floor space it occupies.

The design files are located in my GitHub repository:
The draws are done in OpenOffice Draw.

Many health problems can be successfully treated with modern medicine. Often these treatments require scheduled tasks such as taking medication, measuring one's blood pressure and measuring (and recording) other vital signs. Some of these tasks are easily forgotten or are inconvenient. This robot will make it easier for people to know when to perform specific health maintenance tasks and make it easier to perform these tasks by delivering the required items.

Maintenance Tasks for which the Robot will Provide Assistance


The robot will provide reminders of when medications should be taken. The robot will carry the medication to the user to limit the disruption caused by needing to take the medication.

The robot will also keep track of medication refill times and either automatically request refills (if automated refills are supported by the pharmacy) or remind users when refills are due. There will also be an option to notify a third party when refills are required.

Blood Pressure:

A blood pressure cuff will be available on the robot. A reminder to measure blood pressure will be given at the appropriate times. The blood pressure will be automatically recorded to a SD card for later analysis.

Blood Oxygen Level:

If desired, the oxygen level of the blood will be measured and recorded.


The robot will remind the user to weigh themselves. The robot will include the weight as part of the medical statistics log.

There will be options to include other information in the medical log. Data about sleeping, diet, exercise and other activity may be included in the log.

The medical log may be transferred to a computer via WiFi, USB or SD card. The medical log may also be reviewed on the robot's touch screen.

Other Uses

The robot may be used in other ways besides the primary task of assisting with health maintenance. These other tasks include:


The robot may be used to remotely monitor one's home. The robot will be able to detect intruders with a passive infrared sensor.

The robot will include a moisture sensor and be able to detect wet flooring. If moisture indicative of a leak is found, the robot will notify the appropriate person either with a text message or an email.

The robot will have some form of thermal imager. The imager (possibly just 16 pixels) may aid in monitoring the user's health but the thermal imager will also allow the robot to identify a person who has fallen and is unable to get back up. If the robot finds a disabled person on the floor, it will call for help unless instructed otherwise by the user.


The robot may also be used as a photography platform and assist in photographing special occasions.

One of my "stretch" goals is to provide the robot with an arm strong enough to open a refrigerator and pick up a can of soda. Hopefully the robot will be able to fetch a cold beverage on request.

Note about privacy.

While the robot will have a camera to allow remote viewing of the home, the camera will include a mechanical cover which will block the camera's view unless it is physically moved out of the way. This cover will be motorized to allow the robot to move the cover but the cover will provide reassurance to the user that their privacy is being maintained when the cover is in place.

View all 16 components

  • I'm Out of the Race

    Duane Degn09/21/2015 at 19:33 0 comments

    Hi all. I'm not very close to having a working prototype done.

    I've had other things going on in my life which have been very distracting and apparently I'm not very good with working through distractions.

    Thanks Hackaday for running this contest and having a nice place to show off our projects. I'm excited to see what the other contest entries have done.

  • Cutting Plastic And LMR Distraction

    Duane Degn09/20/2015 at 05:11 0 comments

    Let's Make Robots (LMR) has new owners. The transition to new owners did not go very smoothly. I've received an apology for being blocked from the site so I've editing this log. (Edit: On 21 Sept., 2015 I ended my membership with LMR. They wanted me to remove the description of events I wrote in the Parallax Robotics Forum.)

    This ruckus certainly isn't the only reason it's not likely I'll have a working prototype done by judging time on Monday on but all the drama associated with the change in ownership of LMR has been very distracting. I originally posted about this robot on LMR but I have since removed much of my content from LMR.

    While trying to work around these distractions I cut plastic needed for the tread rotation mechanism.

    As I mentioned in an earlier log, I'm using pieces of Teflon rod as bushings for the tread rotation mechanism.

    The two Teflon disks on the right were some of my initial attempts. I found after the disks were cut, they would flip up between the saw and saw guard and bounce back and forth between blade and guard. I don't think it damaged the saw or the guard but the disks didn't come out from the experience unscathed.

    I then started taping the end of the rod to the saw bed of the compound miter saw. Once cut the taped piece was held in place allowing the blade to safely spin to a stop without damaging the disk of plastic.

    That's if for this update. I have a lot more cutting to do.

  • Still In the Race

    Duane Degn09/11/2015 at 21:59 0 comments

    I was very surprised to find I was selected as one of the 100 semifinalists for the 2015 Hackaday Prize. I've been busy as time allows trying to flesh out the design of my robot.

    One concern I had way the way the unpowered sprocket connected to the chassis. I had previously used a blind nut and bolt and allowed the sprocket to rotate on the bolt.

    The blind nut can be seen in the right side of the above photo. I had attempted to heat the blind nut up in order to set it into the ePVC (expanded PVC aka foamed PVC) more securely but I ended up burning the plastic in the process.

    I wanted some way of securing this sprocket so it could both freely rotate and I wanted the position of the sprocket axle to be adjustable in order to modify the tension of the treads.

    Here's a revised drawing of the tread support structure (the drawing includes the angles made by the tread).

    Here's a photo showing the actual parts to be used.

    These metal plates were purchased from ServoCity. I used ServoCity's 1/4" standoffs (1-1/2" long) as an axle.

    These metal plates should allow the axle's position to be adjusted but I didn't want the plastic wheel to rub directly against the axle. I considered having the axle solidly attached to the sprocket but I finally decided to drill the sprocket out larger than than axle and add bearings to the sprocket.

    The sprocket on the right had a hole drilled just under 1/4" and then the standoff/axle was forced through the hole. If I had used this configuration, the bearings would have been placed in the tread structure. I thought this configuration introduced to many problems since the screws which would thread into the axle would need to rotate with the wheel.

    I decided rather than drilling an undersized hole, I'd drill an oversized hole and add bearing to the sprocket.

    To hold the bearings in place I used Polymorph.

    The Polymorph is still hot and clear in the photo above. Once it cooled it looked like this.

    I think it looks pretty cool.The flange on the bearing helps to hold the bearing in place.

    With bearings added to the sprocket, the axle no long rotates with sprocket.

    I think this is a good start to the free spinning sprocket but I still had to figure out how to allow the tread structures to rotate.

    I originally planned to limit the tread structure rotation to a little over 180 degrees but I've decided the trade off required to get 360 degree rotation is worth the benefits such rotation brings.

    The original 180 degree(ish) plan would allow the robot to stand on "tiptoes" and allow the robot to point the treads up. This tread up position was going to be the way the robot reduced the area it occupied. Here are some drawings of these various positions.

    The configuration in the top left diagram wouldn't have been possible with my original plan. I think this top left configuration is so useful, it's worth the extra effort to implement.

    In order for the treads to fold together like this, one set has to be outside and one inside. The drawing below shows how the treads need to be arranged.

    Since the tread structures can now rotate 360 degrees, the main chassis of the robot has to fit inside the narrowest set of treads.

    My current plan is to use metal sprinkler pipe for the tread structure pivot axle. The metal pipe is 21.5mm (about 27/32") in diameter. Since the tread structures won't be moving either fast or frequently, I decided I could get by without bearings at the pivot points. I plan to use Teflon bushings.

    I have some 1-1/4" Teflon rod which I've previously used as a bushing material.

    The above photo shows a Teflon bushing I used in another robot. The bushing for the pipe will have a much larger hole (21.5mm instead of 6mm). I'm hoping Teflon bushings will allow the tread structures to rotate freely.

    I plan used a servo converted to a winch to raise and lower the treads. I knew I had previously purchased some big servos from HobbyKing. I was pleasantly surprised to find I had four of these servos on hand.

    These are larger than normal servos...

    Read more »

  • Starting to Add a Cell Phone to the Bot's Hardware

    Duane Degn06/08/2015 at 04:27 0 comments

    I purchased another gadget to use with this robot. I want the robot to be able to call for help if the person being cared for were having trouble.

    I purchased one of Adafruit's FONA boards and a TING SIM card.

    Adafruit FONA - Mini Cellular GSM Breakout - SMA Version - v1

    I want to use the FONA with a Propeller microcontroller so I wrote a program to eavesdrop on the communication going on between the Terminal and the Arduino and the Arduino and FONA. I posted some details about this in the Parallax Forum.

    Adafruit's software is opensource and available on their GitHub, but the code was not easy for me to follow. I decided it would be easier for me to figure out how to use the various FONA features by watching the data exchanged between the Arduino and the FONA.

    For now I just have the code to monitor the communication running on the Propeller. I'm presently working on getting the Propeller to control the FONA directly.

    The FONA has been a lot of fun to work with.

  • Collecting Additional Parts

    Duane Degn05/28/2015 at 03:49 0 comments

    I've been putting a lot of my effort into getting my CNC controller working. Cutting out the parts needed for this robot will be a lot easier with a CNC router so time spent getting the router working seems like a good investment. I made some additional progress on the router lately. I'm confident I can now control the steppers in a way to produce circular motion.

    While the physical structure of this robot awaits parts to be produced by the CNC router, I've been acquiring various components I believe will be useful in a health maintenance robot. Besides the Bluetooth enabled blood pressure monitor, I also purchased one of Adafuit's Fonas. I also purchased a couple of Adafuit's Wifi modules.

    I figure the Fona will be used to call family members in times of need. I won't go into detail now about what will constitute a "time of need," but I plan to have the robot able to interface with the Fona to send text messages during these times. I may also use the Fona as a sort of speaker phone to allow family members or health care providers to communicate directly with the person using this robot.

  • Hackable Blood Pressure Meter

    Duane Degn05/08/2015 at 03:24 0 comments

    I have an old blood pressure meter I was able to hack and receive data from a "tx" pad on the PCB. The LCD screen on this meter has come detached. It looks like the paper thin ribbon cable had been glued in place and the glue dried out after all these years (nearly 20). I'm not sure how, but the electrical connection itself appears to have been made with some sort of conducting glue.

    While I considered purchasing a similar meter and hoped to find another accommodating "tx" pad, I decided to take the less risky approach and purchase a Bluetooth enabled meter. Hopefully the Bluetooth interface won't be too hard to hack.

    I've been spending a lot of time writing code for my CNC router project. The CNC router will make it much easier to make the pieces I need to continue building this robot.

  • CNC Router Sub Project

    Duane Degn03/16/2015 at 23:11 0 comments

    As I mentioned in the previous log, I'm working on getting my CNC router up and running to make it easier to cut the needed parts for this robot.

    I started a project page to document my efforts of getting the router operational.

    I think this sort of side project is known as "shaving the yak."

  • Initial Work

    Duane Degn03/14/2015 at 03:24 0 comments

    I uploaded a video where I ramble about my intentions of building this robot.

    I mention some of the parts I plan to use with the robot and give a general overview of my plans.

    Here are a couple of photos of the two tread sections I've built so far.

    The structure closest to the camera was made from expanded PVC (ePVC). The other structure was my first prototype and it was made from foam board. Foam board was used to see if the planned geometry would work correctly. Before making the second prototype, I changed the design of the motor mount in order to increase its strength and stiffness.

    Below is a closeup of the ePVC motor mount.

    I used two thicknesses of 3mm ePVC in some parts of the motor mount. Since making the above prototype, I've purchased some 6mm ePVC which I plan to use in future prototypes.

    Vex wheels and sprockets use a square drive hole. To mount the Vex sprocket to the motor's 6mm shaft, I drilled out the center of the sprocket and then drilled a hole from the side of the sprocket to the center hole. I added a 4-40 machine screw with a nut to the sprocket to act as a set screw.

    To reinforce the sprocket, I added Polymorph to the open areas on one side of the sprocket.

    The set screw is positioned so it doesn't interfere with the tread. The nut embedded in the Polymorph is necessary since the plastic alone would soon strip and not provide anything for the set screw to push against as it clamps down on the "D" shaped drive shaft.

    Here's a photo of the sprocket secured to the motor with the treads installed.

    The Polymorph helps the sprocket hold its shape as the set screw is tightened.

    I drew the parts with OpenOffice's Draw program. Here are most of the pieces before they were laid out to fit on a sheet of paper.

    After the parts were arranged to fit on a sheet of paper and printed, they were cut out and glued to the ePVC. I used a Dremel with a saw wheel to rough cut the shapes. I used a milling bit in a drill press to cut the slots. I finished the pieces with a belt sander and X-acto knife. Cutting the pieces this way was very labor intensive.

    I have a CNC router which is currently not operational. I think I will spend some time getting the CNC router working before continuing to build this robot.

    I also plan to modify the design a bit. The rollers farthest from the motor need more support than the ePVC frame provides. I will likely reinforce this area with some aluminum L-bracket material. I also intend to add bearings to the unpowered sprocket.

    Besides the changes I plan to make, I also have large sections of the robot I haven't begun to design. I have some thoughts about how to articulate the tread structures but I haven't tried any of my plans out in the real world yet.

    I would really like to get the basic hardware finished relatively soon so I can begin working on the code to control the motors and tread movement. I have a feeling getting this robot to climb stairs autonomously will be a very big challenge.

  • Photos Were (very poorly) Photoshopped

    Duane Degn03/13/2015 at 17:52 0 comments

    Some sort of robot to remind me to take my pills and to measure my blood pressure has been on my mind for a few years. A while back I constructed a rough frame for the Vex treads first using foam board and then with 3mm expanded PVC.

    Here's a link to my post on Let's Make Robots about the idea.

    I only had two structures to hold the treads but the robot will have a total of four treads. I Photoshopped photos of the same two treads to show what I have in mind when using four treads.

    Hopefully it's obvious the photos have been doctored. I didn't intend to fool anyone that my robot is further along than it is.

    I'll add another log about what I've done so far very soon. I just wanted to make sure everyone was aware of the "fake" photos.

View all 9 project logs

Enjoy this project?



IT-Wizard wrote 09/12/2015 at 18:21 point

Good work. I have got a similar project to help elder people to stay autonomous.

My prototype is based on an old vacuum robot (Neato XV11) mounted with an Android device on it. Old smart phones have many useful components (camera, microphone, cellular, wifi, bluetooth, aso). With the voice recognition it can react on help request. Allowing video conference with close relatives and/or emergency staff.

For the pills dispenser, you can mix with the smart desktop medicine organizer project :


If the elder lives in a house and not an apartment, to avoid the stairs problem, I choose the one device per floor option.

Keep it up!

  Are you sure? yes | no

Blecky wrote 03/24/2015 at 14:25 point

Bonus points if it wins robot wars :-)

  Are you sure? yes | no

frankstripod wrote 03/14/2015 at 06:58 point

Great start on the 2015hacadayprize!

  Are you sure? yes | no

Eric Hertz wrote 03/14/2015 at 02:08 point

Clever tread design. Always had trouble figuring out how to make my robot stair-compatible, and these serve multiple purposes. Nice.

  Are you sure? yes | no

Duane Degn wrote 03/14/2015 at 03:32 point

Getting a robot to climb stairs is easier said than done. So far, I'm all talk and no action.

Hopefully the treads will work in the real world the same way they do in my imagination.  Unfortunately my imagination isn't always an accurate simulation of the real world.

Hopefully the build process will be enjoyable so even if the robot doesn't work,  the build will be a positive experience.

  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