Loop vs OpenAPS update

Jumping into the DIY closed loop arena can be tough.  Feels like a big commitment and huge change (and it is).  Choosing which system you want to use can be overwhelming.  Worrying about whether you get “the right” system for your needs?  Awhile ago, I posted a comparison of Loop and OpenAPS systems from the perspective of a parent of a t1d kiddo.  Since that original posting, lots of improvements have happened in both systems and I’ve had more time on each system, so it’s time to update the comparison.  🙂

My evaluations have always been colored by our particular situation…my almost 15-year-old daughter has type 1.  She’s in public high school, pretty darned independent at school and only uses the school nurse as a means of storing backup supplies.  BUT, I’m also exposed to many other families who use DIY closed loops for their smaller kiddos at schools that are less-than-friendly to looping.  So, I’ll try to keep the full spectrum of parent/kid users in mind.

By way of short background, we started using Loop from September 2016-December 2016, OpenAPS from January 2017-June 2017, and back to Loop from July 2017-current.  So, quite a bit of time using each of the systems.

My  comparison focuses on these aspects:

  1. Size
  2. Cost
  3. Durability
  4. Ease of build
  5. Ease for caregivers/school nurses
  6. Troubleshooting
  7. Reliability
  8. Portability
  9. Ease of use
  10. Kid-specific features

I intentionally left BG control off the list is because either system is capable of achieving great BG results.  BUT, the ease/difficulty in the WAY you have to adjust your thinking, actions, or lifestyle to achieve the desired control was important to me.  And I’ll get to that shortly.

Size, Cost (Advantage: Even)

These factors are virtually the same between the systems.  Both systems can be easily put in a small box about the size of a tic-tac box for pretty much the same cost.

  • OpenAPS: Each rig costs about $163 for the parts, most people tend to want to build two rigs once they get the system setup with their first rig.  Papertrail service, to remotely view the loop’s detailed logs and help with troubleshooting, is about $5 per month.  Not required, but is very helpful.
  • Loop: Costs $99 annually (for Apple developer program enrollment) and the RileyLink costs $135.

Both systems consist of a small circuit board and a rechargeable lipo battery…so the same care and durability should be expected between the systems.  We plug both systems in for recharge nightly and they last the whole day on the one charge.

  • OpenAPS: we had to use a 2500 mAh battery and got approximately 14-16 hours of use, but took all night to charge (about 8 hours).  The 2000 mAh battery would get about 12 hours of use…and we found it tended to need recharging just about as we sat down for dinner or homework.  Bigger battery kept us from having that interruption.
  • Loop: RileyLink takes about 2 hours to charge and lasts at least 36 hours (we haven’t tested it longer than that, but I think about 2 days would be the limit)

OpenAPS Rig on the left, RileyLink on the right.


Durability (Advantage: slight advantage to Loop)

After months on each system, I’d give the slight nod to Loop for this category.  We’ve had four rigs setup while we were using the OpenAPS system and had two explorer boards stop working randomly during that time.  The radio system just stopped working.  I’ve also seen several other families deal with bad explorer boards, too.  So, it’s not the OpenAPS code that is the issue…but rather the board that provides the communications with the pump had problems.  The company that makes the boards replaced them free-of-charge and was very helpful, but it does take some frustration and attention to diagnosis when the boards fail and deal with the fix.  The company recently started to make the boards thicker to help with the radio issues…those boards have only been released about a month ago so time will tell if it helps with the issue.

We’ve used four RileyLinks without issue (typically we only use one at a time, but we’ve rotated through which one we use because I like to test gear a lot).

Ease of build (Advantage: Loop)

For first time builders, there’s a big difference in this area.  Loop will be an easier initial build.  I’d say the average first-time builder takes a couple hours to build Loop and a few days to build OpenAPS.  If you’re familiar with both systems and want to build a new system from scratch again, the times shorten significantly.  Time to build a new Loop app is about 15 minutes and OpenAPS is about 2 hours, if you’re already comfy with the documents and guides.

The building guides for both systems have been updated a lot over the last year.  Both systems have very helpful groups on Gitter where people will help you through the setup process…Loop and OpenAPS.  And the Facebook group Looped is infinitely helpful and I’m on there all the time.

That said, Loop can initially seem like a more relaxing build for the people who are uncomfortable with “code” since much of it is done through the Apple interface (pictures and symbols, points & clicks).  OpenAPS is done through linux commands and scripts.  HOWEVER, do not let this deter you.  Both systems will take you into places on your computer you have likely never been before (Loop to Xcode, OpenAPS to Terminal), and you will live to tell the story.

I’m here to say…don’t let your intimidation stop you from trying either or both systems.  Let the features you want drive which system you choose…not fear of the building process.

