GluKaMon is not affiliated with, endorsed by, sponsored by, or supported by Abbot, Dexcom Inc., Medtronic, Hammerhead, SRAM LLC, Nightscout, or Gluroo

Frequently Asked Questions & Troubleshooting Tips

Frequently Asked Questions

GluKaMon was built to take full advantage of the Hammerhead Karoo, including it’s Android based operating system, color screen, etc. It only runs on Karoo

Not directly. If you use Nightscout, xDrip+ or xDrip4iOS can act as a bridge from Stelo to Nightscout, and GluKaMon can receive data from Nightscout

GluKaMon works directly with both Dexcom and FreeStyle Libre.

Yes, GluKaMon works with Nightscout, including Gluroo which offers a Nightscout compatible interface. GluKaMon also works with xDrip and Juggluco, both of which offer Nighscout compatible interfaces

GluKaMon connects to Nightscout servers over the internet, using whatever internet connection is available (integrated SIM, WiFi, or tethering to Karoo’s companion phone app)

GluKaMon connects to xDrip and Juggluco over WiFi (typically a WiFi hotspot on your phone, unless you happen to ride within WiFi range)

If you side-load xDrip on your Karoo, GluKaMon can communicate “locally” directly to the local xDrip on your Karoo

Dexcom and Nighscout provide new readings approximately every 5 minutes, so the default and recommended polling interval for GluKaMon is 5 minutes. GluKaMon has a learning algorithm that anticipates when your glucose readings will be available, and times the 5 minute polling to retrieve the glucose readings as soon as possible, while not polling too frequently (which can consume too much of the Karoo resources and battery, and can lead to the CGM server restricting access to your glucose readings)

Freestyle Libre 3 provides new readings approximately 1 minute apart, so GluKaMon provides the option to enable 1 minute polling intervals. This is not recommended since:

  • 1 minute readings may not be more meaningful than 5 minute readings and can be more “noisy”
  • More frequent polling can consume too much of the Karoo resources and battery, and can lead to the CGM server restricting access to your glucose readings
  • Freestyle Libre readings are not consistently at 1 minute intervals, and can be anywhere from 30 seconds to 2 minutes apart
  • If you set polling to 5 minutes, GluKaMon will retrieve ALL of your glucose values over that time period, so on data fields that show multiple readings (the Dot data fields and the Graph data fields) those readings will still be displayed

If GluKaMon is set to 1 minute polling and detects that readings are consistently only available every 5 minutes, it will adjust the polling to 5 minutes to avoid using too much Karoo resources and to avoid getting restricted. If it later detects that readings are available at 1 minute intervals, it will adjust the polling to 1 minute again

Because of internet and computer delays, CGM results can be delayed, so for medical purposes you should always consult your CGM app

GluKaMon can retrieve your readings both directly from the Dexcom and Libre Share services, and from Nightscout (if your Nightscout server is set up for Dexcom or Libre). You can use either one, however when GluKaMon connects directly to Dexcom or Libre, there are fewer network connections and servers between your sensor and GluKaMon, so :

  • Fewer opportunities for things to fail, so more reliable
  • Less delay in retrieving your data, so closer to real time

Most CGM readings are at 5 minute intervals. GluKaMon requests a reading about 5 minutes after the timestamp of the most recent reading plus a few seconds (to allow for some delay on the internet and your CGM servers, and to avoid requesting the reading before it is ready.) GluKaMon learns as you ride, and adjusts it’s timing to get as close as possible to the expected time that data will be available, but no sooner. If the glucose reading is still not ready, GluKaMon will request again at 15 second intervals until it receives the data or encounters an error message from your CGM. Depending on the nature of the error, GluKaMon will adjust its timing as appropriate (e.g. if your CGM servers are overloaded, GluKaMon will “back off” and request data more slowly.) As long as you have an internet connection from your phone to the internet, and from the internet to your Karoo, readings should be available soon after your phone records them. All the GluKaMon Data Fields display an indicator showing how many minutes (rounded to the nearest minute) it has been since the timestamp on your most recent reading, so you will always know how current your readings are. Your Karoo clock should be set to automatic to ensure that this timing is correct (e.g. if your Karoo is a minute ahead it will always think that data from your CGM is a minute later than it actually is.) Due to the potential for delays, especially if you are riding where internet service is poor, for medical purposes you should always consult your CGM app. In practice, GluKaMon typically receives readings directly from Dexcom and Libre 20-30 seconds after your CGM records the reading, and 40 seconds to 3 minutes when receiving from Nightscout

