G6 transmitter battery replacement

The last big question on the G6 is “Can you replace the G6’s transmitter battery?”

Happy to report that you can, indeed!

I don’t have any fancy videos of it yet, because I was just focused on making sure I could do it vs. document it well on video.  I have replaced loads of G5 transmitter batteries using the guidance on this great video.  The same basics applied to the G6 transmitter work too…grinding down the grey plastic/epoxy, peel up the top tab carefully, and then pop the battery out.

However, I didn’t find the G6 quite as easy to replace the battery as with the G5.  It’s definitely doable, and I’d get better with practice.

Here’s the note-worthy differences and things I learned:

The G6 only has one battery, not two.  And the battery is accessed from the underside of the transmitter, as opposed to the top like the G4/G5 transmitters

The battery that the G6 uses is also quite a bit bigger than the G5.  If you want to order replacement batteries for the G6, here’s a link for a set on Amazon.  They are Maxell CR1632 3V lithium batteries.

The other major difference is that the battery (1) goes closer to the edge of the transmitter and (2) there are little wings to help the transmitter lock down inside the sensor.  Both of those combined to make it just a little bit more difficult to do the grinding down to expose the battery.

Here’s a picture mid-grind:

While you are grinding, you have to make sure not to go too low on the corners above the little locking wing indents.

You also have to be aware that the top tab on the battery has a different dimension than the G4/G5 transmitters.  The tab is much skinnier and has a few weak points built in…presumably to make the tab much harder to successfully bend up without breaking it.  There are three weak points that I could see.

Therefore, I was trying to be especially careful on that edge-located weak point as I ground down.  I did at first manage to get the 2/3 tab up just fine at first.  But, in removing the battery next, I ended up losing the long end of the tab (it broke at the middle weak point pretty easily).  The next time I do this, I will work harder to remove more epoxy around the edge weak point more carefully…will probably let me remove battery easier (see dicussion below) and maybe keep more of the tab.  It’s going to be a balance though, too much grinding and you’ll take the whole tab off at the edge weak point.  Based on the teardown pic though, probably salvagable if you did.

Battery removal was the hardest part.  I think it’s really important to get as much of a clean edge around the battery as possible.  Since the battery was much bigger than the G5 batteries, I found it was actually a lot harder to get leverage going to pop out the transmitter.  There was a lot more resistance to popping out than on the G5.  Possibly because I was too conservative on getting clean edge at first (definitely a contributor, I think)?  Or maybe because I wasn’t using a longer lever to start?  I don’t know…but eventually I did have to get out some vice grips and that made all the difference.  Since I was able to hold the transmitter more forcefully, I could apply a better pressure.  Worked SO well though, that it just popped super hard and fast.  Oops.  Did that little tab that normally sits under a battery go flying across my laundry room?  Could have.  I won’t know for sure until other people get a chance to open up their transmitters over the next few months.  😉

This is what it looked like when the battery was finally totally removed; a slightly shorter top tab (but still strong and in good shape) and a questionable bottom.

I assumed that there must have been a contact tab underneath that went flying.  So, I ground out a little on the bottom to expose the contacts and put a little bit of solder down.  Once I got that done, new battery was laid in and tab bent down to make contact on top again.  I did use a touch of super glue to hold the top tab down, just to be sure.

And voila…it works.  A G6 with a replaced battery.  I sealed it back up with two-part epoxy and the transmitter is working well again.

Don’t forget to use the reset transmitter app to be able to use the official Dexcom apps after a battery replacement.

 

Restarting G6 sensors and transmitter

“10-day hard stop on G6 sensors.” – love, Dexcom

Did that one thing alone stop you from considering the G6?  Well, good news…you can actually restart the sensors (and the transmitter).

There are several ways to restart a G6 sensor, listed below from easiest to hardest. (Technically, Options 1 and 2 are so much easier than other options…that it’s almost not worth doing the others)

  1. Use the G6 receiver to restart
  2. Use the phone to restart (without receiver)
  3. Use the resetTransmitter app
  4. Remove the transmitter from the sensor

UPDATE:  It used to be that I thought that you could not restart a sensor if it had expired, without using Option 3 or 4…turns out this is not true!  If you accidentally did not remember to start and finish Options 1 or 2 before your sensor session expired, don’t fret.  I have used Option 1 to restart an ended sensor (basically just start on Step 4 of Option 1, but you don’t need to wait for a new BG to come in…because the session has expired).  I haven’t personally tested how Option 2 would work in that situation, but it should work just the same.

However, do not end up in limbo…don’t start a restart process an hour before a session ends.  Either start/finish Option 1 or 2 far enough in advance that you can complete the restart entirely…or wait until the session has ended and then begin a restart.  The in-between process doesn’t work well, so pick a version and follow-through.

Option 1: Use G6 receiver

This is the easiest and preferred method because you don’t have to lose BG data during the restart process.  You can just keep looping (if you are a looper) and watching BG data on your phone, Nightscout, and Follow apps the whole time.

To use this process, you do NOT have to be using a receiver on a regular basis.  We only pull the receiver out in order to do the restarts.  Normally, it sits in the closet, turned off, between session restarts.  I think of the receiver as a magic restart wand that we pull out of the closet every so often.

We start and finish this whole process before the session is due to expire…so about 3 hours before the end of session, or sooner, we start the receiver going on the steps below.

  1. In your Alerts settings for the receiver, it’s a good idea to turn off the “signal loss” alert during this process.  Your receiver is going to have signal loss for two hours and it would be annoying to hear that alert for the whole time.  Just a good idea before you get started.
  2. If you don’t normally use the receiver, go ahead and turn it on.  Get the receiver connected with the transmitter.  Shortly after (about 5 minutes) the receiver connects, the receiver will start reading BGs from the existing session already going on the phone.
  3. Watch the receiver get a fresh BG value.  Usually this happens just seconds after the phone app gets a new BG.  During this process, the transmitter and receiver briefly talk and then disconnect from each other for the next 5 minutes.  We are going to use that disconnected state to our advantage to restart the sensor.
  4. Wait about 15 seconds or so after the new BG value came in and then press the “Stop Sensor” option ON THE RECEIVER (not on the phone).  You’ll be told “Are you sure you want to stop your sensor?  It cannot be restarted, a new sensor is required.”  Answer Yes.  You’ll see a little progress bar go by for stopping sensor.
  5. On the screen that appears after the progress bar, press New Sensor.  You’ll be promoted to choose between “No Code” or “Enter Code”.  You can choose either.  If you choose to “Enter Code”, go find your code from when you originally inserted the sensor (the one printed on the adhesive cover of the sensor).  Contrary to early rumors, not all the sensors in a box have the same code. That code is the calibration code for the particular sensor wire that sensor is using.  If you don’t have that code saved, go ahead and choose “No Code” (don’t just randomly use the code from a different sensor in your supplies).
  6. After you finish with the Code entry decisions, you’ll need to press the “Start Sensor” button that will appear on the receiver.  You’ll see a “starting sensor” progress bar for a few seconds and then the 2-hour sensor warmup countdown circle will be displayed on the receiver.
  7. From this point forward for at least two hours…you need the receiver to NOT COME INTO COMMUNICATION WITH THE TRANSMITTER.  There are several ways to do this, some ideas:
    • Put the receiver in the microwave.  The microwave blocks the communications between the receiver and the transmitter very effectively, just make sure you don’t turn on the microwave during the 2+ hours you’re waiting, or
    • Put the receiver in a faraday bag (costs less than $10 and it can act just like the microwave, but a lot more portable and easy to manage), or
    • Put the receiver “far enough away” that it stays out of range of the transmitter.  Neighbor’s house, the corner of your backyard, etc.  Just so long as it is far enough away that the transmitter and receiver won’t accidentally talk to each other during the 2+ hours of waiting.  This is the second most common failure point for people trying to restart…they do not adequately keep the receiver from communicating with the transmitter during this 2 hour wait.  I highly recommend using a microwave or a faraday bag for this option to prevent accidental communication.
  8. During this 2+ hours of waiting, the receiver will have “signal loss” and “no data” message.  That’s a good thing.  Don’t worry about that. You want that.
    • Also during this 2+ hours of waiting, you’ll have BGs on the phone app uninterrupted.  Your Nightscout site, dexcom follow app, dexcom G6 app, and Loop app (if you use it) will all continue to work as usual.
  9. After waiting 2+ hours at least (I usually go at least 2 hours and 10 minutes just in case), bring the receiver back into communications with the transmitter.  Within 5 minutes, the “no data” message will be replaced with a warmup message when the receiver will connect with the transmitter again.  The warmup circle looks like a 3/4 completed warmup circle, but don’t worry, it only has 5 minutes until you’re session is ready to start again.
  10. 5 minutes after the warmup circle appears, the receiver and phone will start showing BGs again for the newly restarted session (or the “enter 2 calibrations” request if you chose a “no code” session or used a reset transmitter).
  11. If required, enter the calibrations in both the phone and receiver at the same time.  If your session did not require immediate calibrations to start the session, it is still not a bad idea to check and make sure you’ve restarted BGs at a reasonable value.
  12. Congrats, you’ve just restarted your G6 sensor session.  Your newly started session will expire 10 days from the time that you did Step 5, so plan ahead if you are going to do any subsequent restarts.

Here’s the video for the G6 Option 1

Option 2: No-receiver restart

For non-US residents, sometimes you can purchase the G6 system without the receiver.  So while you can still restart the sensor session without it, the disadvantage (vs. using Option 1) is that you will not see BGs for two hours during the restart process.

This process can be a little more prone to errors if using an android phone…some android phones reconnect with BT devices pretty aggressively I’ve heard.

Remember to start this process far enough in advance that you will finish it before the “Sensor Expires” time.

SIDE NOTE:  I have heard from several t-slim users that this method does indeed work to restart the G6 for those users.

  1. In phone’s bluetooth list (in iPhone Settings), “forget” the Dexcom transmitter ID.  In fact, “forget” all your old Dexcom transmitters if you don’t regularly delete them.  Old ones don’t need to be saved.  By forgetting the Dexcom transmitter, we are preventing the transmitter and app communications during the restart process…and that’s a good thing.  We don’t want them paired during the 2 hours.
  2. Go to G6 app on the phone and “stop sensor” from the Settings menu. You’ll be told “Are you sure you want to stop your sensor?  It cannot be restarted, a new sensor is required.”  Answer Yes.
  3. On the screen that appears after, press “New Sensor”.  You’ll be promoted to choose between “No Code” or “Enter Code”.  You can choose either.  If you choose to “Enter Code”, go find your code from when you originally inserted the sensor (the one printed on the adhesive cover of the sensor).  That code is the calibration code for the particular sensor wire that sensor is using.  If you don’t have that code saved, go ahead and choose “No Code” (don’t just randomly use the code from a different sensor in your supplies).
  4. After you finish with the Code entry decisions, you’ll need to press the “Start Sensor” button that will waiting on the app’s main screen.  You’ll see a “starting sensor” progress bar for a few seconds and then the 2-hour sensor warmup countdown circle will be displayed on the phone.
  5. Wait at least 2 hours, but not so long that the old sensor session will expire during your wait.  If the old session expires before you finish the remaining steps…you’ll have to move onto Option 3 or 4 (or replace the sensor).
  6. Your G6 app will also display “signal loss” during this time.  That’s good, too.  You want the transmitter to stay unpaired and “lost” during the warmup wait.
  7. After the 2 hour wait, restart the phone (hold down the power button and slide to turn off the phone).  Open G6 app. This will trigger the phone to try to re-pair with transmitter.  Accept the pairing request now that you’ve waited at least 2 hours.  If you don’t get a pairing request within 5 minutes of the restart, you may need to restart the phone one more time.
  8. About 5 minutes after accepting the pairing request, you’ll be greeted with BGs again for the newly restarted session (or the “enter 2 calibrations” request if you chose a “no code” session or use a reset transmitter).  If prompted, enter the calibrations and you’re good to go.