Ease for Caregivers/Small Kids (Advantage: Loop, depending)

Here’s one that adult t1ds probably don’t have to worry about.  Can a school staff member reliably dose your kid with insulin through the closed loop system?  On my previous evaluation, the advantage to this category went to OpenAPS.  HOWEVER, Loop has been updated significantly since then and a lot of the stumbling blocks to safe caregiver use have been eliminated.

One difference to keep in mind if you’ve never used either system, Loop uses the app on the iPhone to enter meal carbs and calculate/administer boluses; whereas OpenAPS uses the pump.

If you have a resistant-to-change school district, they may perceive Loop to be “too different” than normal pump therapy and ask for special training or a note from Endo authorizing the use.  OpenAPS generally could fly under the radar since the bolusing looks more normal…BUT, there is a caveat on that as discussed in the Meal Entry bullet below.

  • Failed boluses  – How does the system handle when a bolus fails to be delivered by the pump?

Loop: Every once in awhile, for whatever reason, a bolus command in the Loop app will not go through.  A notification will appear almost immediately on the iPhone saying “Bolus may have failed, safe to try again”.  Our experience has been that the bolus failures aren’t very often.  We’ve had two bolus failure notifications in the last two months of use.  Only one of them was unnoticed by my kid.  It was a 60g croissant sausage sandwich from Jack-n-Box.  By the time we noticed the missed bolus, Loop had already provided sufficient high temps quickly to cover the missed bolus and we didn’t suffer any high BGs as a result.  How was this possible?  Well, with Loop when you enter a carb to start the bolus wizard, that carb entry is saved in the system…whether or not the bolus is administered.  So, Loop knew the 60g was coming and safely provided the necessary insulin through those high temp basals.  Pretty nice feature.

OpenAPS: Since the boluses are entered from the pump, generally speaking you won’t miss a bolus unless the bolus fails midway through and the caregiver had already stopped looking at the pump.  Likely this would be because of a site issue, so hopefully you’d hear a no-delivery alarm to help with that. (Advantage OpenAPS)

  • Low BG bolusing – How does your school deal with bolusing when the kid has a low BG?  Do they wait to bolus until later and let them eat immediately?  Do they still give the bolus but just shorten a pre-bolus time?  Each school handles these situations differently so it’s a little hard to compare Loop and OpenAPS evenly.

Loop has a minimum BG guard which will prevent a bolus from being administered while the BG is below that user-set level.  That level used to be buried in the code for Loop app, but now it is a simple editable setting in the Loop app itself.  Much easier. For example, the parent can set that “minimum BG guard” value at 60 mg/dl and now Loop app will not provide a bolus recommendation if the kiddo is below (or predicted to go below 60 mg/dl).  You will have to make the caregiver aware of Loop’s minimum BG guard in advance so that they are not caught by surprise if a bolus is not recommended when BGs are lower than the guard.  The carbs will be saved, and insulin will be provided (A) through high temp basals as BGs recover or (B) careprovider can go back to the Loop app when BGs are above 60 mg/dl and press the bolus tool on the app to deliver whatever remaining bolus is needed at any time.  If going with option B, the Loop app will automatically subtract out from any recommended bolus any insulin that’s been delivered by high temp basals since the meal was eaten so that the caregiver will not over bolus in those situations.

For OpenAPS users at school, likely the school will operate more traditionally and simply wait to bolus until they confirm the kid’s BGs have recovered before entering in the carbs and bolusing using the pump.  The downside is the traditional low BG bolusing means sometimes kids are either over-carbed for the low (so that school nurse can hurry them out of their office) or the bolus is completely forgotten about unintentionally.  If the nurse waits “too” long to come back and administer the bolus, it’s possible that the OpenAPS loop will have delivered extra insulin via high temps while BGs climbed from the initially unbolused meal.  If the school nurse doesn’t decrease the bolus by any amount (to account for the insulin delivered by OpenAPS high temps), it could lead to low BGs later if the delay in bolusing was long enough.

Depending on the skill and attention of the school nurse, the advantage in this scenario now may lie slightly to Loop users.  Since any bolusing for Loop is done through the app, Loop ALWAYS knows about any insulin on board and will adjust any recommended boluses accordingly.  But, since OpenAPS is through the pump’s bolus wizard (which does not know about insulin on board from loop actions), the results could be dependent on the whether the school nurse understands/pays attention to the fact that insulin may have already been delivered by the OpenAPS system.  But again, it would depend on the caregivers and how aggressively the school tends to deal with low BGs before meals.