GluKaMon calculates the number of minutes between the last CGM reading as reported by the CGM servers and the current time using the Karoo clock. It rounds this to the nearest minute and displays the number of minutes in the upper right corner of each data field. If your Karoo clock is not set to automatic, this calculation could be skewed (e.g. if your Karoo clock is a minute slow, the “number of minutes old” would indicate that your glucose reading is one minute earlier than it really is, and vice versa)

GluKaMon attempts to retrieve glucose readings when it expects the data to become available from your CGM servers. If the data is not immediately available, or if there are errors, GluKaMon will retry.  The heading row on all GluKaMon Data Fields displays the number of minutes since your most recent glucose reading. This is the number of minutes since your sensor recorded the glucose value, not the time it was received by GluKaMon, so if your Karoo clock is set to automatic and the CGM server clock is correct, this should be a good indicator of how current your reading is. If your glucose readings are more than 10 minutes old the “minutes since” (“⏲m”) indicator on the GluKaMon Data Field will turn yellow to indicate that the data is delayed. After 15 minutes the indicator will turn red. After 20 minutes GluKaMon will display a Karoo message and will display a “?” (or a “—“ if GluKaMon is able to communicate with the CGM servers, but the CGM servers don’t have current readings, e.g. if a sensor is warming up or expired) instead of your latest glucose readings or trend arrow. Graph Data Fields will continue updating to reflect time passed, with no new dots plotted, and the glucose value reading in the circle to the right of the graph will be a “?” (or a “—“)

  • For Dexcom, GluKaMon gets data from the Dexcom servers in your region (US, Japan, or Other) over the internet, using the Dexcom “Share” service. You must have enabled “share” for your Dexcom account and added at least one follower (this can be yourself.) Sign in using your own username and password (i.e. provide those credentials in the GluKaMon settings page), not the credentials of a follower
  • For Libre, GluKaMon gets data from the Libre servers in your region (US, Japan, or Other) over the internet, using the LibreLinkUp service. You must have enabled “share” for your Libre account and added at least one follower (this can be yourself.) Sign in using the LibreLinkUp username, password, first name, and last name (which could be yourself)
  • For Nightscout, including Gluroo, GluKaMon gets data from your Nightscout server over the internet, and in turn your Nightscout server gets data from your CGM server (Dexcom, Freestyle Libre, etc), also over the internet. Use you Nightscout URL and an Authentication Token from Nightscout to sign into Nightscout from GluKaMon
  • For xDrip and Juggluco GluKaMon gets data from a copy of xDrip or Juggluco running on your phone, using WiFi, or from xDrip running on your Karoo, directly on the Karoo

This could happen for several reasons. The most common are

  • The CGM servers could be slow or malfunctioning, and able to receive glucose data, but not able to deliver it
  • Your phone could be using a cellular network that has a good signal (and it is therefore able to upload your glucose readings) but your Karoo may be on a different cellular network (using the built-in cellular chip) that does not have a good signal
  • Your phone could have uploaded glucose readings to the cloud just before losing cellular coverage, and GluKaMon could have requested data from the CGM servers just after you lost cellular coverage.

If GluKaMon can’t connect to the CGM servers it will display a question mark (“?”) for the missing data, after 20 minutes of no data (the Dots Data Fields shows every 1, 5, or 15 minute intervals, so will display a question mark for any missed interval.) This could occur if your phone has good cellular coverage, but your Karoo does not (i.e. different cellular providers). It can also occur if the CGM servers are not working correctly

If you have a Libre sensor and are looking at 1 minute readings (e.g. on the 1m Dots data field) gaps are fairly common and reflect the fact that Libre doesn’t consistently deliver readings every minute

If GluKaMon can connect to the CGM servers, but the CGM servers have no recent data, it will display a dash (“—”) for the missing data. This could happen for several reasons:

  • Your sensor could be expired or warming up
  • The Dexcom app on your phone could be unable to read your sensor. This can happen if your phone has too many active bluetooth connections (e.g. if your phone is connected to your sensor and your Karoo and bluetooth headphones and a heart rate monitor…)

Not if you are using the Dexcom Share service, the LibreLinkuP service, or Nightscout. Your phone must be able to upload glucose readings to your CGM servers (so it must have internet connectivity) and your Karoo must be able to download those readings (so it must also have internet connectivity, either directly or by tethering to your phone)

YES if use xDrip or Juggluco on your phone, if xDrip or Juggluco are configured to directly read your sensor, and GluKaMon can connect using a WiFi hotspot to your phone