Option 3: Reset Transmitter

This option resets the day-counter that the transmitter holds internally.  You know how the dexcom transmitter stops working at 112 days?  Well, this process resets that counter to zero and in the process will allow you to start a new session.  HOWEVER, it is a process to unpair-pair-unpair-pair the transmitter several times so, I’d recommend still using Option 1 or 2 above for regular sensor restarts.  Come back to these directions when you simply need to extend that 112 days.  Since it does work to allow a sensor restart…I’ll leave it here for the purposes of complete discussion of alternatives.

  1. Build the ResetTransmitter app as described in my blog post here.
  2. Make sure your G6 session has ended.  You cannot be in an active session for a transmitter reset.
  3. Go to your iPhone’s Bluetooth area (in Settings) and “forget” the Dexcom transmitter.
  4. Delete the Dexcom G6 app.
  5. Shutdown and restart your iPhone.
  6. Open the ResetTransmitter app and enter your dexcom transmitter ID and press the Reset button.  Within 5 minutes you should get a pairing request to accept.  The reset success message will appear within a very short time after the pairing is accepted.
  7. IF you don’t get a pairing request within 5 minutes in Step 6, restart the phone again.  Double check all the dexcom transmitters have been deleted from the bluetooth list on the phone.  Open the ResetTransmitter app again and see if you get a pairing request within 5 minutes.  (The toughest part of this process is getting the transmitter to successfully unpair and re-pair between apps.  Sometimes it takes a few restarts and patience…but it does work eventually.)
  8. After the transmitter has been reset, you can reverse the process.  Forget the Dexcom transmitter again from Bluetooth list, restart the phone.  Reinstall the G6 app and go through the setup screens as if you were starting a new sensor.  It won’t matter if you use a code or no-code session, as you will definitely be prompted for calibrations for any session after resetting the transmitter.  Once you get a successful pairing established, you can press the start session on your app.

Option 4: Remove the transmitter

The G6 transmitter is surrounded by plastic entirely.  The locking wings for the transmitter are located under and inside the plastic ring surrounding the transmitter, making them very inaccessible by fingers.  Therefore, popping out the G6 transmitter is a bit cumbersome, requires some small pointy tool, and frankly would be a little hard to do if your sensor is in an awkward spot to reach.  I managed to do it with a simple tool by myself with the sensor on my arm (see video below), so it’s not impossible.

Technically, if you remove the transmitter, you can replace it back onto the same sensor (and tape it back down so it stays locked in place, if you’ve busted the hinge point in the process of removing the transmitter).  This would allow you to restart a sensor session on the same sensor.  I’ve heard from others that leaving it out for 15 minutes helps restarts…but I have not experienced the same.

I’m only mentioning this option for full disclosure of ALL the options…but really this shouldn’t be used.  It’s so much easier to use one of the first two options.

Video of how to remove the transmitter:

Restarting G6 Transmitter (avoid the 90-112 days Dexcom shut down)

The Dexcom G6 transmitter is just like the G5 transmitter in that Dexcom artificially kills the transmitter by 112 days of use after first activation.  If you’d like to use the transmitter beyond the 112 days, and instead use the transmitter until the end of its battery life, you can use the same process described in my G5-reset-transmitter post.  The G6 transmitter can be reset at any time just like the G5 transmitters.

Reset G5 Transmitter

First, let me preface by saying that I adore, love, respect, and covet my Dexcom system.  It gives us a stability with type 1 diabetes that we would never be able to do without now.  But what I’m about to tell you is a bit of a hack on their system.

There’s been one thing I really have not enjoyed about moving from the G4 to the G5 system about four months ago.  The G4 transmitters were warrantied for 6 months, but usually the battery in those would go for a year…meaning we had the opportunity for much of the transmitter’s useful life to have a backup on the shelf at all times.  If the G4 transmitter failed for any reason, we could pick one off our shelf and not stress about how long it would take to get a new one.  Overseas travel and 2-week long diabetic summer camps were not a big deal…we could pack a backup.

Then we switched to the G5 system at the beginning of this year so that Anna didn’t have to carry a receiver while she did track team workouts.  This dramatically improved the likelihood that she would stay in good BG range during workout because our DIY loop system would have BGs available the entire workout to help her insulin needs.  If Anna had to carry a receiver during track workouts, that would’ve been the straw that broke the camel’s back in terms of diabetes gear she was willing to manage.

So, we’ve loved the G5.  It has worked well; not really having any problems with signal loss, BGs are accurate, we have enjoyed Clarity reports.  All good EXCEPT those G5 transmitters being shut-off by Dexcom  at 112 days.  At 90 days, you get a warning and your warranty is up.  At 112 days, your transmitter is artificially shut-off even though the batteries have some useful life left.  How much life?  Well, that depends, but for most users it is about a couple more months of life.