Personally, I like the Loop in low BG bolusing situations.  If I’m not sure why my kid is low (could be from recent strenuous PE class? could be from yet-undetected illness?), I tend to prefer how Loop can administer the bolus incrementally via high temp basals (using that Option A above)…so in essence, she will be more likely to get a (lower total) bolus that reflects the recent increased insulin sensitivity that may be causing her to be low at that time.  She will enter her carbs in the Loop app and hold off on a bolus.  If her BGs recover normally, Loop will cover her normally via high temps.  If her BGs continue to stay low, Loop will not bolus her as much (default to scheduled basals at most) and wait until BGs recover before safely providing any additional bolus. (Advantage depends)

  • Double Carb Entry – When a carb entry is entered in the Loop app, there is a “save” button to move you onto the bolus recommendation part (just like a pump’s bolus wizard).  In both Loop and OpenAPS, an entered carb is saved by default.  Backing out of a bolus wizard does not cancel the carb entry.  In Loop, the caregiver/kid can go into the app and cancel/edit the unwanted carb entry.  However, in OpenAPS you cannot edit the entry.  So both systems require a consistent method of carb entry to prevent unintentional double entries.

Also does your kid ever say they are hungry for a muffin and carrots?  You bolus for both, but then he only eats the muffin?  Leaving you with carrots and ranch sauce bolused for, but uneaten?  In Loop, you can edit OUT carbs that your kid may have decided not to eat.  While this doesn’t have the ability to suck out the insulin already delivered for the carbs not eaten…by editing the carbs lower, you are able to tell Loop to more aggressively reduce basals in the near future.  Depending on the amount of carbs not consumed (yet already bolused for), you may be able to simply have Loop suspend enough basals to recover without needing any additional interventions later.  (Advantage Loop for the ability to edit/delete carbs already entered)

Experience note:  I am unsure of the reasons why, but there were instances in OpenAPS where the system perceived double carb entries even when the bolus wizard had not been backed out of. I never nailed down the source of the double carb entries, and I only noticed them because I had been watching Nightscout at meal times.  In those instances, we would set a high temp target and wait for the extra carbs to decay in order to prevent the OpenAPS loop from overtreating carbs that weren’t really there.  It would have been nice to edit out those carbs, but there never was a way.  This occasional error was a bit disconcerting because there was not a way to be alerted to the error except by noticing it on Nightscout.  I know they (the OpenAPS dev team) are actively working on how carb entries are read and uploaded, and making sure that those duplicate carb errors are minimized.  There’s also been a few reports more recently about errant carb decay (carbs not decaying fast enough)…I’m not sure the status on those.  I’m certain that issue is also being actively evaluated.

  • Meal entry – Originally, I called this category “carb absorption time” but really it’s probably better to call this “meal entry”. This category has changed significantly since this comparison was originally done.  In the original comparison, the advantage in this area went heavily to OpenAPS, but now that Loop has been updated with dynamic carb absorption…I’d call this even between the systems. The new versions of Loop have nifty food icons that a caregiver can use to enter in the carb absorption times of the meals.  They no longer need to diligently follow notes from mom or be inherently talented at estimating food types (and neither do YOU!  woohoo!).  The Loop app is much better now dealing with carb absorption times for foods.  While having to enter a carb absorption time does add one complexity to Loop over OpenAPS (you don’t have to enter carb absorption time in the pump bolus wizard after all), it also now bring with it a big advantage…which is more fully discussed in the Ease of Use section below.

One note about OpenAPS meal entries for caregivers/school nurses is that you’ll have to train them to NOT enter a BG reading in the pump’s bolus wizard to enter a meal.  If you enter a BG in the pump’s bolus wizard and the BG is higher than target, the pump will offer additional insulin as part of the meal bolus to help “treat” the high BG.  HOWEVER, if your OpenAPS rig has been looping, the loop has already provided additional insulin via high temps to treat that high BG.  Your pump is unaware of that extra insulin.  By using BG entries in the bolus wizard, your caregiver will likely administer more insulin than needed.  So, while OpenAPS looks more traditional and may be more comfortable for loop-resistant school nurses, you will need to make sure they are complying with instructions to NOT enter BGs in the bolus wizard for treating high BGs. (Advantage even, both require a short school nurse discussion now)

  • Emergency tubing/reservoir changes – In older versions of Loop (and in the first comparison post), this area was a significant advantage to OpenAPS.  Loop users used to need to do a special set of procedures if they were priming out air bubbles or changing tubing in the middle of the day (without a reservoir change).  Those issues have since been eliminated in Loop updates and now the systems are no different between Loop and OpenAPS.  No more special procedures needed.  (Advantage even)
  • Net IOB – The Loop app tracks net IOB (IOB from both boluses and basals). As such every Loop bolus and correction is automatically consider net IOB. However, Medtronic pumps do not track IOB from temp basals. In OpenAPS, since there is no app, netIOB is usually seen in Nightscout (in fact, the IOB pill will even break down the basal IOB contribution). Caregivers/kids will need to be aware that the usual “take BG before a meal and add a correction adjustment to meal bolus using pump’s bolus wizard” should not happen. Most OpenAPS users will only bolus for their meals using straight carb ratio, and not use the pump to suggest a +/- correction bolus.

