How I designed a “DIY” closed loop artificial pancreas

This post was written months ago for Prescribe Design, and will also be posted/made available there as a collection of their stories by and about patients who design, but I am also posting here for anyone new to #DIYPS and/or wondering about how #OpenAPS came into existence.

About the author: Dana Lewis is the creator of #DIYPS, the Do-It-Yourself Pancreas System, and a founder of the #OpenAPS movement. (Learn more about the open source artificial pancreas movement at OpenAPS.org.)  Dana can be found online at @DanaMLewis, #DIYPS, and #OpenAPS on Twitter, and also on LinkedIn.

Diabetes is an invisible illness that’s not often noticeable, and may be considered to be “easy” compared to other diseases. After all, how hard can it be to track everything you eat, check your blood glucose levels, and give yourself insulin throughout the day?

What most people don’t realize is that managing diabetes is an extremely complex task; numerous variables influence your blood glucose levels throughout the day, from food to activity to sleep to your hormones. Some of these things are easier to measure than others, and some are easier to influence than others, as I’ve learned over the past 13 years of living with type 1 diabetes.

Dana Lewis finishing the Leavenworth half marathonDiabetes technology certainly helps – and those of us with access to insulin pumps and continuous glucose monitors are thankful that we have this technology to better help us manage our disease. But this technology is still not a cure. After I run a marathon, my blood sugar is likely to run low overnight for the next few nights. And the devices I use to help me manage still have major flaws.

For example, my continuous glucose monitor (CGM) gives me a reading of my blood glucose every 5 minutes – but I have to pay attention to it in order to see what is going on (pulling the device from my pocket and pressing a button to see my numbers). And what happens when I go to sleep? I am sleeping, rather than paying attention to my blood sugar.

Sure, you can set alarms, and if your blood glucose (BG) goes above or below your personal threshold, an alarm will sound. That’s great, unless you’re a sound sleeper like me who doesn’t always hear these sounds in my sleep – and unfortunately there’s no way on the device to make the alarms louder.

For years, I worried every night when I went to sleep that I would have a low blood sugar, not hear the alarm, and not wake up in the morning. And since I moved across the country for work, and lived by myself, it could potentially be hours before someone realized I didn’t show up for work, and days before someone decided to check on me inside my apartment.

I was worried about “going low” overnight, and I kept asking the device manufacturers for louder alarms. The manufacturers usually responded, “the alarms are loud enough, most people wake up to them!” This was frustrating, because clearly I’m not one of those people.

I realized that if only I could get my CGM data off my device in real-time, I could make a louder alarm by using my phone or my laptop instead of having to rely on the existing medical device volume settings. It would be as easy as using a basic service like IFTTT or an app like “Pushover” that allows you to  customize alerts on an iPhone.

However, for the longest time, I couldn’t get my data off of my device. (In fact, for years I had NO access to my own medical device data, because the FDA-approved software only ran on Windows computers, and I had a Mac.) But in November 2013, I by chance found someone who tweeted about how had managed to get his son’s data off the CGM in real-time, and he was willing to share his code with me. And this changed everything.

Taking a photo of a CGM screen and printing it out is not very efficient for reviewing BG data.(At the time, my continuous glucose monitor only had FDA-approved software that could be used on a Windows computer. Since I had a Mac, when my endocrinologist asked for diabetes data, I took a picture with my iPhone and pasted the images into Excel, and printed it out for him. Data access is an ongoing struggle.)

My design “ah-ha” became a series of “wow, what if” statements. At every stage, it was very easy to see what I wanted to do next and how to iterate, despite the fact that I am not a designer and I am not a traditional engineer. I had no idea that within a year I would progress from making those louder alarms to building a full hybrid closed loop artificial pancreas (one that would auto-adjust the levels on my insulin pump overnight).

Once I had my CGM data, I originally wanted to be able to send my data to Scott (my then-boyfriend and now husband, who lived 20 miles away at the time) to see, but I didn’t want him to get alarms any time I was merely one point above or below my target threshold. What was important for him to know was if I wasn’t responding to alarms. We set up the system so that Scott could see whether or not  I was taking action on a low reading, which I signaled by pressing a button. If the system alerted to Scott that I was not responding to a low reading, he could call and check on me, drive 20 miles to see me, or call 911 if necessary. (Luckily, he never needed to call 911 or come over, but within a week of building the first version of the system, he called me when my blood sugar was below 60 and I hadn’t woken up yet to the alarms.)

DIYPS prototype with Pebble
DIYPS prototype with Pebble

I realized next that if I was already pushing a button on the web interface (pictured), I might as well add three buttons and show him what action I was taking (more insulin, less insulin, or eating carbohydrates) in case I accidentally did the wrong thing in my sleep. I also customized the system so that I could log exactly how much insulin I was taking or how much I was eating.