The problem with this system is that my insurance covers 2 transmitters in one order every 6 months.  So, for the first 90 days (3 months) after a transmitter order, I will nicely have a backup sitting on the shelf in case things go wrong.  BUT, for the next 3 months, I will have no backups on the shelf.  If that second transmitter dies early, I would have to wait for Dexcom to send us a new one.  If we were overseas or traveling, this could be very inconvenient.  I definitely won’t have one to send with Anna to her 2 weeks of summer camp based on how I can forecast our insurance refills already.

And here’s the really great news.  You can now reset the clock on that 112 day shut-off by building your own iPhone app.  This doesn’t buy you heaps of extra time…as the battery will only go for about 2 more months (maybe even less?) past 112 days…but that could be just enough time to start to be able to keep a backup transmitter on the shelf for longer between orders.

Another really good plus?  You can use this reset on G5 transmitters that have had their batteries replaced AND still use the Dexcom official app…you won’t have to try to use a different app (like Spike-App or X-drip+).

HOW TO BUILD RESET APP

What you will need:

  • iPhone (iOS 11.0 minimum)
  • (this may also work on iPod…but I haven’t tested it yet)
  • Apple computer (macOS 10.13.2 High Sierra minimum)
  • Xcode 9.3 (newer versions will work too…blogs are bad for “current” version references lol)
  • Apple ID email

Check to see if you need to update your macOS based on the version of iOS you have.  You can check your macOS by clicking the apple logo in your computer display’s upper left corner and selecting About this Mac.   If you are due for an update, click the Software Update button.

Download and install the app called Xcode from the App Store on your computer.  When the installation is finished, open Xcode by double-clicking on it from your Applications list.

Note: If this is the first time you are opening Xcode, you may get an initial message telling you that Xcode is installing command line tools.  Please let that run and complete the installation.  Command Line tools are a needed installation.

Go to the Xcode menu on the top of your screen, and click on Xcode and then Preferences...

Within Preferences, click on the Accounts tab and then the + button in the bottom left corner to add an account.  You are going to add an Apple ID type account.

Enter in your Apple ID email and password.  This process automatically makes a free Apple Developer account associated with your Apple ID email.  The account will show up in your Xcode preferences now with your name and (personal team) as a suffix in the name.  Once your account is added, close the Preferences screen by clicking on the red circle in the upper left corner.

Download the code for the ResetTransmitter app that we are going to build by clicking HERE

Open your downloads folder and navigate to the CGMBLEKit-master folder and then find the file CGMBLEKit.xcodeproj folder.  Double-click on that file and the project will open in Xcode automatically.

Click on the open button when the message appears asking:

“CGMBLEKit” is a project downloaded from the Internet. Are you sure you want to open it?

{Take the time now while the project opens to plug in your iPhone to the computer using your lightning cable.  Please accept any prompts about trusting your computer and unlock your phone so that it stays awake through the build process of the app that we are about to finish.}

Now click on the CGMBLEKit at the top of the left column, and then click on the small box as shown on the screenshot below to show the list of “Targets” below it.  Select the “ResetTransmitter” target.

Now, look at the screenshot above.  See that part highlighted in blue? You will need to change the loopkit part of the Bundle Identifier to a unique-to-you word.  Make sure that when you make the edit, you do not delete the period before and after.

Once you have the name edited, then go down to the Team section and select your (personal team) signing name from the drop down menu selection.  [Note: if you have a paid developer account, you can use that signing name instead.]

After you finish signing, a Provisional Profile will automatically be created and you’re close to done.

If you see a prompt under the status area below the Team about your device not being registered, please click on the Register Device button provided there to register the iPhone to your developer account (see screenshot below).

Now, navigate up to the top of your window and select two things; one from the left side of the box you’re going to select ResetTransmitter and from the pop-out, you’re going to select your phone’s name from the very top of the device list (not just your phone model…you want to go all the way to the top of the list for your phone’s name).


Stop and double check….most common mistake is forgetting to select ResetTransmitter as shown in the screenshot below and mentioned above.  Do not leave the selection on CGMBLEKit…if you do, your app will build properly nor will it appear on your phone.


If your phone/device name has (untrusted) after the name (see screenshot below), please open the phone and click on the Trust button that should appear on the main screen.  If the (untrusted) tag hasn’t disappeared after that, just unplug and replug the phone into the computer.  That should get rid of the (untrusted) tag.  If you try to build an app onto an “untrusted” device, you’ll get an error message reminding you to do the steps above.

When you’re done, the screen should look like the screenshot below; ResetTransmitter on the left, your phone’s name on the right, and no red error messages under the signing team area.  If your screen looks correct, then go ahead and press the build/play button.

Depending on if this is the first time you’ve built on Xcode, you may get prompts for codesign access and keychain access.  If those prompts appear, please enter your computer’s password and click on the always allow button to confirm.

Also, if this is your first time building with this developer account onto your iPhone, you may get another warning that the app could not launch because an issue with trust on your Developer Account on your phone.

Follow the directions on the warning.  Open your iPhone Settings >> General >> Device Management and then select your Developer App certificate and trust it.

Once you click the Trust on your iPhone, go back to Xcode, click on the blue OK button for the warning and then press the build/play button one more time.  This will finish the build of the app onto your phone.  Success!  You can unplug your phone from the computer and use the app now.

 

USING THE RESET APP

There is some warning messages in there about the use of this app.  When the app was first written, the code writers were uncertain how Dexcom Share and Clarity servers would treat information coming from a clock-reset transmitter (i.e., would data still be uploaded properly). The app has been in-use by many people now and the Share and Clarity services are, thankfully, not impacted by the reset transmitters.

You cannot reset a transmitter that is currently in a session and/or paired with Dexcom or Spike, or any other device/app.  So, stop any currently running sessions, and quit the dexcom app.   Forget the transmitter from your iPhone’s bluetooth list.  Forget all Dexcom transmitters from the list…no reason to keep old ones that you aren’t using anymore anyways. Re-open the ResetTransmitter app, enter your Transmitter ID and press the red Reset button.  Within 5 minutes you should get a pairing request.