Caregivers can use Loop’s main screen or Nightscout to view current net IOB.  For OpenAPS, caregivers will have to use Nightscout to obtain net IOB.  (Advantage Loop, simply for ease of access to the information)

  • Corrections – Corrections under both systems are about even now.  In both systems, corrections during stubborn highs should be applied very conservatively by any caregivers and only with consultation with parents.  (Advantage even)

Troubleshooting (Advantage Loop)

Loop relies on the RileyLink for communications, OpenAPS relies on the explorer board.  Both feed information into Nightscout about the status of those communications and looping.  A remote parent can receive information about potential problems that may be causing the loop to stop running.  OpenAPS users can use Papertrail to give even further detailed information about the rig’s errors, but that is optional and costs $5 per month.  Papertrail will require internet connection in order to log the error messages as well (so if the error involves a failure to get internet connection…papertrail won’t work).

Originally, I had this category Advantage OpenAPS, but I’m going to have to revise this based on watching more and more users come online for OpenAPS over the last half year or so.

When I first started OpenAPS (and through most of my OpenAPS use), all my troubleshooting steps pretty much only had to involve restarting the rig.  HOWEVER, there’s been more instances as time went on of errors that required a rebuild of the OpenAPS loop.  Which means, the OpenAPS rig wouldn’t work until you can find time to login to the rig with a computer connection.  Luckily, we had pretty smooth sailing for our rigs…but admittedly, others that I’ve been helping have not had the same experience.  Some people had flaky wifi routers or wifi dead spots (those issues have been very frustrating for some people).  Some rigs suddenly have files that corrupted and needed to have the files removed before the loop would work again (git lock errors).  A lot of the issues seem to happen when the rig moves in and out of wifi areas or when the battery dies.  That said, when you have time to reach a computer, you can either spend time trying to fix the specific issue or simply erase and rebuild the loop.  An erase and rebuild of the loop, once you get used to it, can be done in about 20 minutes…but does require finding time in front of a computer.

So this is a tough category.  For myself, looking at logs provided a lot of insight into the troubles that my OpenAPS rig was having.  BUT, for other many other users, the logs are confusing and overwhelming.  The OpenAPS docs have had a lot of updates to help with troubleshooting aspects of the system…and that has helped a lot of people.  But, the requirement to login to rig in order to fix some of those errors has been a pain for some people.

Loop app, when it has stopped looping, has never taken more than a reboot of the dexcom and/or Loop apps, and sometimes a BT toggle on/off.  The app has never suddenly stopped working to the point of requiring getting to a computer to rebuild the app.

Reliability (Advantage Loop)

How often does each system go down?  How do you find out the system has failed?  The answer is “it depends”.

The original post gave the advantage in this area to OpenAPS.  Our original Loop app had frequent communication failures and we’d regularly go 15-20 minutes without looping about 2-3 times a day.  We’d retune the RileyLink, get communications working again, but it was a bit of a pain.  In fact, Anna’s love of OpenAPS initially was that she no longer fussed as much with keeping gear working during school day.  Well, I’m happy to report there were some code improvements since we’ve come back to Loop use, and they are most definitely noticeable.  We’ve now only had one period of time with poor Loop communication (fixed in 5 minutes) and Anna no longer has to interrupt her day with any Loop troubleshooting.  We’ve traveled in car, on planes, all over school campus, and such…no connection problems.

Since updating, we’ve had only three instances of Loop failures.  The single time where restarting the Loop app fixed the problem (as described above).  The other two times both were the result of the iPhone being shut down completely and therefore the dexcom app and Loop apps being turned off. If you have your iPhone setup to update iOS automatically…the reboot at the end of the update will mean your Share app is off until you specifically restart it.  Which means you won’t be looping until you do that.  Or if your teen lets her iPhone battery die, she will need to remember to restart the dexcom app when the iPhone restarts.

Our OpenAPS system was quite reliable for us.  But, we did have some periods of downtime; typically when she was switching from a known wifi network and the rig would try to connect to her iPhone’s hotspot.  Usually the rig would automatically switch, but sometimes she would have to restart the rig to get it to work.  The restart isn’t such a big deal (unless your rig is in a case that makes it hard for the kid/caregiver to access the power button).  HOWEVER, the issue is whether or not the kid/caregiver will NOTICE there’s a failure in the rig and whether they can do something about it.  That’s been our biggest Achilles heel with OpenAPS and a kid.

