Skip to content

Repository files navigation

Loop for iOS

App IconWatchApp Icon

Build StatusJoin 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 screenScreenshot of bolus screenScreenshot of battery change notificationScreenshot of loop failure notificationScreenshot of bolus failure notification

Screenshot of glucose complication on Apple WatchScreenshot of carb entry on Apple WatchScreenshot of bolus entry on Apple WatchScreenshot of the app menu on Apple WatchScreenshot of bolus failure notification on Apple WatchScreenshot of bolus failure notification on Apple Watch

Requirements

Insulin Pump
MM 522/722MM 523/723MM 554/754
CGMDexcom G4121313
Dexcom G5233
MM CGM433


1. Offline access to glucose requires a Receiver with Share and the Share2 app to be running on the same device. Internet-dependent access via Share servers is also supported.
2. Pump must have a remote ID added in the Remote Options menu.
3. Early firmware (US <= 2.4A, AU/EUR <= 2.6A) is required for using Closed Loop and Bolus features.
4. It's not impossible, but comms-heavy and there's some work to be done. File an issue if you're someone who's up for the challenge and can test this hardware configuration.

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.

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.

Configuring Services

Loop optionally supports select third-party remote services, which are configured in the Settings screen.

ServiceDescription
Dexcom ShareDownloads glucose data if a local G5 Transmitter or G4 Receiver with Share is not available.
NightscoutUploads treatments and other pump data. Note that you will need to set "Nightscout history uploading" to "On" in Settings for treatments to be fetched from your pump and uploaded to Nightscout.
mLabUploads diagnostic data about each loop run, as well as app errors. At this time, it is strongly recommended that you configure this service in case retrospective analysis is needed.
AmplitudeTracks private, single-user behavioral and system analytics (no health data is sent)

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, built on LoopKit

Resources

Code of conduct

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages