Which DIY Algorithm to Choose
There are several do-it-yourself (DIY) closed loop algorithms. The best known are OpenAPS and Loop with several implementations for each. Both algorithms require careful attention to settings and there is a learning curve for each. Some believe Loop is more intuitive to use; some believe OpenAPS is a better algorithm; most believe that any closed loop algorithm is better than manual control which is why #WeAreNotWaiting.
Most of the information on the Loop and Learn website is focused on learning how to succeed with Loop. But when deciding which DIY algorithm you should choose, consider the options.
- The Loop algorithm is implemented only on Apple devices (iPhone/iPod) and uses a RileyLink compatible device to allow the phone to communicate with older Medtronic and Eros Omnipod pumps.
- There are a variety of branches and forks for Loop available.
- For Loop: two branches, master and automatic-bolus, and one fork, FreeAPS are compared on this page.
- The OpenAPS Reference Design Zero and One (oref0 and oref1):
- Implemented with older Medtronic pump using a battery operated single-board computer to run the algorithm. The “rig” has a radio to talk to the pump. The user enters data via the pump and Nightscout; and edits preference files to modify configurations.
- Implemented on Android phones, AndroidAPS uses a RileyLink compatible device for older Medtronic and Eros Omnipod pumps, direct communication for a few other pumps. User interface contained locally on the Android phone. Must complete objectives while learning the system to progress through levels of complexity. Plan to spend weeks progressing from open loop to full access of the oref1 features. Additional automation available when all objectives are completed.
- In-process implementation on iPhone, FreeAPS X, beta version runs oref0 and oref1 with limited local CGM choices; with internet connection can use any CGM that sends values to Nightscout. If you believe you might want to try this algorithm and are a dedicated Apple user but a novice with DIY closed loop; our current recommendation is to build Loop now. Later if you want to try FreeAPS X, it will be much easier given your Loop experience. FreeAPS X uses the same pumps and RileyLink compatible devices as Loop. It is not for novices in its current state.
- FreeAPS is a fork of Loop
- FreeAPS X is an implementation of OpenAPS algorithm on an iPhone
Which Loop Branch to Choose?
If you have decided to use the Loop DIY system, you next need to decide which version should you start with.
Traditionally, new Loopers were told to start with the master branch, but the current recommendation for Loop is to start with the automatic-bolus (AB) branch and leave the dosing strategy at the default value of Temp Basal. In effect, this configuration is identical in performance to the master branch. Then if you later want to try the AB feature, it’s a simple switch in the Loop settings and does not require you to rebuild Loop.
If you decide to start with the FreeAPS version of Loop because you like some of the features mentioned or you need to use one of the CGM that is natively supported by FreeAPS and not by Loop, then consider setting FreeAPS to mimic master behavior when starting and gradually turn on the extra features.
Are you confused because you don’t know what the prior paragraphs mean?
Initially, Loop used high temporary basals (“temp basals”) to deliver additional insulin in response to higher than expected BG without user intervention. As Loop developed, an alternative approach to correcting high glucose faster evolved that uses automatic correction boluses.
The main Loop developers locked down the method for supplying the boluses with a simple interface (automatic-bolus branch).
A different developer chose to make a fork (a complete copy of the code) called FreeAPS and provided their version of micro-boluses with significantly more options for configuring when to use micro-boluses versus temp basals or both at the same time. FreeAPS also allows for additional continuous glucose monitor (CGM) options and a variety of user-requested features. (See FreeAPS branch comparison details below). Click here for even more details about the many features of FreeAPS.
The calculations for how much extra insulin (aka “Recommended Bolus”) is necessary is the same for Loop Master, AB and FreeAPS. In all three options, the amount of insulin needed is recalculated at 5 minute intervals (Loop Interval). In all three options, the maximum allowed basal rate and bolus are respected. The difference is in how that extra insulin is delivered. The level of control available (in order) is:
- Master = temp basal
- AB = temp basal or automatic-bolus (40%)
- FreeAPS = temp basal and/or micro bolus (up to 100%), both of which can be easily adjusted by the user (no coding skills required)
The Master branch uses a combination of automated temporary basals and manual meal-time and correction boluses to manage blood glucose.
- When your blood glucose (BG) is at or above target, Loop determines the amount of Recommended Bolus based upon your settings. Subject to your Delivery Limits, Loop will deliver the Recommended Bolus over 30 minutes by dispensing equal amounts of insulin every Loop cycle (approximately every 5 minutes) via positive temp basals (i.e., increase in your scheduled basal rate) to increase your IOB. This decision is re-evaluated during every Loop interval.
- When your blood glucose (BG) is below target, negative temp basals (i.e., reduction of your scheduled basal rate) are used to reduce your IOB. This decision is also re-evaluated during every Loop interval.
- When you record a Meal, Master will recommend a bolus that you can accept or modify and then press Deliver.
- As with all Loop versions, you can manually bolus at any time by pressing the Bolus icon in the center of Loop’s Main Screen.
AB (Automatic Bolus Branch)
The AB branch is the simpler of the two automatic bolusing options. What makes AB unique is that it has a Dosing Strategy checkbox in Settings. As a default, the AB is set to Temp Basal Only and uses temp basals to manage insulin dosing – in the same manner as the Master branch.
When you first install AB, we encourage you to leave automatic boluses disabled. To enable automatic boluses, click on Settings – Dosing Strategy – Automatic Bolus. This Automatic Bolus checkbox turns-off positive temporary basal so that:
- When your blood glucose (BG) is at or above target, you receive 40% of the Recommended Bolus at every Loop interval.
- When your blood glucose (BG) is below target, negative temp basals (i.e., reduction of your scheduled basal rate) are used to reduce your IOB. This decision is re-evaluated during every Loop interval (same as Master Branch #2 above).
- When you record a Meal, AB will provide a bolus equal to 40% of the Recommended Bolus at every Loop interval. Alternatively, you can manually bolus (same as Master Branch #3 above).
- As with all Loop versions, you can manually bolus at any time by pressing the Bolus icon in the center of AB’s Main Screen (same as Master Branch #4 above). Any bolus recommendation that you see when you press the Bolus icon will be 100% of the Recommended Bolus.
AB can be built using the same process as the Master Branch- either via a zip file (the way that most people build) or via a Workspace build. Don’t be afraid to build using Workspace, you’ll find that the Build Script for Workspace builds is actually easier than the traditional zip file method. Both Master and AB branches can be built on an iPhone using iOS 12 or later.
What makes FreeAPS unique is that it has many user-defined Settings. You determine the combination of temp basals and bolus % that are right for you. As a default, FreeAPS is set to use temp basals to manage blood glucose – in the same manner as the Master Branch. For greater detail on using FreeAPS, please visit the FreeAPS page.
When you first install FreeAPS, please leave Microboluses disabled in FreeAPS settings AND disable Adaptive Nonlinear Carb Model in iPhone settings. This set-up will give you a branch very similar to the Master branch plus the additional CGM options. Important Notice for those using Omnipod: If you ignored the pre-build warnings to make sure that your Looping phone and Pod are using the same time zone, please do not take any of the steps below until you access your Loop settings and click on Change Time Zone in order to avoid the Time Zone bug.
If You Have Never Used AB
You should ease your way into FreeAPS microbolusing, click on Settings – Microboluses- Enable Without Carbs, and then set your Partial Bolus Application (PBA) to 20% and your Basal Rate Multiplier (BRM) to a number consistent with your Maximum Basal Rate. This will give you a chance to double-check your settings before fully deploying microboluses.
With these settings, you’ll record meals just as you ordinarily would in Master and you’ll manually bolus. Over time, you can Enable With Carbs, increase your PBA and decrease your BRM.
If You are an Experienced AB Looper
Click on Settings – Microboluses – Enable With Carbs and Enable Without Carbs and set your PBA to 40% and your BRM to 1x. This set-up will give you a branch very similar to the current AB Branch.
Over time, you can increase your PBA and adjust your BRM.
The BRM determines the extent to which you receive extra insulin via temp basals versus microboluses. If the BRM is 1, then only microboluses are used.
If the BRM is set to Max basal limit (scroll down to the bottom of the BRM screen), then any Recommended Bolus will be delivered via temp basals up to the amount of your Maximum Basal Rate. Of course, if you want to receive only temp basals, its very easy to click on Settings – Microboluses – and click Enable With Carbs and Enable Without Carbs so that their checkboxes are no longer green.
FreeAPS must be built using Loop Workspace. FreeAPS only works on iPhones using iOS 13 or later.
How much more insulin is delivered?
I’m sure that by now, you’re asking yourself how much more insulin is delivered using Master vs. AB vs. FreeAPS. Well that’s a trick question. As long as you aren’t bumping up against limits, the answer is that effectively the same amount of insulin is delivered over time.
There are times when automatic bolusing (AB or FreeAPS) really makes a big difference in blood glucose (BG) management:
- Corrections: Insulin for corrections gets into your system faster.
- Long absorbing meals
- Meals that you forgot to bolus.
Pro-Tip: All Loop versions achieve the best results when you include protein and fat in your meal bolus. The automatic bolusing versions are better at correcting for those times when you forget.
It is very important to know how Loop operates and be careful to set safe Delivery Limits for Maximum Basal Rate and Maximum Bolus. Here’s a quick reference guide to help you set safe Delivery Limits as you start Looping.
In the example below, you can see how quickly your extra insulin is delivered using Master, AB and FreeAPS.
With the Master Branch, you receive up to 17% of your Recommended Bolus every Loop interval. With the AB Branch, you receive up to 40% your Recommended Bolus every Loop interval, but with FreeAPS, the % of Recommended Bolus that you receive is based upon your Partial Bolus Application (PBA). You can set your PBA to any % that you’d like from 10% to 100%. In the example above, FreeAPS is set at 60% and 80% for comparison purposes.
Warning: Unless you’re a very experienced Looper with excellent settings and your current sensor readings are verified to be stable and accurate, do not use a PBA above 80%.
In this example, with scheduled basal set at 1u/hour and Maximum Basal set at 3u/hour, Master delivers the least amount of insulin because it is bumping up against the Maximum Basal Rate. The most basal that can be delivered in 30 minutes is 1.5u (0.5u as regularly scheduled basal + 1u as temp basal). With a scheduled basal of 1u/hour and a Recommended Bolus of 2.1, you’d need to have a Maximum Basal Rate of 5.2u/hour (1u/hour as scheduled basal + 4.2u/hour for 30 minutes as temp basal) in order to receive the entire Recommended Bolus amount as temp basals over a 30-minute period.
You’ll notice that AB and FreeAPS deliver almost the same amount of insulin within a 30 minute period (6 Loop intervals). However, the difference in how fast the insulin is delivered is significant. With AB, you receive 40% of the remaining Recommended Bolus every Loop interval, so after 5 minutes, you have received 40%, but after 15 minutes, you have received almost 79% ((0.85u+0.50u+0.3u)/2.1u). Whereas after 15 minutes with FreeAPS, you have received almost 93% ((1.25u+0.50u+0.20u)/2.1u) at a 60% PBA or 100% ((1.7u+0.30u+0.10u)/2.1u) at a 80% PBA.
Because of the speed at which automatic bolusing delivers insulin without any manual intervention on your part, it is important to have solid settings before you decide to enact either autoboluses or microboluses. It is also worth mentioning how much more insulin you get with the Master Branch at a Maximum Basal Rate of 5.2 in comparison to 3u/hour. If you elect to start your Looping journey with the Master Branch, please please please, set safe Delivery Limits (see Beginning Settings chart above).