Anna doesn’t check Nightscout.  She also doesn’t check her pump to see if temp basals are enacting.  She just keeps moving about her day…never checking if her loop is looping.  We’ve tried pebble watches to alert her to loop failures (but inevitably she just hasn’t gotten in the habit of keeping the watch even reliably going…9 times out of 10, the pebble has been disconnected and she doesn’t even notice).  So with OpenAPS, she would never notice if the rig stopped working.  This bit us in the butt a few times.  Murphy’s Law is that the rig always fails at the times when it will be most inconvenient (and in ways you hadn’t planned for).

Situation 1: Most notably, one time she’d gone out with friends to eat sushi (new food for her), didn’t want to be interrupted by mom (mom texts are ignored), and was nowhere near known wifi networks. Just after leaving the house, her rig didn’t successfully connect to her iPhone’s hotspot, which meant the rig couldn’t loop.  Unfortunately, the rig had also set a 120 min temp basal of zero (temp suspend) as she headed out the door.  Meaning she went to eat sushi, without a loop to help, without checking phone for mom texts, and on a 120 min zero basal setting.  Needless to say, that didn’t end pretty.

Situation 2:  We went to the end-of-track-season banquet.  The banquet was held at a building NEAR the school’s bus barn.  I never even gave this a second thought.  HOWEVER, the way our school’s IT department has configured their wifi network…all the networks across all campuses and buildings have the same wifi name and password.  BUT, her rig is only specifically cleared on certain locations (the high school and middle school…not the bus barn).  So when we got to the banquet, her rig connected (without us realizing it) to the bus barn’s wifi network.  However, since it was not cleared on that location, the rig could not actually loop using that connection.  Further complicating things, the cell reception there was incredibly slow and spotty, so Nightscout and Papertrail wouldn’t load on my phone.  I was in the dark about what was going on.  Anna (being the independent teen), didn’t want to sit near us so we didn’t have her receiver to look at or hear (and it was a little noisy in there).  Turns out that with the nerves of the banquet, her BGs took off and there was no looping going on to stop it.  We walked out of the banquet and could finally hear her receiver alerting to a BG of 280 mg/dl.  So yeah…that sucked.

Situation 3:  School redid entire wifi network, but forgot to add Anna’s rig back on the “all clear” list.  No OpenAPS all day while I tried to get them to resolve that.

At least with Loop, she’s regularly seeing the screen that indicates if Loop is looping during the day.  She can’t avoid seeing if the Loop circle is red or green every time she goes to bolus.  So, this visual provides a nice opportunity for not-so-invested-people (aka not parents) to periodically check if the loop is working as opposed to depending on Nightscout check-ins.  Also, the Loop sends notifications that appear on her iPhone screen proactively at 20, 60, 80, and 120 minutes if the Loop isn’t going.  So…for a kid who isn’t habituated to paying attention (or wanting to pay attention) to loop status…those notifications and visuals help.  Especially since she doesn’t keep her Pebble functioning.

For my teen, cultivating independence is a big deal right now.  This may not be the case for parents of little kiddos, but for Anna and me, the Loop app setup is providing a little easier opportunity for her to be responsible for looping with fewer mom interruptions.  I know she will see a notification locally from her Loop app if she needs to restart the app.

Plus, not being dependent on cell reception and wifi has been beneficial.  I never anticipated some of the wifi/cell issues with OpenAPS like I’ve described…but they do happen occasionally and seemingly when you haven’t got a backup plan in place.  Murphy.

Portability (Advantage Loop)

There’s been no significant changes in this area since the last comparison.  The portability of Loop is pretty great.  You could take it to the middle of nowhere and still be able to run a closed-loop…no internet, wifi or cell needed.  The Loop user will be able to see all the important looping information like IOB, current temp basals, COB, and such.  Loop needs internet connection (aka cell phone reception or wifi network for iPhone) for the parent to remote monitor things on Nightscout still.  (If I were reviewing portability as an adult t1d, Loop would be an easy advantage.)

There are options for running OpenAPS without internet like Loop (aka “camping mode”).  The disadvantage is that your rig gets bigger and you need to preplan for offline use (because you’ll need to carry the OTG cable and spare USB battery).  You’ll need to directly plug-in the dexcom receiver to the rig and a USB portable battery.  You also won’t be able to monitor what the loop is doing really when operating offline.  (Android phone users have some better options for offline use and visualization.  See the OpenAPS docs for the info.)

One thing that we noticed with Loop vs OpenAPS in terms of portability would be a factor I’ll call accessibility.  We hadn’t really run into this until we attended a wedding a few months ago.  Anna was on OpenAPS at the time.  She was wearing a dress, and had a pair of booty shorts that she tucked her pump into for the evening.  I asked her “Are you sure you don’t want to use Loop tonight?  You’re going to have to dig up your dress to bolus for the evening if you stay on OpenAPS.  Might be a pain.  Maybe wear the pump on the outside of dress?”  She swore up one side and down the other that she had no problems just going to the bathroom to dig for the pump when needed.  So, off we went to the wedding…but I had that nagging parent-feeling that tells you “You know better, Katie.  She’s not going to do what she says she’s going to do.”  You know where this story is headed, right?

