What is FreeAPS
FreeAPS is an experimental fork of Loop that is maintained by Ivan Valkou and Kirill Chekanov. It is sometimes called the “Ivan branch”. FreeAPS provides the user with a lot of options. It can deliver microboluses (MBs) and temporary basal rates (TBRs) to manage your insulin needs. MBs are based upon your settings and Loop’s algorithm. The algorithm will suggest boluses when basal change is not enough, but FreeAPS forces part of that dosage as a microbolus (MB) at the beginning of every Loop interval.
Additionally, it allows for the exporting and importing of settings, allowing you to make a backup of your settings, or for example, import one set of settings for a “normal” day and another set of settings with safer basal amounts for running a marathon, making it very easy to switch back and forth.
If you were previously running the master branch, or another AutoBolus branch and you install this and do not take care to properly set up the additional settings, you can harm yourself. If you have an active pump and install this branch, you must immediately set some safe settings. Open Loop before building this over a working version, then go in and modify/verify all your settings before closing Loop.
Kate Farnsworth did a good writeup of the FreeAPS fork in a Facebook Looped post.
The primary support for FreeAPS is found in two different Telegram groups- a help/discussion group and a version/documentation group. If you don’t already have Telegram, you should download the app in advance. Please make the investment in yourself and check both of these Telegram groups no less than once a week.
As of December 2020, FreeAPS was last updated to be consistent with the v2.2.4 Loop version.
Words of Caution
As with any branch (or fork) , please note that this is Do It Yourself (DIY), and do at your own risk. Please be safe, research a lot and be careful with your decisions. FreeAPS relies on automated MBs for all or a portion of insulin delivery — be sure that your settings are correct because FreeAPS is more sensitive to mistakes than either traditional pump therapy or non-automatic bolusing versions of Loop.
How to install FreeAPS
As with all Loop builds, please review the LoopDocs for reminders to update MacOS, Xcode, iOS, WatchOS and install HomeBrew (if this is your first Loop build on this computer) before attempting to build. FreeAPS only supports iOS 13 and higher.
Important Notice for those using Omnipod: Before proceeding with your FreeAPS build, please access your Loop settings and click on Change Time Zone to make sure that your Pod and Looping phone are using the same time zone. Failure to update your time zone, may result in your FreeAPS app crashing even though you were able to build successfully. If you’re reading this page because you’re experiencing the Time Zone crash, please go to the Loop Time Change page.
Go to Loop and Learn’s Build FreeAPS Workspace page for the script that will clone FreeAPS to your local drive and open it in Xcode.
When you first install FreeAPS
Please leave Microboluses disabled in FreeAPS settings AND disable Adaptive Nonlinear Carb Model in iPhone settings (see instructions below). This set-up will give you a branch very similar to the Master branch plus the additional CGM options.
When you’re ready to proceed with the setup process, click on the Settings icon in your FreeAPS app and click on the Closed Loop checkbox so that it’s green. Then click on Microboluses and begin your setup process.
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 adjustments described above will get you to a branch similar to AB, but may not be identical due to the timing of when various branches are released. A description of each FreeAPS setting is explained in more detail below.
Enable With Carbs and Enable Without Carbs: Microbolusing can be enabled separately with and without carbs. Your decision here will be based upon whether you want to enact MBs only when you have carbs on board (COB) or with no COB or both.
By leaving Enable Without Carbs off (grey), you only get MBs with carbs. The rest of the time, FreeAPS relies on temporary basals to keep you within target range. This option may be particularly helpful for newly diagnosed or younger FreeAPS users because temporary basals are less aggressive than MBs.
FreeAPS provides the option to use both boluses (see Partial Bolus Application) and temporary basals (see Basal Rate Multiplier) to deliver insulin. The extent to which you use boluses vs temporary basals is defined by you, the FreeAPS user.
To receive only temp basals, click on Settings – Microboluses – and click Enable With Carbs and Enable Without Carbs so that their checkboxes are no longer green.
Partial Bolus Application (PBA): The PBA rate is the percentage of recommended bolus that will be applied automatically at every 5 minute Loop interval. For example, the AB branch uses 40% as its PBA. The higher your PBA, the more accurate your settings must be.
Basal Rate Multiplier (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 – all of your increased insulin needs above your scheduled basals will be delivered via MB. However, if BRM is greater than x1, temporary basals are applied before MBs are delivered. The lower the BRM, the more of your insulin requirements that are provided by MBs. The higher the BRM, the less of your insulin requirements that will get delivered by MBs. 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 – as long as Loop determines that your insulin needs above your scheduled basal can be met with temporary basals within a 30 minute period, you will get no MBs. This table shows how the BRM increases as the MB decreases, and assumes a PBA of 100% (100% is used for illustrative purposes only, please note that a PBA of 100% is not recommended):
To the extent that the PBA is less than 100%, the amount of insulin that will be delivered via MB will vary because Loop will re-assess insulin requirements during every Loop interval (or approximately every 5 minutes). If blood glucose (BG) increases from one Loop interval to the next, then the amount of insulin delivered via MB will increase. Conversely, if BG decreases from one Loop interval to the next, then the amount of insulin delivered via MB will decrease.
Please also note the following:
- The BRM value cannot exceed your Maximum Basal Rate setting in Delivery Limits.
- BRM setting is ignored if MBs are disabled.
- Some Omnipodders that struggle with Pod battery life issues, find that setting the BRM to x1 helps extend their Pod battery life.
TEMPORARY OVERRIDES Disable MB by enabling temporary override: This is an optional feature. To enable this feature, click the checkbox and set the threshold.
Once enabled, whenever you set a temporary override with a target range greater or equal to that threshold, MBs won’t be enacted. For example, if you set this at 100 and then select an override with a target BG range of 110-120, no MB would be delivered while that override is in effect.
IF YOU ENABLE THIS FEATURE, PLEASE INPUT A “GIVEN VALUE”. DO NOT LEAVE THE DEFAULT “GIVEN VALUE” OF ZERO. IF YOU DON’T CHANGE THE DEFAULT VALUE, YOU WILL GET NO MBs WHEN YOU ENABLE A TEMPORARY OVERRIDE.
Export and Import Settings: FreeAPS gives you the ability to export settings to iCloud and import them back into FreeAPS. This essentially allows profile switching which is incredibly helpful for hormones or fluctuating insulin needs. The Import and Export Settings feature is located at the bottom of your main FreeAPS settings screen below SERVICES.
Open Loop Manual Temporary Basal Rate
To use this feature, go into Open Loop mode by going into Settings and sliding the Closed Loop checkbox to the left, click Done and then click on the Temp Basal icon in the top center of the HUD (main FreeAPS display screen). The Open-Loop TBR manual setting allows you to pick your TBR and duration. This feature is helpful to those who are going out of range of their RileyLink or EmaLink for more than 30 minutes. For example, this feature is helpful for swimming or other sports where it’s not practical to carry your Riley or Ema with you.
FreeAPS has many built-in safety features, by default the following safety features are in effect:
1. MBs are disabled whenever:
- Any BG within the 6-hour prediction is below your suspend threshold or target range
- Eventual predicted BG is below your suspend threshold or target range
- Current BG is lower than your suspend threshold
2. Maximum MB amount is limited to 30 basal minutes when current BG is below the target range.
In all other circumstances, MBs are limited by your settings. Two of these Safety settings can be disabled and MBs will be delivered as long as you’re getting data from Apple Health. This flexibility is built-into FreeAPS because individuals’ diabetes and their FreeAPS technology set-ups vary.
Allow MBs when the sensor value is invalid: In the default/off position, no MBs are delivered if the CGM sensor value has more than a 20% or 2.5 mmol/l (45 mg/dl) difference from your current BG reading. This built-in safety feature can be disabled by sliding the checkbox to the right.
Allow MBs when glucose is below target range: In the default/off position, no MBs are delivered if current or predicted BG is below target range. This built-in safety feature can be disabled by sliding the checkbox to the right.
Open bolus screen after carbs on watch: toggle this checkbox on if you’d like your watch’s bolus screen to open after you’ve entered carbs.
Minimum MB Amount: This setting allows you to set a minimum bolus size. Setting a minimum MB amount may help Omnipodders with pod battery life issues.
Last Event is a log of last MB actions taken by FreeAPS and is located by clicking on Settings – Microboluses, and then scrolling to the bottom of the screen below OTHER OPTIONS. This log provides details of the time when your last MB was enacted, how much was given and what percentage of the recommended bolus was given. If you click on the the carrot to the right of the LAST EVENT details, you will see how FreeAPS has treated other MB events since you last shut down your iPhone. If an MB was not delivered, it will give an explanation as to why not.
Other FreeAPS Settings
Show required carbs on the app badge: When you enable this feature, a small # will appear on your FreeAPS app badge when you are predicted to need glucose to stay within your target range. The value is calculated based upon your current CR and ISF.
Retrospective Correction interval: This is an experimental feature that allows you to increase or decrease the retrospective correction (RC) interval. The standard Loop retrospective correction interval is 30 minutes and is a comparison of glucose prediction vs actual continued with decay over 60 minutes.
Extending the RC time is equivalent to multiplying the RC effect in the prediction, which could result in a larger or a smaller correction in cases when the model errors are positive or negative, respectively.
Adjusting the RC interval should not impact post-meal BG because RC is effectively suppressed during the times when carbs are absorbed relatively fast. It may help with prolonged highs, for example due to unannounced carbs+protein+fat effects. [This is based upon feedback from Dragan that was posted in Telegram.]
Adaptive Rate Non-Linear Carb Model
Note: this optional setting is found within your iPhone’s settings and not within the FreeAPS app.
Adaptive Rate Non-Linear Carb model uses the EXACT absorption time that you enter, rather than the 1.5x absorption time that is used in the traditional Loop algorithm. That means, if your food impact lasts longer than you enter, Loop won’t know that it is carbs. As a result of using the absorption time you enter, the curve will be more aggressive (higher). If the carb impact rises FASTER than the prediction (in the first 50% of the meal), the model assumes you didn’t enter enough carbs. So, it adds more carbs and gives more insulin.
Remember to restart your FreeAPS app in order to effectuate any changes to this setting.
Most FreeAPS users leave this checkbox grey so that this feature is disabled.
Additional CGM Options
The opportunity to use a CGM, other than Dexcom
In addition to all of the CGM options that can be used with Master, Dev and AB Branches, the following additional CGM’s can be used with the FreeAPS Fork:
- Dexcom Share
- Requires internet connection
- Nightscout CGM
- Requires internet connection
- Allows connectivity of any CGM that can be uploaded to Nightscout and loads the readings from Nightscout into Loop
- Spike and other local apps that support the same API as the Nightscout CGM
- Requires no internet connection
- Allows use of the Libre with the Bubble Transmitter into the Diabox app