If you do not get a pairing request and instead see a message “Unable to parse auth challenge: timeout” that means your transmitter is still busy with another app.  Double-click the iPhone’s home button and scroll through the open apps.  Upswipe on the Dexcom and the Reset apps to close them.  Restart the phone, re-open the Reset app, enter in the transmitter ID again and press the red Reset button again.  Within 5 min you should now see a pairing request.

If you STILL don’t see a pairing request, some users have reported that turning off Dexcom’s cell data within the iPhone Settings >> Dexcom G5 app can also help release the transmitter from Dexcom app’s influence.  If that fails…you can try deleting the Dexcom app and reinstalling it at the end of the reset process.

If you still don’t get a pairing request, make sure the transmitter is within pairing range of the iPhone (but not in active session).  The Reset app needs the transmitter close enough to be able to pair with it in order to reset the clock.

Once you press the pairing request, the reset command is immediately issued and you should get a confirmation screen like below:

You can now close the Reset app (double-click phone’s home button and upswipe Reset app) and forget the transmitter in the iPhone’s bt list again.  Reopen your Dexcom app and you’ll be able to use your transmitter for another 112 days or until the battery gives out…whichever comes first.

The free developer account that you signed the Reset app with only allows the app to be used for 7 days.  After 7 days, the app will simply produce a quick white screen and self-close if you try to open it.  You can rebuild the app anytime after the 7 days to use it again.  Simply double-click on the file in your CGMBLEKit folder download to open the project in Xcode again, plug in your iPhone, and press the build/play button.  All your previous changes will have been saved, so the rebuild is quite easy.

You can reset any amount of transmitters.  The app does not know transmitter ownership, nor does it have a limit on how many times you can use the app to reset transmitters.

The transmitter does not have to be on a sensor in order to be reset, just needs to have battery life left and not be paired already with another app.

Fine-Tuning settings

It is totally true that there is no one place to read How To Adjust Your Settings in any looping documents.  The reason being…the answers are basically the same as other non-looping situations…test basals, test carb ratios, test insulin sensitivities.  The difficulty is that once people are already looping, nobody wants to turn off their loop to go and test settings again.  Everyone just wants to adjust settings on the fly while also keeping a closed loop.  So…I’ll try to explain a little of both methods.

Before we start, let me say this in case it isn’t obvious…I’m not your medical professional, nor anyone else’s medical professional.  Don’t take my words as a substitution for conversations with your doctor.

Ok…that warning provided…Think Like a Pancreas is a great reference for understanding some of the guiding principles in pump therapy.  Let me summarize the important parts:

  • Basal rates should keep your BGs steady in the absence of other influences (such as food, medications, etc).
  • Boluses should return your BGs to target after a meal.
  • ISF should be the amount one unit of insulin drops your BGs without other influences.

If you are new to looping, I recommend planning for a time to retest/reset all your assumptions about your diabetes settings.  Keep an open mind if you want to keep a closed loop. (how’s that for a catch phrase?)

It is absolutely possible to have two wrong settings look like a right setting when they balance out.  The problem is that those wrong settings won’t balance out in all situations.  Example:  Too low of basals can be offset by regular eating of meals with too strong of a carb ratio.  If you stop eating though, you’ll start going high because that extra insulin from the meal boluses won’t be there to help the lack of basals.  Taking the time to validate your settings by truly testing them is really good practice.

1st: Insulin Duration

New loopers’ number one settings issue will likely be too short of a duration of insulin action (DIA).  Almost all of us have cut our DIA at about 3 hours on traditional pump therapy.  There’s a reason for that.  In traditional pump use, DIA is only used to calculate the remaining IOB at any given time after a bolus.  That’s it.  And when do we use remaining IOB in traditional pump therapy?  Usually when we want to give a correction because a BG is stuck high or going low…in other words, DIA is used as a rough approximation to correct off-target BGs.  It doesn’t have to be rocket science then…we’re making an approximation because some other numbers (carb count, basals, etc) weren’t behaving the way we were expecting either and therefore leading to an off-target BG.

But in looping, DIA (and its related IOB) plays a HUGE part in how the loop is anticipating and evaluating your BG movement.  IOB is used literally every single minute for every single loop calculation for where to go next in setting a temp basal or providing a bolus recommendation.

Not only that, but the STRENGTH of the insulin at any given time is also being used.  Closed-loops know and care about whether your insulin was given recently and is due to peak soon (like between 60-90 minutes with novolog/humalog), or if it is in the slow tail portion hours later where BG impacts are going to be way less dramatic.  So, DIA means a lot in your closed-looping world.

What will happen if you use too short of a DIA in closed-looping?  You’ll see it in a variety of ways, but too short a DIA will give the equivalent of insulin-stacking.  The loops will be assuming insulin is disappearing faster than it actually is.  If you are getting steady BGs while closed looping with a short DIA, it’s likely that your basals are being set too low to compensate.  If instead you have your basals correctly set and use a short DIA in closed-looping, you will likely find yourself going low from corrections.  One good indication of this is going lower than target carrying negative IOB from previous loop low/zero temp basals.

General recommendation:  Set your DIA to 5 or 6 hours for novolog/humalog, do not keep using your old, short DIA from traditional pump therapy days.  If you are using the newest versions of Loop or OpenAPS, the code is defaulted for 6 hours.  Test your basals (see below) with the new longer DIA and make sure that you can get steady BGs with the new basals.

2nd: Basals

