Which DIY Algorithm to Choose

There are several do-it-yourself (DIY) closed loop algorithms. The best known are Loop and OpenAPS, with several implementations for each. Both algorithms require careful attention to settings and there is a learning curve for each. Some prefer Loop (iPhone only); some prefer OpenAPS (rig, Android or iPhone); most believe that any closed loop algorithm is better than manual control, which is why #WeAreNotWaiting.

Most of the information on this website concentrates on using Loop

Loop:

The Loop algorithm is implemented only on Apple devices (iPhone/iPod).

  • The released version is commonly referred to as Loop-main or Loop 3.#.#, and supports both Omnipod DASH and Eros, as well as some older Medtronic Pumps.  A radio-link device is required for all pumps except for the Omnipod DASH.
  • There are a variety of branches and forks for Loop available, which are compared in Which Loop Version to Choose?, below on this page.

OpenAPS:

Follow this link to find out more about the OpenAPS Reference Design.

  • Implemented with older Medtronic pumps 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 with a variety of pump and CGM choices: AndroidAPS.
    • Uses a RileyLink compatible device for older Medtronic and Omnipod Eros pumps
    • Direct (Bluetooth) communication for a few other pumps, including Omnipod DASH
    • 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 is available when all objectives are completed
  • Implemented on iPhone, iAPS (used to be called FreeAPS X)
    • iAPS supports DASH as well as the Omnipod Eros system and the older Medtronic pump and provides access to some dynamic features
    • After a flurry of updates, the developers have created a new name, new repository and will soon have new documentation.
    • The main discussion forum is found on this Discord channel.
    • A build script (similar to the one used for Loop) is provided for those using Mac build

Click on the line below to copy it. You’ll see Copied to Clipboard briefly.

    Which Loop Version to Choose?

    If you have decided to use the Loop system, you need to decide which version should you start with.

    • Loop: supported by the developers

    These next two are older options that will not be supported in the future. This sub-section will be removed soon after the release of 3.4.0.

    • Loop with LnL Patches: last version is same code as Loop 3.2.2 but with some patches (extra features) added
      • These patches (plus more) can be added to released Loop with the Customizationation Select Script
      • This fork will not work for Mac-Xcode Build Method with Xcode 15 (required for iOS 17)
    • FreeAPS: older code, limited support
      • This code is based off Loop 2.2.x
      • Browser Build method is not available
      • This fork will not work for Mac-Xcode Build Method with Xcode 15 (required for iOS 17)

      Loop

      This version is supported by the developers with documentation and build instructions found at LoopDocs.

      A major update to Loop, known as Loop 3, was released in January 2023, with minor updates since then.

      You may see some people refer to this as Loop-main; main is the name of the branch where the current released version is found. The release status is found at Loop Releases, but be sure to follow the directions for building Loop from LoopWorkspace.

      Here are a few reasons for using Loop 3.

      • You can build Loop 3 using either a Browser Build (no Mac required) or a Mac-Xcode Build.
      • Onboarding protocol with guardrails ensures all settings are entered
      • Streamlined main screen display and settings screens provide improved user experience
      • Better alerts and notifications assist the user
      • Added Features are available:
        • Fingerstick blood glucose prompts when data is stale
        • Non-pump insulin entry within the app
        • Manual Temp Basal feature that automatically restores to closed loop at end of selected duration
        • Remote Carb/Bolus capability

      New Loopers should start in Open Loop (with the Closed Loop switch in the disabled position). When transitioning to Closed Loop, begin with the Dosing Strategy at the default value of Temp Basal.  Once you’ve refined your settings, if you want to try the automatic bolus dosing strategy, there are switches in the app settings to enable the more advanced features.

      A Warning about Multiple Apps

      There are a lot of DIY apps out there that use a shared appGroup and store their data in Apple Health.  This enables code to share information – but this also enables code to share information.

      What does that mean?  If you have one DIY app reading and storing CGM information, that CGM information might be shared with another DIY app.

      This can be a good thing, but it might have unintended consequences.  Once you decide which DIY app to try, limit the installed versions on your phone to that selection.

      And if you decide to have more than one app on your phone that can control a pump – be absolutely certain that only one is actually controlling your pump.

      What are app names that might share app groups and write to Apple Health?

      • Loop
      • FreeAPS (fork of Loop)
      • iAPS (OpenAPS implementation for iOS)
      • xDrip4iOS
      • libre-direct (aka Glucose-direct)
        Skip to content