Testing for AAPS Tandem t:mobi Integration
You can see status in project view: on https://github.com/users/andyrozman/projects/1/views/1
We started on Phase 1 on 17th February and it was completed on 4th April 2025.
As of December 2025, we are in Phase 2/Phase 3.
Caution
IMPORTANT SAFETY NOTE: At the moment, the current integration is NOT safe for non-testing use. TESTING ON LIVING PERSONS OR ANIMALS IS STRICTLY FORBIDDEN.
You can test with your pump, with it not being connected to anything. Until we have reached the end of Phase 3, important security measures will not yet be fully implemented (comparing treatment data with pump history records, reporting to AAPS/Loop that treatment has stopped and at what time, etc).
Full documentation is maintained on this page: https://andyrozman.github.io/AAPS_Tandem_Testing/
-
- Download the latest ControlX2 release on the GitHub Releases page
- Install the app and go through the setup wizard to pair it with your pump. (to pair your pump you need to put it on the charging pad, wait, then remove it and press the button on the pump quickly 2 times).
-
Download the
andy_tandembranch from Andy's AndroidAPS repository and build it in Android Studio.
git clone https://github.com/andyrozman/AndroidAPS.git
cd AndroidAPS
git checkout andy_tandem
- Go into Maintainance option (click on button in left upper corner, this should give you some options) and select Log Settings and then inside select first 3 pump options: Pump, PumpBtComm and PumpComm (you can deselect most of other ones, especially if you see a lot of logs from them).
- To get advanced options working, you will need to go through objectives... If you have an existing running instance of AAPS somewhere, export settings from there and import them here, but be careful to update (or remove Nightscout URL), or else test data will go to NS from AAPS instance you exported.
- If you run into any errors, please post it in the discord chat first, so that we don't get duplicates or reports of functionalities not yet developed
You can test either from tag (when provided) or from the branch directly.
If you feel adventerous you can try to test from the andy_tandem branch directly.
However, keep in mind that are changed a lot, so the latest code on the branch may not be fully implemented and/or tested, which could break your AAPS install.
If you find any problems here you can mention it in chat, but don't open issue for it.
After enough implementation work has been done, tags will be created which can be then be tested. When a tag is created, we will denote specific functionalities which are supposed to be ready.
When testing a released tag, if you find any problems report it first in chat (discord), and if we decide that it is an error, then open an issue here.
Once you are in previously checked out repository (see prerequisite 2)
# Create branch from a tag
git checkout tags/<tag_name> -b <branch_name>
# So our command would be something like this
git checkout tags/tandem_0.4.26 -b tag_tandem_0.4.26
You can use any name for branch, just the tag name must be same as the one specified (see Release notes for tags with list of all available tags)
You just need to install AAPS and start testing.
If you see that something is crashing, you can connect your phone to computer and go into Android Studio and look at Logcat window, there you would see all the active logs (there will be a lot of them, you can filter it with using "package:mine level:info" (if you need more info you can leave level out of search string).
Some specific log strings which may be helpful to use when filtering:
X2- all logs emitted by the PumpX2 library (which powers all of the bluetooth connections with the Mobi pump) will have "X2" in the log lineSENT-MESSAGE/PARSED-MESSAGE- request messages sent to the pump and response messages received from the pump
I decided to divide development process into 5 phases. After each of phases we have product that can be used (not fully, but its still usable).
Phase 1: Driver framework needs to be established, pairing solved and communication running, as well as some basic commands implemented, such as: getting certain configurations, reading certain statuses (battery, remaining insulin), setting pump in non-ControlIQ mode, geting profile, setting profile, getting and setting TBR, and some other settings. In this version there is requirement to use controlX2 application for setting up the pump (see documentation for more details). Phase 1 will have only oref0 support (TBRs only)
Phase 2: In this phase we will take a look at pairing UI, but the biggest work will probably be work on Cartridge Change/Filling Cannula and stuff needed before we can get pump fully running from AAPS (working with Compose UI, since AAPS will be fully refactored to use it in near future). We are the first driver to use Compose and I will have to get trained on it, which will make this phase much longer than it was planned in beginning. Methods for Bolus will also be done here (and support for oref1), also taking first look at history, Qualifying Events (Pump events).
Phase 3: Advanced stuff: reading and parsing history (1) and putting it into the AAPS database, Alerts and Alarms investigation and handling (and db), Qualifying Events better display and db, Quick bolus configuration, Pump Info UI
Phase 4: More Advanced stuff: integrate security from reading the history. Getting product stable...
Phase 5: Release phase. When we reach this phase we will start preparing for release (merge into /dev) and preparing relevant documentation...
If you want to see detailed view of what functionalities are being done, you can go to Project View, and there you can visually see what is being worked on and what is comming down the lane.
tandem_0.4.26.1 - release for Phase 1 (completed)
0.1.x - 0.3.x - Framework for new driver - refactor what was being prepared for t:slim and split into 2 implementations 0.4.x - This is current version on the branch (Phase 1 implementation)