Select whether glucose values should be given in mmol/L or dm/dL.

Graph range: low-high.

Give a low and high value, so that the bottom of the screen correspondents to the lowest and the top to the highest. These values are only used when all the glucose values displayed on the screen are within these bounds. Otherwise, the bounds are widened so that all values are visible. When you take 3 mmol/L (54 mg/dL) and 9 mmol/L (162 mg/dL), and all the values on the visible display are between 5 mmol/L and 6 mmol/L, the graph displays a glucose axis from 3 to 9.

If Manually scale Glucose is turned on, you can change this: moving your finger over the top of the screen, moves the top half of the graph up and down; moving over the bottom of the screen moves the bottom half of the graph up and down.

Target range: low-high

The higher side of the display is colored differently so you can see high values easier. The same is true for low values. A red line is displayed to show the too low side of the display.

Glucose-axis numbers LEFT

Place the numbers of the glucose level in the graph on the left of the screen. Useful if you want to place your current glucose in the middle of the screen, for example in Wear OS.


Apply a threshold to the rate of change of glucose values. Only when the rate of change diverges the specified amount from 0 is the rate of change arrow different from horizontal. You can use arbitrary values between 0 and 0.8. The threshold is used to prevent giving to much meaning to small absolute rate of change values. It is very well possible that the rate of change show a slowly rising glucose value, but in reality it is falling. The threshold is used to make a more cautious statement.

Invert screen

Turn the display upside down. It is switched on by default, because otherwise I'd sometimes accidentally touch OK while scanning a sensor.

Some people ask for portrait mode, but I have turned that off, because it is totally inappropriate for the display of the glucose graph.

NFC sound

Make sound during scanning in addition to vibration.

Scanning starts app

If checked this app will be started when you scan a sensor via NFC even if this app is not displayed. If multiple apps have this setting, android will display a chooser from which to select which app you want to use. Somehow choosing one doesn't work and selecting one to be chosen the next time neither. So in this case you can't scan without an app in the foreground. Turning it off in this app, will make it possible that at least one app can be activated this way.

If you have root access, you can also disable NFC activation of Abbott's Librelink app (doesn't work with Libre3):

Become root in adb shell or termux, and type:

pm disable

On Librelink 2.7.1 and lower you had to press:

pm disable is here the Dutch version of Librelink, this should be replaced with the version you are using. You can find its name by typing (even without root):

pm list package freestylelibre

Afterwards, you can still use Librelink for scanning when it is in the foreground, but it will not be started otherwise. Librelink 2.5.2 and higher crash themselves if they detect root. But in Magisk you can easily hide root by renaming Magisk and adding individual apps to the denylist (Magisk 24.3) or Magiskhide (Magisk 23.0). You should also add Juggluco to the denylist. Except when you use US Freestyle Libre 2 sensors, you can also use an older version of Librelink without root check.

Without root, under adb shell, you can also disable the whole app:

pm disable-user --user 0

Before calling Abbott customer service, you can re-enable it with:

pm enable

Health Connect

Send minutely glucose values to Health Connect. You can give other app access to these glucose values, for example Google Fit. Other apps again can get assess to data from Google Fit.


Connect with Libreview to send Freestyle Libre 2 and 3 glucose values and amounts to Libreview and to get the account id used during Freestyle Libre 3 sensor activation. Touch to change settings.

Patched Libre

Use the Patched Libre broadcast (originally send by the patched German Librelink app 2.3.0), to send the Bluetooth glucose stream data every minute to xDrip. In xDrip you need to set Libre2 (patched App) as hardware data source. The glucose values displayed in xDrip are different from the values it receives. For some reason xDrip only updates its value every 5 minutes, probably because it was made for devices that send only once per 5 minutes (A watch face connected to xDrip regularly displayed more than 9 minute old values.) In addition, xDrip displays its own interpretation of received glucose values. Mirror devices can also sent to xDrip.

See for an attempt to update the glucose value of xDrip every minute.

Freestyle Libre 3 sensors send missed values after a disconnection period. These values are not sent with this broadcast. You will receive them if you turn on the Web server in Juggluco and make xDrip a Nightscout follower of Juggluco. Nightscout server:

