web hi res 512

EasyFPU for Android

An Android app - mainly for Type 1 Diabetes patients - to ease the calculation of carbs, fat-protein-units (FPUs) (aka extended carbs, e-carbs or fake carbs) and their matching absorption time.

I need and want to emphasize that the use of this app is on your own risk!

The Fat-Protein-Units and absorption time calculated by this app are based on the recommendations of nutrition scientific articles, see list of links on this page. The app calculates FPUs by taking the total calories of a food item and substracting the calories based on carbs (4 kcal/g). The difference represents the calories based on fat and proteins. For more details, please refer to the chapter on the absorption scheme.

What you will do with this calculation, is completely up to you - you act on your own risk! Although I have thoroughly tested the calculation algorithm (and use it for a pump based insulin therapy in my own family), I refuse to guarantee its correctness.

Just a few hints from our personal experience:

  • If you're looping, the loop loves to know if there are further carbs to be expected over time. It will then adjust its BG projection and - if activated by you - increase amount the and/or number of auto-boluses.
  • If your auto-bolus settings limit the bolus amount for safety reasons, you may experience a high proposed manual bolus (e.g. 1.5 units at a BG of 180 mg/dl). Be careful before you really apply this, better reduce to half the amount in the beginning.
  • In any case: Closely watch your BG when first starting to work with FPUs.

The motivation to program EasyFPU was to ease the calculation of Fat-Protein-Units especially for children with Type 1 Diabetes.

Although carbs are as well calculated, this can be done by many apps today. However, meals with a high portion of fat or protein lead to a late increase in blood glucose. Modern pump therapies can counter this by a delayed bolus. The calculation of the amount of FPUs and the corresponding absorption time is not trivial - and this is exactly what this app is doing.

The concept is simple: The user picks one or more food items from a list and enters their amount - optionally he can pick one of max. three pre-defined typical amounts. With this information the app will calculate FPUs.

Before being able to use the app, the user (or the user’s parents) need to invest a bit of time and effort to define the food items. The food list is deliberately empty when first installing the app, as every user has his own preferred food (sample data may be downloaded further down). You may limit your food list to food with a high fat or protein portion, like pizza, McDonals food, etc.

System requirements:

  • Android 7.0 "Nougat" or higher

7110A465 4EFA 41ED 9016 E40C7E23D370

This will install EasyFPU on your smartphone.


thumb MainActivity enThe main screen appears when opening the app and contains a list of food items. It will be empty after first installation - after updating the app, the existing list will be taken over.

A food item in the sense of this app represents one component of a meal, which is „homogenous“ in itself. Several food items make up a meal. For example: A Schnitzel with French Fries and Ketchup (the meal) consists of the Schnitzel, the Fries and Ketchup (the food items).

The food list on the main screen is sorted in alphabetical order. It is recommended to assign unique names to each food item and not repeat existing names, although the app won‘t hinder you to do so.

thumb MainActivity fav enthumb MainActivity search enWhen clicking the small star in the top right corner of the food list, only food items marked as favorites will be displayed. Favorites can either be defined in the Edit Food dialog or via the context menu of each food item. Furthermore you may search for food using the search field (any string in the food name).

Tapping the grey Plus symbol on the main screen opens a dialog to add a new food item.

thumb NewFoodActivity enThe following entries are mandatory:

  • Name: The (unique) name of the food item. 
  • Favorite: Whether or not the food will be displayed in the list of favorite food items. 
  • Calories per 100g: The calories of the food per 100g in kcal. 
  • Carbs per 100g: The carbs per 100g of the food in grams. 

Optionally you can define up to three typical amounts for each food item, and you can comment each of them. The respective comment will later be displayed in the dialog to define a new meal and allows users to easily select a certain amount. Typical amounts can be used for defined food sizes and ease the use especially for children.

After saving a new food item, it will be displayed in the food list (sorted by alphabet).