Now that you have a reasonable DIA set, make sure to test your basals.  Personally, we find testing basals can be pretty painless and doesn’t require days of fasting.  Instead, we look for easy opportunities.  If you are willing to open-loop test, that is going to give the most accurate information in the quickest way.

It’s a pretty easy test.  Turn off your loop.  Don’t eat food, don’t do crazy exercise, don’t sit in a hot tub.  Just have a relaxing average time period and see if your basals are able to hold you roughly steady.  Doesn’t matter if you are at target or not…the idea is to simply have zero extra insulin on board from any boluses or corrections and watch what happens during those hours.  Typically we like to see about two hours of BGs without the influence of food boluses.

Believe me when I say that Anna is not enthusiastic about fasting basal testing…so I look for opportunities to make it less cumbersome.  For example, use a meal that I know like the back of my hand how to bolus for it and that generally needs no corrections.  For us…that’s two extra large scrambled eggs (or three small ones) with cheese bolused at 8g.  If she eats that meal, the BG response is slow and measured and by 3 hours after that meal…the bolus and food effects are really muted and we can start watching to see if BGs stay pretty steady for the next two hours.

For example, here’s some of a recent open-loop basal testing we did with Anna…confirmed that the BGs could stay pretty steady without the involvement of temp basal help from looping.  The 8g of eggs at the end of almost 3 hours…looks like she went a little lower (and may have deceased even more if she hadn’t started the next meal) than she had started.  Since basals appeared to be keeping her pretty steady, I made a mental note that carb ratio might be just a touch too strong, but didn’t adjust right away.  I waited to see how the next meal was going to behave.

basal-open-loop

If you absolutely don’t want to turn off your closed loop to test this…see if you can find a time where BGs are steady, you are at/close to target, and you are not carrying positive or negative IOB.  If you can’t find a time like that, chances are you may need to adjust settings.  Nighttime is usually the easiest to find that…but having well-set nighttime basals does not mean that daytime is also necessarily well-set.  That needs to be tested as well.

3rd: Insulin sensitivity factor

Insulin sensitivity factor (ISF) is the next logical setting to test.  If you’ve just done the basal test and gotten steady BGs with an open loop…try taking a glucose tab or two.  Wait for your BGs to be steady at the higher BG, and give a safe correction that you think will get you close to target.  Watch the resulting BG drop over the next 2-3 hours.  You should see BGs come to a steady level again.  How much did the BG drop?  How many units of insulin did you use?  Divide the two numbers and you will have your ISF.  If your BG dropped 15 mg/dl with half unit of insulin, your ISF is approximately 30 mg/dl/unit.

If your ISF is too weak (in other words the actual number is too low compared to reality of how strong the insulin is) in closed-looping, one of the most common symptoms you’ll see is a roller coaster of BGs where the temp basals are cycling between zero and high temping.  I’m going to borrow a couple of example graphs from Looped group.  These are examples where too weak of ISF is more than likely a large factor in the roller-coaster (doesn’t mean it is the only culprit, and is more difficult to ferret out when food is involved like the second graph).  But, lightning bolt high temp basals followed by very quick BG drops and zero temps is usually too weak of ISF…raise the ISF number to help looping know that each unit of insulin is actually doing more BG dropping.

19248027_10155510691426450_4212861104795372164_n

15591479_10154031400407115_2525671186696153617_o

Screen Shot 2017-10-28 at 12.20.02 PM

4th: Carb Ratios

Now that you have basals, ISF, and DIA all set-up…here’s where it gets really tempting to close loop and move on.  And, truthfully, it’s not that hard to test carb ratios on a closed loop vs an open loop if you’ve solidly tested all these other factors.

A good carb ratio will bring your BGs back to the starting point of the meal within about 3 hours or so.

A bad carb ratio will leave you higher or lower than the starting point of the meal.

For example, these are two examples of carb ratios being too strong.  In this first example, there’s 2.27 units of IOB and BGs are at 103 and headed down at a pretty good clip at about 2 hours after the meal.  If the next meal hadn’t been eaten then, low treatment certainly would’ve been needed.

carbratio1

This next graph also shows too aggressive of a carb ratio.  Three hours after the meal, there’s nearly 0.50 units IOB, BG is well below where the meal started, and definitely low treatments needed.

carbratio2

If you are finding that a correct carb ratio is yielding good BGs 3 hours later, but you aren’t happy with the peak BGs during the meal…then it may be time to explore increasing or adding prebolusing time to your meal or implementing “eating soon” targets an hour before meals to help control the post-meal BG spike.  Artificially strengthening carb ratios to help control post-meal BG spike will likely yield lows 2-3 hours after a meal.

But what about diabetes?

Of course, as soon as you test and dial-in all these things, diabetes will throw you a curve ball and change your insulin needs.  That’s the way it works.  It’s not just YDMV (your diabetes may vary), it’s actually YDWV (your diabetes will vary).  So how do you adjust settings without needing to open loop every time?  Short answer: it takes practice.

For us personally, hormones play the largest variable in settings.  If we estimate average basal rate of about 1 u/hr for Anna, hormones can make her range from 0.55 to 3 u/hr.  Illness or heat can make her ISF change from typical 35 to a range between 30-45.  We have gotten used to changing settings (basal rates mostly) to accommodate hormone fluctuations.  Illness and heat we tend to use shorter-term fixes like temp targets to help rather than changing settings.