Because I was entering every action I took (insulin given, any food eaten), we realized that this data could fuel real-time predictions and give precise estimates of where my blood sugar would be 30, 60, or 90 minutes in the future. As a result, I could see where my blood glucose level would be if I didn’t take action, and make sure I didn’t overcorrect when I did decide to take action. This was helpful during the day, too. The CGM has alarm thresholds that notify you if you cross the line; but #DIYPS will predict ahead of time that I am likely to go out of range, and will recommend action to help prevent me from crossing the threshold.

The system worked great and generated many alarms that woke me up at night. (Ironically, we generated so many alarms that Scott would periodically change the sound of the alarm without telling me, because my body would get used to ignoring the same sound over time!) The next step was deciding to get a smart watch (in my case, a Pebble) so I could see my data on my watch, and reduce the amount of time I spent pulling my CGM receiver out of my pocket and pressing the button to turn the screen on. With a watch, it was also easier to see real-time push alerts that the system would send me to tell me to take action. As a result, I was able to begin to spend less time throughout the day worrying about my blood sugar, and more time living my life while the system ran in the background, updating every few minutes and alerting me as to when I needed to pay attention when something changed.

We called this system the “Do It Yourself Pancreas System”, or #DIYPS, and we developed it completely in our “free time” on nights and weekends.

People often ask what my health care provider thinks. He didn’t appear very interested in hearing about this system when I first mentioned it, but he was glad to hear I was having positive outcomes with it.

More significantly, I had a lot of other people with diabetes interested in it and wanting to know how they could get it.

As a patient, I can only design tools and technology for myself; but because it would be seen by the FDA as a class III medical device (and making dosing recommendations from a CGM rather than a blood glucose meter, which the CGM is not approved for), I can not distribute it to other people to use as it would have to first be reviewed and regulated by the FDA.

With this in mind, Scott and I were both also working with the Nightscout project (another community-developed DIY tool that helps you share or more easily view your diabetes data). We were able to incorporate some of the key features we had built in #DIYPS, like the visualization predicting where the blood glucose would be based on carbohydrates and insulin activity.

We also kept iterating on #DIYPS and the algorithms I use to predict when my blood sugar is going to end up high or low. By the time we made it to November of 2014, we realized that we had a well-tested system that did an excellent job giving precise recommendations of adjusting insulin levels. If only we had a way to talk to my insulin pump, we theorized that we could turn it into a fully closed loop artificial pancreas – meaning that instead of only allowing my insulin pump to give me a pre-determined amount of insulin throughout the night, a closed loop system would instead take into account my blood sugar and make the automatic needed adjustments to give me more or less insulin as needed to keep me in range.

Components of an #OpenAPS implementation: pump; CGM; Raspberry Pi with battery and a radio communication deviceWith the help of Ben West, another developer we met while working on Nightscout, who has spent years working on tools to communicate with diabetes devices, we were able to take a carelink USB stick and use it to communicate with my insulin pump. Plugged into a raspberry pi (a small, pocket sized computer), the carelink USB stick could pull from our algorithms, read from the pump, write commands (in the form of temporary basal rates for 30 minutes), read back the results, update the algorithm and generate new predictions and action items, and then do the same process over and over again.

And so, with the help of various community members, we had closed the loop with our artificial pancreas. And once I had it turned on, testing, and working, it was hard to convince me to take it off. This was December of 2014. More than a year and a half later, I’m still wearing and using it every day and night.

Dana BGs with OpenAPS

There are definitely challenges to having self-designed a device. There are usability issues, such as the burden of keeping it powered and extra supplies to haul around. But as a patient, and as the designer, I can constantly iterate and make improvements to algorithms or the device setup itself and make it better as I go, all while having the benefit of this lifesaving technology (and more importantly, having the peace of mind to be able to go to sleep safely at night).

And, I have the ability to communicate and spread the word that this type of DIY technology is possible. I frequently talk with others who are interested in building their own artificial pancreas system as part of the OpenAPS movement. Like #DIYPS, I can’t give away an #OpenAPS implementation or build someone else an artificial pancreas. But through #OpenAPS, the community has collectively published a reference design, documentation and code, and established a community to support those who are choosing to do an n=1 implementation, following the reference design we have shared. As of the beginning of May 2016, there have been a total of 56+ people who have decided to close the loop by building individual OpenAPS implementations, with more in progress. (And today, you can see the latest community count of DIY closed loopers here.) You can read more here about the risks and how it is a personal decision to decide to build your own system; each person has to decide if the work to DIY and the risk is worth the potential reward.