The pump was apparently NOT pulled out to bolus.  Food was eaten, BGs climbed.  And when I went to check on Nightscout to keep an eye on things…turned out the wedding was in the only cell dead spot in the middle of Los Angeles.  So…not only did she not bolus, we also didn’t have looping.  It was a really rough night.  Would’ve been nice that she had one less obstacle to bolusing that night…because sometimes teen brain stops at the very first obstacle it encounters.  And if that’s a hidden pump, that may just be enough.

Also worth noting, the OpenAPS rig has longer communications reach than the RileyLink.  We found that one OpenAPS rig could still reach Anna from 2-3 rooms away in our house…whereas the RileyLink is more like 1, maybe 2 rooms reach.  Anna has adapted, as I imagine most kids do, to carrying their gear with them in a pack…meter, receiver, phone, and rig/RileyLink.  She is equally likely to walk away from rigs/RileyLinks as she is to walk away from a receiver/phone…so the gear grouping/toting has proven to be less of an issue than I originally expected.  Each system has had equal instances of being left behind. 😉

Finally, one quick note about portability that we learned…the OpenAPS rig gets a little too hot to be kept in a pocket.  The RileyLink stays a lot cooler than the OpenAPS rig and can still comfortably sit in a pants pocket.  Anna has kept both her OpenAPS rig and RileyLink in her purse, which then gets stuffed into her backpack for the school day.  Both maintained connection just fine being transported like that.  But, I suppose if you are thinking about OpenAPS in pockets, it is worth mentioning that you’d want to consider an alternative to pockets due to heat.

Ease of Use (Advantage Loop? OpenAPS?)

This category originally went to OpenAPS because the carb absorption times were so difficult for many people.  It was just too hard to trust caregivers or kids to estimate the carb absorption of new foods on their own with Loop.  Now, I think that gap is gone and there’s actually some really cool features that have been added to both systems since the original post:

Loop: dynamic carb absorption, food icons, and temporary “pre-meal” target (coming very soon)

OpenAPS: single microbolus and unannounced meals

There’s a good deal of personal preference about the physical use of each system to bolus.  Anna has gone back and forth about which system she prefers to bolus from.  When she’s actively using the Loop, she loves the ease of bolusing from the iPhone. (Perhaps in time, she may even decide to wear an Apple watch and use the bolusing from watch part of Loop…but she isn’t interested in that yet.)  When she’s actively using OpenAPS, she likes how easy it is to just pull the pump out and bolus.  None of her teacher give any side eye to her using her pump…but some teachers have to be reminded at the beginning of each school year that her iPhone is how she boluses when using Loop.  So, she likes that OpenAPS doesn’t catch the teachers eye as much if she pre-boluses in the class before lunch.  Basically, Anna seems to physically like whichever system she is currently using fairly equally.  I think she’s an oddity for that.  Probably most people have more solid, unchanging personal preferences on whether they prefer pulling out a phone vs pulling out a pump.

BUT, here’s where Loop has been TREMENDOUSLY upgraded since we had originally used it.  The dynamic carb absorption update now makes it so easy for Anna to bolus herself completely independently…even for hard food like pasta, pizza, Chinese food, and quesadillas.  On old Loop, we would have to split the boluses up, splitting the carb entries up, and sometimes editing the entries to better match the carb absorption we were observing.  It was not super easy, but I got used to it.  Anna, however, never got used to the more complex boluses and I would always have to narrate how to split up the carbs, carb absorption times, and bolus for the bigger meals.  When she was at school, I couldn’t see what she had entered for the carb absorption times, and would have to hope she (or a caregiver) had gotten it correct.

The same split bolusing technique applied in OpenAPS to a certain extent; we still split bolus the big meals to avoid early lows and try to still catch the later highs.  But, the noticeable improvement was that I didn’t also have to deal with carb absorption time issues. OpenAPS has its own version of a variable carb decay based on observed BG trends…so it was a big improvement in terms of the flexibility of the system.  Not having to tell Anna (or her having to guess) what the carb absorption time on foods was…that was nice.  However, OpenAPS was still not “smart” ahead of time about the meals we were bolusing.  OpenAPS didn’t care or differentiate, ahead of a bolus, whether Anna is eating 60g of fruit or 60g of pizza.  I would still need to adjust the bolus if the food needed an extended/split bolus.