One of the easiest tells we have that basals need to change is hanging out above/below target with positive/negative IOB.  Here’s one recent example.  During the day before this screenshot, Anna was busy with some stressful things at school…like being front and center during the school’s pep rally for Homecoming around noon to 2pm.  So, the unusual red spot on her graph didn’t immediately make me think anything was “wrong”.  Then she went to Homecoming dance that night, hung a little higher than target, but nothing too bad and she wasn’t looping during dance (her choice).  She came home around midnight, and at about 5am I noticed that she was hanging out steady at about 130s and carrying positive IOB.  Fingerstick showed she was at 195 (thanks Dexcom).  Gave a correction and started to wonder if may her basals were too low, because she shouldn’t have been that high under normal operations (but maybe homecoming dance was to blame?).  I didn’t make any changes to her settings at this point, but did start to watch for signs.

first

In the morning, Anna had a typical breakfast with some toast and fruit.  With fiasp, she hasn’t really been going above 150 (and usually not above 130)…so when she hit nearly 180 for the meal, I definitely started to think basals may indeed be low…but I waited to see how the meal would land.

second

As you can see above, about 2.5 hours after her meal of fairly quick carbs, she started to rise.  And she started to rise with about 0.75 units IOB.  This is odd for her.  Ideally, we wouldn’t be seeing sharp, steady rises with a good amount of IOB.  Additionally, this meal didn’t have protein or fat involved so I knew the rise wasn’t a late food contribution (even if Loop had some cob still on board).

So, once it looked like (1) the rise really wasn’t slowing down even like Loop thought it should, (2) she was climing with fiasp for nearly an hour of high temping with (3) positive IOB…then I finally decided to adjust basals.  I moved her basals from 0.85 to 1.2 u/hr.  Why that number?  A guess based on basal rates she tends to move between during her regular variations.  Trial and error have shown us that a rate slightly above 1 u/hour is usually needed sometimes.

third

One of the things I like to watch is the IOB pill when we make a basal change.  Ideally, I like to get the IOB back to a number that is roughly how much I think may help get a correction going again.  So, changing the basals from 0.85 to 1.2, Loop recalculated IOB from 0.52 to -0.48.  Which was roughly in line with what I’d expect…Anna was about 27 mg/dl over her 95 mg/dl target with an ISF of 55…meaning she’d need about 0.49 units to correct to target.  Perfect…seemed like a reasonable amount of movement for basals then.  Loop started running a high temp and I wait to see how things look in about 2 hours.

fourth

About 1.5 hours later, Anna wasn’t quite coming down as fast as I would’ve expected. She was still holding 0.57 IOB and at same BG as she was 80 minutes before.  So…I waited a bit and adjusted again to 1.4 u/hour.  Again, just a guess, but nearly two hours after that adjustment we are sitting just about at target and just about even IOB.  I’ll probably split the baby and use 1.3 u/hr going forward.

So…that’s how I look for and make tweaks to my settings while closed looping.  The basis is knowing what “good” times look like and how foods normally behave.  Open-loop testing really helps with that.  Then, when you find yourself with some of the telltale signs (food going differently than expected, BGs holding steady but not at target, moving up/down without IOB helping, etc) over an extended period of time, you can make small adjustments and watch for the resulting behaviors.  I don’t adjust based on just one meal or one period of above-target BGs.  There’s too often another reason (stress, sensor issues, etc) that could explain a short term high/low BG pattern…but if I notice the trend continuing for a period of time/several meals, I adjust.  Shorter term issues from stress or exercise we deal with using temp targets or just have a little more patience and wait for them to come down when the issue has passed.

Exponential Insulin Curves + Fiasp

One of the new updates that came to both sides (OpenAPS and Loop) quite recently are Exponential Insulin Curves.  I’ll spare you all the detailed history of development and discussion, but there’s several threads of discussion on GitHub regarding the new curve developments like the PR here in OpenAPS, the issue here in OpenAPS, and the issue here in Loop if you want to read up.  What you’ll notice is that there was a lot more cross-communication between the different DIY groups than usually happens…so this particular feature happens to be where OpenAPS and Loop have the greatest degree of similarity right now.  And something must have spurred this sudden cross-system work, right?  Yes…and that something is Fiasp.  The new “faster” insulin.

What’s so special about Fiasp?

Fiasp is like Novolog, except it has an additive that “speeds up” the insulin effect.  To quote from the official paperwork:

Fiasp is a mealtime insulin aspart formulation in which the addition of nicotinamide (vitamin B3) results in a faster initial absorption of insulin compared to NovoRapid.

The onset of action was 5 minutes earlier and time to maximum glucose infusion rate was 11 minutes earlier with Fiasp than with NovoRapid. The maximum glucose-lowering effect of Fiasp occurred between 1 and 3 hours after injection. The glucose–lowering effect during the first 30 minutes (AUCGIR, 0–30 min ) was 51 mg/kg with Fiasp and 29 mg/kg with NovoRapid (Fiasp/NovoRapid ratio: 1.74 [1.47;2.10]95% CI). The total glucose–lowering effect and maximum (GIRmax) glucose–lowering effect were comparable between Fiasp and NovoRapid. Total and maximum glucose–lowering effect of Fiasp increase linearly with increasing dose within the therapeutic dose range.

What is the most important take away for most of us?  Less need for prebolusing in order to control post-prandial spikes in BG.  Translation for Anna…she doesn’t have to wait nearly as long to eat that donut.  So you can see the appeal of the product if it works as they advertise…a 2-minute prebolus or even post-meal bolus?!

Why can’t Fiasp work with the old curves?

As a gross simplification, the insulin curves are made by “drawing” a smooth line through a bunch of individual, discrete data points collected from all the users in insulin study groups.  Mathematician’s version of art could be envisioned as HOW they connect all those data points, because there are many different methods (such as straight-line, bilinear or exponential) they can use, each with pros and cons.  Typically, mathematicians try to pick the method that provides the “best fit” to the data points.  In picking that method they may need to ask themselves…what are the important areas of the dataset?  Do they want those areas to match up best?  This wiki page offers a great overview of the concept of curve fitting.