For me, this definitely has been and is worth the time and effort. It’s worth noting that I am glad there are traditionally designed devices going into clinical trials and are in the pipeline to be made available to more people. But the timeline for this is years away (2017-2018), so I am also glad that the technology (including social media to enable our community to connect and design new tools together) is where it is today.

You don’t have to be an engineer, or formally trained, to spot a problem with disease management or quality of life and build a solution that works for you. Who knows – the solution that works for you may also work for other people. We can design the very tools we need to make our lives with diabetes, and other diseases, so much better – and we shouldn’t wait to do so.

34 thoughts on “How I designed a “DIY” closed loop artificial pancreas

  1. We have been waiting for this device for some time to come available. Now the time is here . We were notified that my daughters insurance (ny Medicaid) would not cover the sensor we are devastated. My daughter is mentally challenged (downs syndrome) and has been diabetic since she was 6 and is now 29. Still lives with me . We also have nightmares every night . Just recently had another scare, she is currently on the pump. Any suggestions for us ?

    1. Shelly: Are you a member of any diabetes technology support groups? I know that getting CGM coverage is a very common topic, so you might want to reach out and see if anyone else has been in a similar situation (maybe even with Medicaid) and can provide some pointers about how best to appeal the coverage denial. If you haven’t joined any groups yet, a Facebook search for Type 1 Diabetes brings up quite a few. Otherwise, let us know and we can point you to a few we’re aware of.

  2. I’m so glad that there are devices available (and new technology) to help monitor insulin dosage. I lost my Dad, sister and a brother to Type 1 complications which included amputations, heart failure, blindness and general deterioration of their bodies. I remember my Dad and sister having to sharpen their needles by using a stone!! I only wish that these advancements would have been available to them as I truly believe they would be alive today. Keep up your wonderful work and thank you so much!!

  3. I have just read this for the first time – a wonderful story of initative and innovation, many congratulations to you!

  4. I am 58 years old (or 38 if believe the phrase 30 is the new 50) and I have had T1D since my 20’s. I am a Labile (Brittle) Diabetic who’s Highs and lows can fluxuate dramatically on a weekly basis
    I just received a new OmniPod Pump and Dexcom G5 (both paid for through Medicare) I love my Omnipod since it is waterproof, has no tubing, and is more efficient (for me anyway), than my previous pump. I am going to create one of these systems and will keep everyone updated on how it works with the OmniPod.
    #WeAreNotWaiting

    1. Development work is ongoing to make that possible, but at this time it’s not yet possible to build a DIY closed loop for the Omnipod. In the mean time you could use AndroidAPS in open loop mode, but it can’t send commands to the pod, just provide recommendations for you to enact manually.

      1. I do not use a pump, but, am very interested in the open loop system.
        Are the instructions for building and using the AndroidAPS in open loop mode at OpenAPS.org?

  5. Brilliant device. I’ve been theorising about making my own insulin pump that takes Medtronic sets. It’s actually an insanely simple system.
    I was wondering whether you’ve upgraded to using a Raspberry Pi Zero W as it’s much smaller and has Bluetooth inbuilt. If not, why?
    And if you can access the API of the CareLink Bluetooth dongle you should be able to set up a script on the Pi to use this Bluetooth instead and cut down on the bulk.

    1. Building a safe DIY pump would be an incredibly difficult undertaking, and would probably not be a good idea, given how many different commercial pumps exist that can be remotely controlled to build an AP system. The precision engineering required to dose incredibly tiny amounts of liquid with 100% reliability, and guarantee that the pump can never overdose insulin during failure conditions, make this the kind of device that I’d not want to trust unless it’s been through a certification process of equal rigor to what’s required for FDA clearance or CE marking.

      The currently recommended hardware for OpenAPS rigs is the Raspberry Pi Zero WH (with headers). We do not know of a way to use the CareLink Bluetooth dongle as a radio bridge to remote control the pump, so instead we use a Pi HAT called the Explorer HAT with a 900MHz radio that allows us to remotely control the pump.

    2. How did your experiment go? Would be interested in knowing this. Also – seems most of these solutions are focused around the US. What about the rest of the world? India / APAC? Given that Insurance doesnt cover these pumps – how does one get low cost pumps to be able to facilitate this at a mass scale?

      1. In the US, OpenAPS and Loop use older Medtronic pumps, but in much of the rest of the world the best option is using AndroidAPS with pumps like the SOOIL Dana R/RS, or Roche Combo or Insight. One or more of those may be available at a reasonable cost in your region, either new or used.

  6. Hello, i am interested in this technology and how to build it. I have an android phone, a mac desktop, some older medtronic pumps, a enlite cgm and guardian cgm. would i be able to build a system with this?

Leave a Reply

Your email address will not be published. Required fields are marked *