Juggluco can also directly contact with xDrip watch apps, so that the watch app displays more recent glucose values. To use this feature check "xDrip webserver" in the left menu under Watch. See Help under left menu->Watch for more information. Only one app can listen to the network port used by the xDrip webserver, so you need to turn off "xDrip webservice" in xDrip itself if you want to make use of the one in Juggluco.


Yet another glucose broadcast. It can be used to send every minute a glucose value to xDrip. xDrip will ignore nearly all of them because of its insistence on one value in 5 minutes. You can remove this restriction by editing the source code of xDrip. Change 4 * 60 * 1000 to 55 * 1000 in app/src/main/java/com/eveningoutpost/dexdrip/models/, so that it becomes:

public static BgReading readingNearTimeStamp(long startTime) {
         long margin = (55 * 1000);
         return readingNearTimeStamp(startTime, margin);

The advantage over the Patched Libre broadcast is, that xDrip doesn’t transform the glucose values in some unspecified manner.

xDrip broadcast

Send the same broadcast as turned on in xDrip with "Settings->Inter-app settings->Broadcast locally". Apps like AndroidAPS listen to it. Unlike the original xDrip broadcast which was broadcast every 5 minutes, Juggluco broadcasts this broadcast every minute.

Glucodata broadcast

A new broadcast that has the same function as the xDrip broadcast. A simple example app that writes received glucose values to logcat you can find here: Glucose broadcasts. If you specify Juggluco as data-source in G-Watch, you need to turn on this broadcast.

The application apps listening to this broadcast are shown. Check the apps you want to send this broadcast to.

Web server

Web server that can be used with xDrip watches and some Nightscout apps. Previously called xDrip webserver.

Insulin onboard (IOB)

IOB is a measure of how much insulin remains from previous insulin doses. To do this, you must enter insulin doses under a label in the “Rapid acting insulin” category. You can specify what labels are “Rapid acting insulin” under Left menu→Settings→Web server→Give Amounts.

Now clamp

When “Now clamp” is set, the time period displayed on the screen is scrolled to the left so that the present is always at the same point of the screen. Some users run Juggluco on an Android emulator on a computer at a few meter distance from them. When “Now clamp” is turned off, the location of the current glucose value would move to the right with the passage of time, so that after a few hours it isn’t visible anymore. This makes it necessary to walk to the computer and scroll the screen a few centimeter. When “Now clamp” is turned on, this distraction is no longer required.


Upload to a Nightscout server.

Glucose notification

(Previously called "Glucose in android status bar"). If set, glucose values streaming via Bluetooth are quietly displayed in a notification and the android status bar. If you turn it off, instead of a number, a dot is shown and the notification tells nothing more than "To connect to sensor" or "To exchange data". An app that stays running in the background, is obliged by Android to have such visible notification (otherwise it is easily stopped by Android). Juggluco only turns off the notification, when "Sensor via Bluetooth" is turned off and there are no mirror connections.

On some smartphones, the glucose value is only shown in the Android status bar after changing Androids notification settings. On Realme GT 5G for example, you have to go to applist->Juggluco->manage notifications, tab on glucoseNotification and turn off "Set to Silent". "Display in status bar" will now be shown turned on.

You can also get an android notification by selecting Notify in the left middle menu. In that case the notification will be sent to some smartwatches, if it is configured that way. That works with Garmin watches, I don't know if it works with anything else. Alarms also generate notifications.

Floating glucose

When you turn this on, a small image with the current glucose value is constantly present on the screen independent of which app is in the foreground. If you turn it on the first time, you will be directed to a list of apps in which you have to give Juggluco permission to display over other apps.

Sensor via Bluetooth

Selects whether this app connects via Bluetooth with a Freestyle Libre 2 or 3 sensor. This is needed for alarms and continuous glucose monitoring.


Set high en low glucose alarms, loss of signal alarm and value available notification.

Number labels

Specify the labels used for amounts. Go to a screen to determine which labels to use to set amounts, like insulin doses, carbohydrate consumption and hours spend playing football. If you also use the Garmin watch app Kerfstok, these labels are sent to the watch app.


Juggluco is displayed in the chosen language. When no language code is selected, the system language is used.


Specify that an alarm should go of if you didn't enter a certain amount of food or medication within a certain time period.


Change colors of curves, scans and numbers. To switch Dark mode, use right middle menu->Dark mode.