Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Documentation/Screenshots/Phone Add CGM.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation/Screenshots/Phone Bolus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Documentation/Screenshots/Phone Graphs.png
Binary file not shown.
Binary file added Documentation/Screenshots/Phone Home.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added Documentation/Screenshots/Phone Presets.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Screenshots/Phone Statistics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation/Screenshots/Watch Bolus.png
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation/Screenshots/Watch Carb Entry.png
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Screenshots/Watch Chart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Documentation/Screenshots/Watch Complication.png
Binary file not shown.
Binary file added Documentation/Screenshots/Watch Home.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Documentation/Screenshots/Watch Menu.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added Documentation/Screenshots/Watch Presets.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 38 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,58 @@

![App Icon](/AppIcon.icon/Assets/loop_circle.svg?raw=true)

[![Build Status](https://travis-ci.org/LoopKit/Loop.svg?branch=master)](https://travis-ci.org/LoopKit/Loop)
[![Join the chat at https://loop.zulipchat.com](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://loop.zulipchat.com)

Loop is an app template for building an automated insulin delivery system. It is a stone resting on the boulders of work done by many others.
Loop is an open-source automated insulin delivery app for iPhone and Apple Watch. It reads glucose from a continuous glucose monitor (CGM), forecasts glucose from insulin, carbs and recent trends, and adjusts delivery on a compatible insulin pump. It is a stone resting on the boulders of work done by many others.

Loop is built on top of [LoopKit](https://github.com/LoopKit/LoopKit). LoopKit is a set of frameworks that provide data storage, retrieval, and calculation, as well as boilerplate view controllers used in Loop.
Loop is built on [LoopKit](https://github.com/LoopKit/LoopKit), a set of frameworks for data storage, retrieval and calculation, and on [LoopAlgorithm](https://github.com/LoopKit/LoopAlgorithm). Pump and CGM support comes from separate plugins, and the app is built from [LoopWorkspace](https://github.com/LoopKit/LoopWorkspace).

Please understand that this project:
- Is highly experimental
- Is not approved for therapy

<a href="/Documentation/Screenshots/Phone%20Graphs.png"><img src="/Documentation/Screenshots/Phone%20Graphs.png?raw=true" alt="Screenshot of status screen" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Bolus.png"><img src="/Documentation/Screenshots/Phone%20Bolus.png?raw=true" alt="Screenshot of bolus screen" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Notification%20Battery.png"><img src="/Documentation/Screenshots/Phone%20Notification%20Battery.png?raw=true" alt="Screenshot of battery change notification" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Notification%20Loop%20Failure.png"><img src="/Documentation/Screenshots/Phone%20Notification%20Loop%20Failure.png?raw=true" alt="Screenshot of loop failure notification" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Notification%20Bolus%20Failure.png"><img src="/Documentation/Screenshots/Phone%20Notification%20Bolus%20Failure.png?raw=true" alt="Screenshot of bolus failure notification" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Home.png"><img src="/Documentation/Screenshots/Phone%20Home.png?raw=true" alt="Status screen with glucose, active insulin and active carbs charts" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Bolus.png"><img src="/Documentation/Screenshots/Phone%20Bolus.png?raw=true" alt="Meal bolus screen with a recommended bolus" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Presets.png"><img src="/Documentation/Screenshots/Phone%20Presets.png?raw=true" alt="Presets screen" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Live%20Activity.jpg"><img src="/Documentation/Screenshots/Phone%20Live%20Activity.jpg?raw=true" alt="Live Activity on the Lock Screen" width="170"></a>

<a href="/Documentation/Screenshots/Watch%20Complication.png"><img src="/Documentation/Screenshots/Watch%20Complication.png?raw=true" alt="Screenshot of glucose complication on Apple Watch" width="141"></a>
<a href="/Documentation/Screenshots/Watch%20Carb%20Entry.png"><img src="/Documentation/Screenshots/Watch%20Carb%20Entry.png?raw=true" alt="Screenshot of carb entry on Apple Watch" width="141"></a>
<a href="/Documentation/Screenshots/Watch%20Bolus.png"><img src="/Documentation/Screenshots/Watch%20Bolus.png?raw=true" alt="Screenshot of bolus entry on Apple Watch" width="141"></a>
<a href="/Documentation/Screenshots/Watch%20Menu.png"><img src="/Documentation/Screenshots/Watch%20Menu.png?raw=true" alt="Screenshot of the app menu on Apple Watch" width="141"></a>
<a href="/Documentation/Screenshots/Watch%20Notification%20Reservoir.png"><img src="/Documentation/Screenshots/Watch%20Notification%20Reservoir.png?raw=true" alt="Screenshot of bolus failure notification on Apple Watch" width="141"></a>
<a href="/Documentation/Screenshots/Watch%20Notification%20Bolus%20Failure.png"><img src="/Documentation/Screenshots/Watch%20Notification%20Bolus%20Failure.png?raw=true" alt="Screenshot of bolus failure notification on Apple Watch" width="141"></a>
<a href="/Documentation/Screenshots/Phone%20Statistics.png"><img src="/Documentation/Screenshots/Phone%20Statistics.png?raw=true" alt="Statistics with glucose metrics and time in range" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Daily%20Insulin.png"><img src="/Documentation/Screenshots/Phone%20Daily%20Insulin.png?raw=true" alt="Daily insulin totals on the Statistics screen" width="170"></a>
<a href="/Documentation/Screenshots/Phone%20Add%20CGM.png"><img src="/Documentation/Screenshots/Phone%20Add%20CGM.png?raw=true" alt="Choosing a CGM" width="170"></a>

<a href="/Documentation/Screenshots/Watch%20Home.png"><img src="/Documentation/Screenshots/Watch%20Home.png?raw=true" alt="Apple Watch app" width="141"></a>
<a href="/Documentation/Screenshots/Watch%20Chart.png"><img src="/Documentation/Screenshots/Watch%20Chart.png?raw=true" alt="Glucose chart and forecast on Apple Watch" width="141"></a>
<a href="/Documentation/Screenshots/Watch%20Carb%20Entry.png"><img src="/Documentation/Screenshots/Watch%20Carb%20Entry.png?raw=true" alt="Carb entry on Apple Watch" width="141"></a>
<a href="/Documentation/Screenshots/Watch%20Bolus.png"><img src="/Documentation/Screenshots/Watch%20Bolus.png?raw=true" alt="Bolus on Apple Watch" width="141"></a>
<a href="/Documentation/Screenshots/Watch%20Presets.png"><img src="/Documentation/Screenshots/Watch%20Presets.png?raw=true" alt="Presets on Apple Watch" width="141"></a>

<sub>Screenshots are from the iOS Simulator with simulated CGM and pump data.</sub>

# Features

- **Automated insulin delivery.** Loop forecasts glucose several hours ahead and adjusts delivery with each new glucose reading, using either temporary basal rates or automatic boluses.
- **Meal and correction boluses** with a recommended amount and a forecast of where glucose is heading. Carb entries can include food type, absorption time and saved favorite foods.
- **Presets** that temporarily adjust insulin needs and correction range: pre-meal, your own custom presets, and built-in activity presets for walking, jogging, biking and strength training (which can be hidden). Presets can be scheduled, and in-app training explains how to use them.
- **Statistics**: GMI, average glucose, variability and time in range, an ambulatory glucose profile, and daily insulin totals split into basal, automatic bolus and manual bolus.
- **Live Activity** on the Lock Screen, in the Dynamic Island and on CarPlay.
- **Apple Watch app** with glucose and forecast, carb entry, bolus and presets.
- **Alerts** for glucose and device conditions, with urgent alerts that sound even when the phone is silenced or in a Focus.
- **Data sharing** with Apple Health, and upload to Nightscout and Tidepool through optional services.

# Supported devices

- **Pumps:** Omnipod 5, Omnipod DASH and Omnipod Classic (Eros, with RileyLink); older Medtronic pumps (with RileyLink); Medtrum Nano (200U and 300U).
- **CGMs:** Dexcom G5, G6, ONE, G7 and ONE+; FreeStyle Libre 1, 2 and 2+ (through MiaoMiao or Bubble transmitters, or EU Libre 2 directly); FreeStyle Libre 3 and 3+; Eversense E3 and 365; and readings from Dexcom Share or Nightscout.

See [Loop Docs](https://loopkit.github.io/loopdocs/) for the exact models and requirements.

# Documentation

Please visit the [Loop Docs](https://loopkit.github.io/loopdocs/) for installation, algorithm, and other details.
Please visit the [Loop Docs](https://loopkit.github.io/loopdocs/) for installation, algorithm, and other details. Loop is built from [LoopWorkspace](https://github.com/LoopKit/LoopWorkspace), in a web browser with GitHub Actions or on a Mac with Xcode.

For FAQs, how to contribute to open source aspects of Loop and other tips, refer to the [Wiki](https://github.com/LoopKit/Loop/wiki)
For FAQs, how to contribute to open source aspects of Loop and other tips, refer to the [Wiki](https://github.com/LoopKit/Loop/wiki).

(Note: there is also a tab for the Wiki at the top of this page)
Questions and discussion are welcome on [Loop Zulip](https://loop.zulipchat.com).

# License and Code of Conduct

Expand Down