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
Insulin Pump | ||||
---|---|---|---|---|
MM 522/722 | MM 523/723 | MM 554/754 | ||
CGM | Dexcom G4 | ✅1 2 | ✅1 3 | ✅1 3 |
Dexcom G5 | ✅2 | ✅3 | ✅3 | |
MM CGM | ❌4 | ✅3 | ✅3 |
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.
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.
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.
Fork and clone this repository so you can commit the changes you'll make below.
Sign up for the Loop Users announcement list to stay informed of critical issues that may arise.
Open Loop.xcodeproj
in Xcode. In the Project Navigator on the left-hand side, open Loop.xcconfig
. Change the value of MAIN_APP_BUNDLE_IDENTIFIER
to a unique reverse-domain name of your choosing.
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.
Loop optionally supports select third-party remote services, which are configured in the Settings screen.
Service | Description |
---|---|
Dexcom Share | Downloads glucose data if a local G5 Transmitter or G4 Receiver with Share is not available. |
Nightscout | Uploads 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. |
mLab | Uploads 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. |
Amplitude | Tracks private, single-user behavioral and system analytics (no health data is sent) |
Please visit the Wiki for more info on customizing the app
Please read the LICENSE and CODE_OF_CONDUCT