/controlX2

Android + Wear OS application for Tandem insulin pumps

Primary LanguageKotlin

ControlX2

Android app for phones and Wear OS watches which controls a Tandem t:slim X2 pump with PumpX2.

Warning
This application is for EXPERIMENTAL USE ONLY and can be used to MODIFY ACTIVE INSULIN DELIVERY ON YOUR INSULIN PUMP.
There is NO WARRANTY IMPLIED OR EXPRESSED DUE TO USE OF THIS SOFTWARE.
YOU ASSUME ALL RISK FOR ANY MALFUNCTIONS, BUGS, OR INSULIN DELIVERY ACTIONS.

It is NOT AFFILIATED WITH OR SUPPORTED by Tandem, Dexcom, or any other manufacturer.
It has not been officially approved for use and is provided as a RESEARCH TOOL ONLY.

Bolus from phone Bolus delivery from phone
Bolus from watch Bolus delivery from watch

Supported features:

  • Viewing pump status information (IOB, cartridge amount, battery, basal rate)
  • Viewing connected CGM information (current reading, arrow trend, sensor and transmitter status)
  • Delivering a bolus (with units, carbs, and BG amounts) from wearable
  • Delivering a bolus (with units, carbs, and BG amounts) from phone
  • Accepting/rejecting insulin corrections
  • Bolus calculator (to compute units based on entered carbs and BG)
  • Bolus cancellation

Work in progress features:

  • Watch face complications
  • App background service stability
  • Mobile UI

Planned features:

  • Watch tile
  • Show CGM history graph
  • Send pump alerts/alarms as notifications
  • Upload data to Nightscout
Demo video from phone:
PumpX2 Alpha for Android - December 2022
Demo video from watch:
PumpX2 Alpha for Wear OS - December 2022

Phone Screenshots

App home screen Bolus window Bolus correction Bolus delivery Bolus notification Bolus cancellation Bolus cancelled

Wear OS Screenshots

App home screen Selecting bolus units Selecting bolus carbs Delivering a bolus Delivering a bolus Delivering a bolus

Setup

Installing APK via GitHub Releases

This is the recommended installation option.

  1. On the right-hand side of the GitHub page for ControlX2, select "Releases"
  2. Under the most recent release, download the mobile-release.apk file for the phone application, and optional wear-release.apk file for the Wear OS application.
  3. Install the APK file on your device(s).

Installing APK via GitHub Actions

  1. Open this link to view the most recent GitHub Actions runs to the main branch.
  2. Select the most recent entry from the list.
  3. Download the mobile-release.apk file for the phone application, and optional wear-release.apk file for the Wear OS application.

image

4. Install the APK file on your device(s).

Building from source

Clone the repo, open in Android Studio, and build the module for:

  • mobile - Android phone application
  • wear - Android Wear OS application

Enable ADB debugging on your phone or watch and then select "Run" using the correct module: Screenshot of Android Studio

Building with local PumpX2

Clone the PumpX2 repository and publish it to the local Maven repository. You can do this with:

$ git clone https://github.com/jwoglom/pumpx2
$ cd pumpx2
$ ./gradlew build
$ ./gradlew publishToMavenLocal 

The PumpX2 library files will be published to $HOME/.m2/repository/com/jwoglom/pumpx2/.

Then, set the use_local_pumpx2 Gradle property true in either your command-line execution with ./gradlew build -Duse_local_pumpx2=true, or edit your local.properties file for it to be reflected in Android Studio.

If the PumpX2 libraries are rebuilt, either bump the version number in both PumpX2 and ControlX2's gradle configurations or run ./gradlew build --refresh-dependencies in ControlX2. Otherwise, if the version number was not bumped, rebuilding ControlX2 may still use a cached version of the old code from that version.