web hi res 512

EasyFPU for iOS

An iOS 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 - synchronized across all your iOS devices via iCloud (optional).

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 a 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.

EasyFPU is available as iOS and Android app. The iOS version is the newer one with more features, as I'm using it myself as part of an insulin therapy within my family. Whether I'll ever be updating the Android version, I cannot tell - it's a spare time activity!

As an alternative to the two apps, you may use the Web version with limited features.

System requirements:

  • iOS 13.5 and higher

7110A465 4EFA 41ED 9016 E40C7E23D370

This will install EasyFPU on your smartphone.

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

02 FoodList filtered 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.

10 FoodEdit 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
  • Thereof Sugars per 100g: The sugars per 100g as part of the carbs

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

03 FoodSelect enSelection of Food Items

A 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.

05 MealSummary eCarbs en04 MealSummary Carbs en06 MealSummary Sugars en

The Meal Summary

In case you have selected one or more food items, the three carb types - sugars, regular carbs and extended carbs - will be presented on the bottom of the screen:

  • Red sugar icon: Carbs from sugars are usually the fastest to be absorbed. You can set the parameters in the Settings dialog.

  • Green hare icon: Regular carbs are absorbed slower than sugars. You may as well modify the parameters in the Settings dialog.

  • Blue tortoise icon: Extended carbs, aka. e-Carbs or Fake Carbs, do not stem from carbs, but from fat and proteins. That's why their absorption can take very long and starts late.

You can clear a meal by tapping the red X symbol in the Meal Summary. Clearing a meal means that the amounts of all food items as well as the "Meal starts in x minutes" parameter will be set to zero.

08 MealDetails full en07 MealDetails compact en

The Meal Details

Tapping the info icon in the summary will open the Meal Details view. It displays the details of your meal in a way that you can easily send a screenshot to e.g. your kid. It contains the same information as the Meal Summary, plus - on request - the details about all selected food items.

Here you can set the "Meal starts in x minutes" parameter, which normally is the waiting time between your insulin injection and the start of your meal.

For each of the three carbs type, the same set of information is displayed:

  • How much? - The total amount of carbs of that type
  • When? - The time when these carbs start to impact your blood glucose level
  • How long? - The time interval during which these carbs will be absorbed, impacting your blood glucose level

09 HealthExport deBy tapping the Export button (the rectangle with the upward pointing arrow) you can export the calculated carbs as well as the total meal calories to Apple Health.

By toggling the switches, you can select or deselect the data to be exported to Apple Health.

Furthermore, you can set the "Meal starts in x minutes" parameter, which normally is the waiting time between your insulin injection and the start of your meal.

For carbs, a preview of data is generated representing your selection. It shows at which point in time which carbs portions of which type will be exported. Red bars represent sugars, green bars regular carbs, and blue bars e-carbs. Zoom in our out to see more or less details.

You may control the amount of "carbs chunks" via the interval parameters in the Settings dialog.

Important hints for Loopers:

This feature might be useful for T1D patients using the Loop app to steer their insulin pump, as Loop can read the carbs exported from EasyFPU and consider those in the insulin therapy - if you allow Loop to read Apple Health data in the Apple Health settings. Do in this case not enter your meal a second time in Loop, as this will cause double entries and could lead to a low blood glucose.

However, if you export carbs by mistake without actually consuming the exported amount, this may lead to a low or even urgent low blood glucose.

Two safety features try to avoid this:

  • Before starting an export, EasyFPU will check when the last export happened. If this last export happened within the last x minutes, it will issue a warning and you will need to explicitely confirm the export a second time. The time period x can be configured in the Settings view.
  • As third (and final) confirmation before the actual export, you will be asked to authenticate - depending on your iOS settings by FaceID, TouchID or Code.

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:

  • Settings: Opens the dialog to edit the absorption schemes and further settings
  • Import (format: JSON): Lets you import a food list - you can decide whether to append to or replace the existing food list
  • Export (format: JSON): Exports the database in human readable JSON format for exchange or backup
  • About: Information about the app
  • Disclaimer: Opens the disclaimer for usage of the app
  • Help on the Web: Link to this documentation

Swipe left or hit the X to close the menu.

12 Settings enThe settings editor allows to set the values required for determining the absorption schemes for sugars, regular carbs and e-carbs.

Each absorption scheme consists of three parameters:

  • Delay: The time required by your body to digest the respective carbs, i.e. after this time period they will impact your blood glucose.
  • Absorption time: The time how long these carbs will - once started - impact your blood glucose (this parameter can be entered for sugars and regular carbs only, for e-carbs it will be calculated).
  • Interval: This parameter is only required for exporting the carbs to Apple Health. The total amount of the respective carbs will be evenly distributed over the time period determined by the absorption time parameter, using this interval. Example: Given a 3h (=180min) absorption time and a 10min interval, an amount of 36g will be distributed in 18 chunks, 2g each: 36g / (180min / 10 min).

Absorption Scheme for Sugars

You can choose whether or not to treat sugars separately from regular carbs. If you choose not to, sugars will be accounted for as regular carbs.

Sugars are usually absorbed within a relatively short period of time. Default setting is 2 hours with a delay of 0.

Absorption Scheme for Regular Carbs

If you have chosen to treat sugars separately, they will be substracted from the regular carbs.

Regular carbs are usually absorbed slower than sugars. Default setting is 3 hours, starting with a delay of 5 minutes.

Absorption Scheme for Extended Carbs

Extended carbs are not really carbs, but rather Fat-Protein-Units (FPUs), but they impact blood glucose just as if they were. As they stem from fat and proteins, which first need to be digested by your body, they will impact your blood glucose rather late (default setting is after 90 minutes).

The duration of impact is determined by the following absorption scheme, which matches today‘s recommendations from nutrition science:

  • 1 FPU: 3 hours absorption time
  • 2 FPUs: 4 hours absorption time
  • 3 FPUs: 5 hours absorption time
  • 4 FPUs: 6 hours absorption time
  • 6 FPUs and more: 8 hours absorption time

This absorption scheme may also be modified.

By default, 1 FPU has a blood glucose impact comparable to 10g of carbs. This ratio can (and should!) be modified, as it is very individual. Especially for children it's recommended to start with a much lower carbs-per-FPU-ratio, e.g. 4 or 5 g/FPU.

The calculation algorithm for the FPU and e-carbs 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, which could for example be 13 g e-carbs if the carbs-per-FPU-ratio was set to 10 g/FPU.

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.

Editing the absorption schemes is only recommended for advanced users, who have experience in FPUs / absorption time. All absorption schemes can always be reset to the pre-defined values.

Alert Period between Apple Health Exports

In order to avoid double exports by mistake (potentially increasing the insulin delivery of your Loop system), EasyFPU will warn you in case you export data withing a given period of time after the last export. This time period can be set here. Default is 15 minutes.

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!

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.