Tandem t:mobi (documentation)

NOTE: This is preliminary documentation which will grow as driver is being developed. For now it is intended for testers so that they can setup the driver correctly. Installation instruction for AAPS and controlX2 are in README

Version:   0.5.x (Phase 2)
Last updated:  14.8.2025


Connection setup

A.) Using shared connection with controlX2 (in Phase 1 and 2 this is the only way)

While we can share "connection" with controlX2, this doesn't mean that both apps can run at same time. If you wish to use controlX2, then you need to "Force close" AAPS and then you can start controlX2 (and vice-versa). If you want to use shared connection, you need to get latest controlX2 version (at least version 1.0.0-20250304). Then you need to install it and pair your t:mobi pump with it. After you paired your pump with controlX2, you need to go into Settings -> Debug -> View Pump State. There will be json with all connection data, use option "Save to Clipboard". Force close the app and then start AAPS. In AAPS select t:mobi driver and go to configuration. Enable "Use Shared Connection", click on "Shared Connection Data" copy the value you got from controlX2 and exit configuration. AAPS should now be able to connect to your pump. If for some reason doesn't work, "Force Close" AAPS and restart. Driver should be able to connect to pump now.

B.) Using only AAPS

This will be added in Phase 3, when all needed methods are implemented and UI options are available.

IMPORTANT NOTE: For testing having both applications is requirement, so you have to go with option A. But even in the future having additional application that can help you troubleshoot problem with the pump, is probably something you should consider (controlX2 has a lot of debugging options available that are not present in AAPS (and shouldn't be present there)). So recomendation is that you have both apps installed and always use "Shared connection" in AAPS.

Configuration options

Overview
Serial Number:   After pump is paired and connected sucessfuly, this field will be populated with Serial Number.

Use Shared connection: See previous section (Connection setup) how this works. But in short we can either use shared connection for which we also need to populate Shared connection data, or we can use just AAPS connection, for which we need to click on Tandem Configuration which will lead us through pairing process (Will be available in Phase 2).

Max Bolus on Pump:  This sets what is max amount of bolus allowed. This is not limited to the current hour, its just max amount you can use at any time, value should be beween 1 and 25 (if you need bigger dose, you can just dose twice).

Max Basal on Pump:  This sets max amount of basal insulin person can receive in a hour. Valid values are 1 to 15. You can go with max value here, but if you want to limit this the formula is to look at your highest hourly value and then multiply it 2.5 (250% is max TBR possible).

Display driver version:  Display driver version on t:MOBI tab (in Section 1, 4th line if enabled - see Overview for more info)


Starting / Stopping pump / Cartridge - Cannula Actions (solution with controlX2 - only possible option at the moment)

If you need to change cartridge (empty or almost empty), you need to "Force Close" AAPS and start controlX2. There you go into "Actions" and Stop the pump (if its not already stopped), then you do "Cartridge Change" (follow instructions), after you are done, you need to do "Fill Cannula" action and when its done, you need to restart the pump. When you are finished "Force Stop" controlX2 and restart AAPS.


NOTE: Force close of application that is connected to your pump works about 80-90% of time. If something doesn't work when you start application (BT error), you have two options
  1. Close application (Force close). Disable BT, wait 10s, reenable BT and restart AAPS (this works most of the time)
  2. Restart the phone
NOTE 2: Sometimes stoping pump is not enough. If you see that TBR is still running you need to stop TBR (option is visible only if TBR is running).

NOTE 3: Durring this operations you might get popup window that there was Unknown Mobi 20 error... You can just close that and continue as if nothing happens.

Starting / Stopping Pump / Cartridge - Cannula Actions (Solution with AAPS)

Follow the instructions below for starting/stopping your pump, changing the cartridge, and filling the tubing or cannula.

Starting Pump Cartridge Actions
Settings and Actions
  • Opening the Settings page gives you a list of possible actions. You can access this page from the T:MOBI Overview. All the instructions in this section will start from this page.

  • Starting or Stopping the Pump
  • To resume insulin, select "Start Insulin", then "Resume Insulin" on the dialogue popup
  • To stop insulin, select "Stop Insulin", then "Stop Insulin" on the dialogue popup

  • Changing Cartridge
  • Select "Cartridge/Cannula Setup"
  • Select "Change Cartridge", then "Begin Change Cartridge" on the dialogue popup
  • The cartridge on the pump will unlock, and you can remove the old and insert the new cartridge
  • Once inserted, you can now fill the tubing

  • Fill Tubing
  • Select "Cartridge/Cannula Setup"
  • Select "Fill Tubing". Disconnect the pump site from your body/site before filling
  • When ready to fill, select "Begin Fill Tubing" on the dialog popup
  • On your pump, hold down the pump button until insulin comes of the tubing
  • When done, a new popup will prompt you to continue. Select "Complete Fill" when done
  • The pump will finish up and you can now select "Done"

  • Fill Cannula
  • Select "Cartridge/Cannula Setup"
  • Select "Fill Cannula"
  • Enter the amount of units and press "Fill Cannula"

  • Site Reminder
  • Coming soon...



  • Overview in T:MOBI tab

    Overview
    Once you have Mobi configured, tab T:MOBI becomes available, displaying all important information. Information is divided in 6 different sections.

    Section 1: Information about your pump: Firmware, Serial Number and BT address. If you have configured display of driver version, then version of driver will also be displayed (while doing testing please have this turned on at all times, so that when you report something you can tell me in which version of driver it happened, this will help find problems faster and also see if the problem was fixed in meantime).

    Section 2: : Displays State of pump connection, this shows Connected if pump is connected, or if command is running it will show name of command running and also the Queue of commands (queue hides when empty).

    Section 3: Battery status, reservoir level and when last command was processed.

    Section 4: Displays last bolus (Not available in phase 1), base basal rate and if temp basal is currently running (and with what values).

    Section 5: Displays driver errors (mostly this would be filled if there is problem with configuration or if for some reason we lost connection with the pump. At the moment driver is unable to reconnect automatically with pump. If you loose connection with pump please restart AAPS (with Force Stop)). If there are no error, this section is not visible (will be extended in Phase 2 to hide this).

    Section 6: Last sections shows Pump Events (when something major happens on pump, pump sends so called Qualyfing Events, here the list of events will be shown (on next event old list will be cleaned). This functionality will be extended in Phase 3, to show only indicator that events were received, and events will be visible in another view. Now also displays Alerts and Alarms.

    Section 7: Indicator for Pump Data Status. This shows 3 labels NOTIFICATION, EVENTS and HISTORY. TODO Buttons (and next sections)


    Data button

    When clicking button Data, we get dialog opened where there are 3 options: - Notifications - Events - History

    Notifications

    
    TODO: - New configuration options
          - UI - Data: - Events, History, Notitfication
          - UI - PumpInfo, Canula options ...
          - Notifications why are they important and how they work...
          - Bolus
          - History ???
          - QE how they work
          - Indicator
    
    
    History: Pump history is retrieved every 5 minutes, together with Pump Status check. History is always read form latest to oldest. We retrieve maximal 5 chunks of history data, each containing 200 records. Once we reach 1.5 months, we don't retrive any more historical data, but only the new entries that are added. So in the begining history will read lot of items, but afterwards, only new items will be read. Historical data is also cleaned from database, so we always have just last 1.5 months, so database won't grow needlesly...

    Currently implemented functionalities