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. Furthermore I was kept asking if I could provide the EasyFPU app, which is available for Android already for quite a while, for iOS. And as I've always been curious to learn a new programming language and system, here we go!

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:

  • iOS 13

7110A465 4EFA 41ED 9016 E40C7E23D370

The link to the App Store will follow.

This will install EasyFPU on your smartphone.

FoodList portrait 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.

FoodList filtered portrait 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 be defined in the Edit Food dialog. Furthermore you may search for food using the search field (any string in the food name).

Long pressing a food item opens the dialog to edit the food item.

Swipe left to delete a food item.

Tapping the large green Plus symbol on top right corner of the main screen opens a dialog to add a new food item.

FoodNew portrait 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 as many typical amounts as required 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).

FoodSelect portrait enA meal consists of at least one food item. To calculate a meal, start with selecting a food item from the food list on the main screen. A dialog appears to enter the consumed amount.

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

Alternatively, you may use the green buttons to add the amount shown on the respective button to the actually entered amount.

In addition, you may store the actually entered amount as new typical amount. To do so, tap "Add to typical amounts", enter a comment and confirm by hitting the green Plus button.

Repeat these steps for each food item you want to add to your meal.

As soon as you have selected at least one food item, a summary with the main nutritional values of the total meal will appear on the bottom of the view in red letters. Tapping it opens the detail view, revealing all nutritional values of the total meal and its individual food items. These are:

Meal portrait en

  • 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).

Menu portrait enOpening the main menu using the three vertical lines in the top left corner of the main screen gives you the following options:

  • Absorption Scheme: Opens the dialog to edit the absorption scheme
  • JSON export: Exports the database in human readable JSON format for exchange or backup
  • JSON import: Imports the database from a JSON file
  • Disclaimer: Opens the disclaimer for usage of the app
  • About: Information about the app and a link to this documentation

Swipe left to close the menu.

AbsorptionScheme portrait 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. 

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.

You may download this JSON file with some sample food items (food names and typical amounts are in German mainly). 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 iOS 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 synchronized with your other iOS devices via iCloud, if you're logged into your personal iCloud account. It does not contain any personal data.

These issues and requests are known and will be addressed in future versions.

As I'm developing EasyFPU in my spare time, please understand that I won't provide a detailed release planning.

Should you stumble over topics not yet known to me, let me know under This email address is being protected from spambots. You need JavaScript enabled to view it..

If you want to join me developing EasyFPU, you're welcome!