Skip to content
/ Loop Public
forked from LoopKit/Loop

A closed-loop insulin delivery app for iOS

License

Notifications You must be signed in to change notification settings

ps2/Loop

Repository files navigation

Loop for iOS

App Icon WatchApp Icon

Build Status Join the chat at https://gitter.im/loudnate/LoopKit

Loop is an app template for building an artificial pancreas. It is a stone resting on the boulders of work done by @bewest, @ps2 and many others.

Please understand that this project:

  • Is highly experimental
  • Is not approved for therapy

Screenshot of status screen Screenshot of bolus screen Screenshot of battery change notification Screenshot of loop failure notification Screenshot of bolus failure notification

Screenshot of glucose complication on Apple Watch Screenshot of carb entry on Apple Watch Screenshot of bolus entry on Apple Watch Screenshot of bolus failure notification on Apple Watch Screenshot of bolus failure notification on Apple Watch Screenshot of bolus failure notification on Apple Watch

Requirements

Insulin Pump
MM 522/722 MM 523/723
CGM Dexcom G4 + Share 1 2 1
Dexcom G5 2


1. Internet connection required to retrieve glucose
2. Pump must have a remote ID added in the Remote Options menu

RileyLink

Bluetooth LE communication with Minimed pumps is enabled by the RileyLink, a compact BLE-to-916MHz bridge device designed by the incredible @ps2. Please visit the repository and the gitter room for more information.

LoopKit

Loop is built on top of LoopKit. LoopKit is a set of frameworks that provide data storage, retrieval, and calcluation, as well as boilerplate view controllers used in Loop.

Getting Started

Fork and clone this repository so you can commit the changes you'll make below.

Assigning a Bundle Identifier

Assigning a bundle identifier

In the Loop project's Build Settings, change the value of MAIN_APP_BUNDLE_IDENTIFIER to something unique. Usually this means replacing com.loudnate with a reverse-domain name of your choosing.

Configuring RemoteSettings.plist

Loop optionally supports select third-party remote services. While none of them are required to run the app, including mLab keys is strongly recommended at this time so loop diagnostic data can be stored in case retrospective analysis is needed.

If the Nightscout related entries are included, treatments and other pump data will be uploaded to your Nightscout site. Note you will need to set "Nightscout history uploading" to "On" in Settings for treatments to be fetched from your pump and uploaded to Nightscout.

After a fresh clone of the repository, you'll need duplicate the template file and populate the copy with values.

$ cp Loop/RemoteSettings-template.plist Loop/RemoteSettings.plist

RemoteSettings.plist is included in .gitignore so you won't accidentally commit any sensitive keys.

Key Description
mLabAPIKey Your mLab API Key (for tracking errors and diagnostic info)
mLabAPIHost The mLab API host
mLabAPIPath Your mLab database path
AmplitudeAPIKey Your Amplitude analytics API Key (for optional, private behavior tracking)
ShareAccountName Your username for Dexcom share (for backfilling glucose data)
ShareAccountPassword Your password for Dexcom share
NightscoutSiteURL Your Nightscout site URL
NightscoutAPISecret Your Nightscout API Secret (not hashed)

Installing Carthage

Carthage is used to manage framework dependencies. It will need to be installed on your Mac to build and run the app, but most users won't have a need to explicitly rebuild any dependencies.

Making it Your Own

Please visit the Wiki for more info on customizing the app

License and Code of Conduct

Please read the LICENSE and CODE_OF_CONDUCT

About

A closed-loop insulin delivery app for iOS

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 100.0%