GluKaMon uses the internet connection from your Karoo, which could be from the internal cellular modem and SIM chip, your Karoo’s WiFi connection (usually not available while you are on a ride), or by tethering to your phone and using its cellular connection. It will use the data plan for whichever internet connection is active. In normal usage, GluKaMon requests your glucose results approximately every 5 minutes, and these requests and corresponding responses from your CGM are small (< 200 characters each). For a one hour ride GluKaMon would normally use <20k of data. If GluKaMon encounters errors and needs to retry and re-request your readings, the data consumption would increase, but in all scenarios would be very small compared to most data plans

Yes, with limitations. You usually need the CGM app running on your phone to provide glucose readings to your CGM servers. i.e. GluKaMon cannot read directly from a CGM sensor/transmitter, only from CGM servers which receive the data from your phone. There are two exceptions:

  1. The Dexcom G7 app supports direct-to-Apple Watch connectivity, allowing real-time glucose monitoring without needing an iPhone nearby. It requires an Apple Watch Series 6 or later (running watchOS 10+). If you have this set up then you can run GluKaMon on your Karoo without your phone nearby (unless you tether your Karoo to your phone for internet connectivity)
  2. If you want to monitor someone else’s glucose readings (e.g. your child) while you are riding you could set up GluKaMon with that person’s credentials. If that person has their phone (or Apple Watch) nearby GluKaMon will be able to receive and display that person’s glucose readings

No, The Dexcom receiver lacks internet capability, so the Share feature (which GluKaMon uses to receive glucose readings) is not available

If you change your CGM Share password, you must update it in the GluKaMon app. GluKaMon will warn you if it can’t log in

No. Your personal data, settings, etc, is stored only on your Karoo. The data is only used to support the GluKaMon display and (if optionally enabled) to record your readings to the FIT file. If you choose to record glucose readings to the FIT file, any application that you synchronize your rides with (e.g. Strava, Ride with GPS, Suunto, Nolio, Sentiero, Trainer Road, Training Peaks, Xert, Intervals.icu, etc) will receive your glucose readings. Otherwise your credentials, settings, and glucose readings remain entirely private and are never logged, analyzed, or retained

GluKaMon has been designed to handle most error conditions. If your CGM does not return glucose results when expected, GluKaMon will try again. If your CGM servers indicate that they are busy, GluKaMon will “back off” before trying again. If the internet is not available, GluKaMon will also try again multiple times

If GluKaMon encounters an error that may impact the delivery of timely glucose data, it will provide a message. In most cases these notifications are important, but informational only, so they will pop up and then disappear, following the Karoo protocols

If GluKaMon can connect to your CGM, but your CGM doesn’t have any current glucose readings (e.g. if your sensor is warming up or expired) it will display a dash (“—“)

If GluKaMon can’t connect to your CGM (e.g. the CGM servers are having an outage, or you have ridden beyond cellular coverage), GluKaMon will display a question mark (“?”)

Once GluKaMon is able to receive values from your CGM, it will fill in the missing values. GluKaMon cannot fill in missing values in the FIT file


GluKaMon is optimized to minimize battery impact. It uses efficient background communication, gets only the minimum data needed, and avoids unnecessary screen updates, so you can ride longer without worrying about battery life

Contributions are always welcome, but GluKaMon is free and will stay free

Android and iPhone devices both have limitations on WiFi hotspots. Below are some tips to keep the WiFi hotspot running. These may work with your phone. If not, I recommend using either a SIM card (K2) or Bluetooth tethering (K3) which is more reliable

  • Both iPhone and Android:
    • Set polling on GluKaMon to 1 minute instead of the default 5 minutes. Polling every minute uses a bit more battery and data, but keeps the phone OS aware that there is WiFi traffic
    • Karoo only uses 2.4 GHz WiFi channels. If your phone shifts to 5 GHz mid-ride, the network will vanish from the Karoo. In your phone’s Hotspot settings, force the hotspot to 2.4 GHz only (usually something like “maximize compatibility”)
  • Android:
    • Go to Settings > Network & Internet (or Connections) > Hotspot & Tethering > Wi-Fi Hotspot. Look for Turn off hotspot automatically or Hotspot timeout and switch it to Never
    • Go to Settings > Apps > Special App Access > Battery Optimization / Unrestricted Apps, find system processes related to Tethering or Hotspot, and set them to Unrestricted. Turn OFF generic Battery Saver Mode
  • iPhone:
    • Go to Settings > Battery > Turn Low Power Mode OFF
    • Go to Settings > Cellular > Cellular Data Options > Turn Low Data Mode OFF

If you find GluKaMon useful, please support me with a contribution. GluKaMon is free, contributions are optional and always appreciated