When dynamic carb absorption came to Loop app in July 2017, it turned what used to be Loop’s biggest flaw into Loop’s biggest asset (in my opinion).  NOW, finally, I can reliably tell Loop that a meal will be a long absorption meal…and it does the split bolus FOR ME.  Or rather FOR ANNA.  It’s how I always imagined a true bolus wizard should work.

You can read a detailed description about how Loop boluses here.  A short version of how Anna boluses for a meal like a bowl of pasta now…she roughly knows the amount of carbs in her bowl of spaghetti, usually she eyeballs between 75-90g of pasta when she eats that for dinner.  She goes to the Loop app and selects the food icon that is a depiction of a bowl of pasta, and enters the total grams (and sets time stamp ahead 20 minutes for her pre-bolus).  Loop app knows that pasta takes a long time to digest, so it calculates the amount of bolus that is safe to give up front (including knowing she is being prebolused), and recommends that amount.  Loop then watches Anna’s BGs and when it starts to see that the meal is finally absorping enough that it is safe to provide more insulin…Loop high temps to provide that remaining bolus.  It is much like an automated extended bolus now.  Without me needing to lock it in upfront, and having the flexibility to adapt if BGs come slower or faster, higher or lower than I had expected at the beginning of the meal.

On the OpenAPS side, single microbolus (SMB) and unannounced meal (UAM) features have been released since the original comparison.  These features can allow for faster treatment of rapidly rising BGs.  This is especially advantageous in situations were kids might eat without remembering to enter in the carbs or bolus.  The loop is going to be able to treat a little more aggressively, within reason, for those situations.

Both OpenAPS and Loop have the ability to set a temporary target to help pre-bolus kids easily.  Simply enacting a temporary lower BG target (such as 80-80 mg/dl) an hour before eating will help pre-load some insulin before a meal and help curb post-meal spikes.  With OpenAPS, you can enact this feature using IFTTT and a careportal entry.  With Loop, there’s a new “pre-meal” target button on the app (different that the workout temp target setting) that will set the lower target you specify for up to an hour before the meal or whenever a carb entry is made, whichever is sooner.  (note, this feature hasn’t been merged for release yet, but will be available soon.)

Only OpenAPS will allow you to remotely set a temp BG target (using Nightscout’s careportal).  When my daughter went to track practice using OpenAPS, I could set a temp BG target (while I was at my work desk) to help keep her in a slightly higher target range.  I could also easily cancel the temp target if practice gets out early or situations change.  For kids that are too young (or teens that are too distracted) to know when a temp target is helpful…this remote feature is AWESOME.


Kid-specific features (Advantage OpenAPS)

There are some feature that OpenAPS specifically designed to adapt for kid t1ds.  We haven’t used or tested these, but they may be of interest to some of you reading here.  There’s been no change to these features since the original comparison.

  • Override High Target with Low: “Defaults to false, but can be turned on if you have a situation where you want someone (a school caregiver, for example) to use the bolus wizard for meal boluses. If set to “True”, then the bolus wizard will calculate boluses with the high end of the BG target, but OpenAPS will target the low end of that range. So if you have a target range of 100-120; and set this to true; bolus wizard will adjust to 120 and the loop will target 100. If you have this on, you probably also want a wide range target, rather than a narrow (i.e. 100-100) target.”

Conclusions (Advantage Loop or OpenAPS?)

Which system will work best for your kid and your lifestyle?  I suppose you’d have to answer some upfront questions to decide which aspects are priority for you.  The gap between the systems for kid use has tightened tremendously.

  • If you have a small kid, who would really benefit from being able to set remote temp BG targets while they are at school or a school district who would prefer a more “normal” looking diy closed loop system that wouldn’t attract as much scrutiny/attention…OpenAPS may be the best system because it’s the only one with remote BG targeting and bolusing from a pump is usually something a school nurse is used to.
  • If you have an older kid who wants to keep pump hidden, likes to use their phone, and is more “locally” in charge of their diabetes care…Loop may be the best system.
  • If you have a need to be seamlessly internet-independent because you live in a rural area…Loop would be best, or be prepared to carry a larger rig for OpenAPS and have limited ability to see the rig’s actions while offline.


Some side notes about what we’ve noticed in the last several months, too.

IFTTT:  I never used IFTTT or mentioned it in my original comparison because we hadn’t had it setup at that point.  However, once we were on OpenAPS, we did eventually set up IFTTT to have single button actions.  Because again, trying to eliminate any obstacles from the teen brain doing the right thing.  Turns out that many of the IFTTT buttons from OpenAPS are still super useful on Loop app.  So…I’d recommend that parents of Loop-using kiddos also setup IFTTT buttons for things like dexcom sensor sessions, tracking pump battery life, and infusion site changes.  Probably the best IFTTT button we installed allows Anna to tell me in a single touch “Hey mom, I’m walking away from my phone/rig/receiver for a little bit…don’t worry about it.  Things aren’t broken, this is intentional.”  By seeing the notification on my phone, I can NOT bug her about why her CGM doesn’t have data or whatnot. Sure, she could text me the same thing…but teen brain won’t do that amount of effort and school sometimes moves too fast for texting.  A single button press she will do, however, if it saves her from having a mom-interruption.