thumb NewMealActivity enA meal consists of at least one food item. To calculate a meal, select at least one food item from the food list on the main screen and tap the magenta colored Meal button with the cutlery symbol. A dialog appears to enter the amounts.

If typical amounts have been defined while adding the food item, these can now be selected for each food item. Alternatively you can enter your own food amount. These amounts should represent the actually consumed amount.

After all amounts have been entered, tap the arrow symbol to start the calculation.

thumb CalcMealActivity enThe following screen shows the resulting values of the total meal (on top in yellow) and of all individual food items. These are:

  • The amount in grams
  • The carbs in grams
  • The Fat-Protein-Units (FPUs)
  • The extended carbs in grams - equals to FPUs multiplied by 10
  • The absorption time in hours

Modern Type 1 Diabetes insulin pumps allow entering FPUs or extended carbs (depends on the pump) as delayed bolus over the absorption time. This reduces late blood glucose increase caused by many FPUs (e.g. for Pizza).

thumb FoodListContextMenu enTapping the three vertical dots of a food item opens the context menu. The following options are available:

  • Set as favorite / Remove from favorites: Adds / removes the food item to / from the favorites
  • Edit: Opens the dialog to edit the food item - the dialog is the same as for adding new food
  • Delete: Deletes the food item from the list

MainMenu enOpening the main menu using the three vertical dots in the top right corner of the main screen gives you the following options:

  • Settings: Opens the settings dialog (see below)
  • About: Information about the app and a link to this documentation

thumb SettingsScreen enThe following setting groups are available:

Absorption Scheme:

  • Edit absorption scheme: Opens the dialog to edit the absorption scheme
  • Maximum FPUs: The maximum amount of Fat-Protein-Units that can be selected for the absorption scheme
  • Maximum absorption time: The maximum absorption time that can be selected for the absorption scheme


  • Export as JSON: Exports the database in human readable JSON format for exchange or backup
  • Import from JSON: Imports the database from a JSON file
  • Export raw database: Opens a dialog to export the app database in raw format (not recommended)

The absorption scheme defines, which absorption time is proposed for a given amount of FPUs. The pre-defined absorption scheme matches today‘s recommendations from nutrition science and is as follows:

  • 1 FPU (= 10g extended carbs): 3 hours absorption time
  • 2 FPUs (= 20g extended carbs): 4 hours absorption time
  • 3 FPUs (= 30g extended carbs): 5 hours absorption time
  • 4 FPUs (= 40g extended carbs): 6 hours absorption time
  • 6 FPUs (= 60g extended carbs) and more: 8 hours absorption time

The calculation logic is as follows:

Step 1: Calculation of the total calories, e.g. for 72g Chicken McNuggets (249 kcal per 100g): 72g * 249 kcal / 100g = 179 kcal

Step 2: Calculation of the calories caused by carbs (4 kcal per 1g of carbs), e.g. for 72g Chicken McNuggets (17g carbs per 100g): 72g * 17gCarbs / 100g * 4 kcal/gCarbs = 49 kcal

Step 3: Substract the calories caused by carbs from the total calories, e.g.: 179 kcal - 49 kcal = 130 kcal

Step 4: As 100 kcal represent 1 FPU, this results in 1.3 FPUs respectively 13g of extended carbs.

Step 5: The FPUs will be rounded, in our example to 1 FPU, and the absorption time will be looked up, in our example 3 hours.

thumb EditAbsorptionschemeActivity EnEditing the absorption scheme is only recommended for advanced users, who have experience in FPUs / absorption time. The absorption scheme can always be reset to the pre-defined scheme above. 

You may download this JSON file with some sample food items (food names are in German only). Import it via the main menu (Import database from JSON).

However, I strongly recommend to add your own food items, as e.g. typical amounts vary from person to person.

The Android App EasyFPU doesn't store any personal data, nor does it use any third party service that might store personal data. The food list is stored locally on your smartphone and contains no personal data.