The old insulin curves (bilinear curve for OpenAPS, Walsh curve for Loop) didn’t fit Fiasp data well.  Our looping community needed a new piece of art (aka curve)…and ideally the new curves could also be slightly individualized for YDMV (your diabetes may vary) and still work for the rapid insulins such as novolog and homolog.

What are the Exponential Insulin Curves?

The new way that the looping systems model insulin impacts in their system is through exponential insulin curves.  The exponential insulin curves have two user-adjustable inputs; peak time (PT) and insulin action duration (DIA).

For Loop, there is one legacy insulin curve (Walsh) and three new exponential curves to choose from when you configure your Loop app.  The first 3 listed below are for rapid-acting insulins (novolog/humalog) and the last one is for Fiasp. (Note: the Loop docs contain the instructions for individualizing the exponential curves’ DIA and PT settings.)

  • Walsh – default DIA =360 min, PT not user-configurable
  • Rapid-acting adult – default DIA = 360 min, PT = 75 min
  • Rapid-acting child – default DIA = 360 min, PT = 65 min
  • Fiasp – default DIA = 360 min, PT = 55 min

For OpenAPS (currently in dev branch, as of this blog date), there are three curves; the legacy curve, and two new exponential curves (one for novolog/humalog and one for fiasp).  The peak times for rapid-acting and ultra-rapid can be set in the preferences, DIA is set in the pump (and must be at least 5 hours for the exponential curves).

  • Bilinear – old OpenAPS curve
  • Rapid-acting – default DIA = 300 min, PT = 75 min
  • Ultra-rapid -default DIA = 300 min, PT = 55 min

For fun, here’s what the math looks like inside the Loop code:

Parameters: td = duration, Ia(td)=0, IOB(td)=0, tp = peak activity time, both expressed in minutes.
Time constant of exp decay: tau = tp*(1-tp/td)/(1-2*tp/td)
Rise time factor: a = 2*tau/td
Auxiliary scale factor: S = 1/(1-a+(1+a)*exp(-td/tau))
Insulin activity curve: Ia(t) = (S/tau^2)*t*(1-t/td)*exp(-t/tau)
IOB curve: IOB(t) = 1-S*(1-a)*((t^2/(tau*td*(1-a)) - t/tau - 1)*exp(-t/tau)+1)

And the math inside the OpenAPS code is pretty similar, too.

IF you take that math and boil it down into pictures (because don’t most of us like pictures better?), you get curves kind of like these based on what DIA and what PT you select (thanks Sulka Haro):

28734122-0efb3e0e-73e8-11e7-9ffd-05dfffcc6ff5

Looking at the chart above, you can see the grey and blue lines would roughly represent Fiasp, while the orange and yellow lines would represent slower Novolog.

So this default curve will work for me, right?

Most of us are so excited when something new is released for our loop, and we think it will be as simple as just turning on the new feature and looping gets even easier.  The developers do a great job of reminding us YDMV, test these features for yourself…but somehow we all get so darned excited we forget that warning soon after we enable the new feature.

The new insulin curves are no different.  There are a lot of assumptions that go into these curves, not the least of which is that they represent a consolidation of data from THOUSANDS of insulin users in study groups.  They are not derived from data gathered from YOU in a study group.

My personal understanding of insulin curves has grown a lot since beginning to loop, and it still has a long ways to go.  When I started, I’d swear on a stack of bibles that our insulin duration was 3 hours.  Then, after looping for a bit, I’d sheepishly admitted that 5 hours was indeed actually a smoother ride once my settings adjusted.  Finally, I even moved it out to 5.5 and 6 hours and still had a smooth ride (the difference between the two durations was not enough for me to readily notice in my data).  I would say that if there’s one bit of consensus in the looping community development group, it is that your DIA should not be less than 5 hours.  If you aren’t at 5 hours DIA yet, you should take the time to fine-tune your settings.  If you are using less than 5 hours DIA, you are probably relying on a loop-induced insulin stacking to make up for basals that are too low.  (Ahem, looking at you 670G users who are using 2 hour DIA in order to trick those loops into providing more aggressive BG control…but alas, that’s the only variable they have to control their loop.  Lucky us, Loop and OpenAPS give us options.)

But, since Anna started on Fiasp October 11th, my whole head exploded and I had to rethink my insulin curves all over again.  In fact, if you read those discussion threads linked at the beginning of this post…people have been having success at lots of different settings while trying fiasp (2 hours, 5 hours, 7 hours DIA and various peak times as well).  How could the same person be having “success” at such varied settings?  The answer is multi-faceted.

What are the impacts of DIA and PT?

This is a great set of graphics (thanks Dragan Maksimovic) illustrating the effects on the curves at varying settings.  This first set is the insulin activity where you are only varying the PT, and keeping the same DIA.  Notice, as the peak time increases, more of the insulin’s strength to bring down insulin is used up earlier.  You’d expect to see BGs drop sooner with a quicker PT and slow up more as the insulin wears off.

28603367-d54aed1c-7180-11e7-800e-f43c0ca17042

This next set of curves shows what happens when you keep the same PT, but vary the DIA.  If the peak time is the same, the shorter the DIA then the stronger the insulin will impact the user at the same time post-prandial.

28603372-dc754042-7180-11e7-93de-190fcd4536fe

Keep these curves in mind, as they may provide good reference in later discussions about fine-tuning your insulin settings.

Actually, this is probably a good place to end this post.  We can carry over the discussion about Fiasp and insulin curves to the next post, where I’ll share how the first 6 days of Fiasp led me to actually stop looping, go full manual mode for 2 days to recalibrate all my settings and search deeper about where my problems with Fiasp and looping were coming from.  Don’t worry…so far it has a happy ending.