No more Loop issues:  When Anna and I discussed which system she would take back to school at the end of summer, she hemmed and hawed.  She liked parts of each.  But, ultimately she said she wanted to use Loop system IF it stayed connected and she didn’t have to fiddle with it.  With the improvements to the app since we last used it, this is finally holding true.  Reliably staying connected now.  She likes how easy the bolusing for ALL the different food types is now with Loop.  Again…finding the theme?  Less mom-involvement.  Like she prioritized all the things that take me out of her life.

Hormones:  With Loop app, we simply manually adjust basal rates when her period comes.  I had hoped that autotune on OpenAPS would be able to completely handle hormone shifts automatically…but the changes were just too large and fast for autotune to keep up with them in the end.  We did keep autosens (different than autotune) enabled for much of our time on OpenAPS and it helped take the edge off of some of her swings, and also with shorter term post-track workout sensitivity.  However, we did have occasional times where autosens went the opposite direction of where we wanted things to go…so a few times we had it disabled on OpenAPS.  I do see that auto-ISF may be a feature coming to Loop later…and if so, I’d be very interested in seeing that feature.  I think auto-adjustments of basals and ISF is where a lot of advancements lie. (After all, it’s what the 670G is supposed to be doing…)

Remote boluses:  This is purely a “Me” issue…but I do love NOT touching Anna’s pump nearly as much while using Loop.  Since she is old enough to bolus herself, it’s not like I was touching her pump all the much to begin with on OpenAPS…but at night if I ever need to make a bolus or a change to a basal rate…it is very nice to just be able to use her phone to make those changes instead of digging under the covers and finding her pump (she tends to hit people who grab for things under the covers when she’s sleeping…a good habit for a teen, one I will cultivate.).  For parents of small kids who are used to giving remote boluses on Animas pumps, you may find that Loop feature still really appealing.

Redundancy issues:  I think about the Murphy’s law parts of our setups a lot.  When we were using OpenAPS, we had two rigs in her room each night to provide automatic redundancy.  That did save us a couple of times that one rig went down unexpectedly in middle of night.  If our Nightscout failed or mlab service stopped, our OpenAPS rig would stop working (unless we’d plugged the receiver directly into the rig and had a power source in other plug on rig).  Loop app is unaffected by any Nightscout failures.  When Anna’s pump died unexpectedly from a button error, I also learned that switching pumps is easier on Loop than OpenAPS.  For OpenAPS, you do need access to login to your rig and change the pump’s serial number within the files on the rig.  For Loop, it’s a setting within the app that you can change without rebuilding anything in the app.  To help with the Murphy’s law prevention, we got in the habit of having a spare OpenAPS rig rubber-banded to the spare pump in the closet, so that it could be grabbed in an instant and put into service if we weren’t around computers.  If you’re a Murphy’s law planner, you might want to consider that in your plans.  I also keep a Loop app built on the other iPhones in our house, in case Anna’s phone gets broken.  At least then she could temporarily use that phone until her’s could be fixed/replaced.

Pump battery life:  Random tidbit and low on priority list, but our lithium AAA batteries last just over 8 days on OpenAPS and just over 16 days on Loop.

My end conclusion from the previous post’s comparison still applies:

“I’m just trying to find ways that we talk less about diabetes and more about everything else.”

With the improvements to Loop and OpenAPS, both systems are pretty amazing for accomplishing that.  Dang, we are lucky.  The ease of bolusing for pasta and pizza have sold me on Loop.  I’ve been waiting for the day that I would have a system capable of keeping us under 150 for pasta, Chinese food, and pizza without needing more than a single communication with the pump/loop.  It’s finally here.  Double bonus that Anna can now do these boluses completely independent because of food icons…who would have ever guessed?!



4 thoughts on “Loop vs OpenAPS update”

  1. Thanks for the awesome comparison! My son’s been ‘loop’ing for 3 months now and it’s resulted in an immeasurable improvement in our quality of life (along with a significant improvement in his BGs). One of the challenges we face with Loop is that he:
    – often boluses late and sometimes forgets to bolus entirely
    – often forgets to set exercise mode or eat free carbs before exercise
    It sounds as if OpenAPS can more effectively deal with such scenarios, but I was wondering… In your experience: does Integral Retrospective Correction ( https://github.com/LoopKit/Loop/issues/695 ) does just as good a job?


Leave a Reply

Your email address will not be published.