BMW 2.x to 3.0 Migration Guide

This guide has been written to help you migrate from BMW 2.x to version 3.0, and understand the improvements that were made in this new version. 

I) Migrating from 2.x to 3.0

1) Display configuration

Default display settings have changed, however you can change that easily.


There are no longer dedicated settings for those, but you can:

  • tap the settings button on the bottom-left of the status tab.
  • long-press a graph to show extra options (split graph, show history, use coded colors), etc.
  • long-press the text history to show extra options (full history vs % changes only, or mA vs %/h display).
  • tap the %/h or mA column to switch between %/h or mA

2) Main screen = Status tab

By default the status tab shows monitoring status and the source of current mA and battery capacity. You can tap the settings button on the left of the status information to change the tab display (graphs or text history) or make appropriate corrections to data source.

If recording is off, graphs, history, calibration and markers cannot be used because the app is not logging any data. This information will be written in red if so.

3) Battery data recording

Battery data are recorded in real-time (see below for more details) by default or every 10 minutes running on KitKat.

Recording is on by default, however if it is turned off, the display configuration is automatically adapted as graphics/history/etc would have no data to show.

You can change recording in battery / monitoring settings.


Data is now recorded in a database, but you can export/import it from battery settings. This is especially useful when reinstalling the app.


4) Tabbed interface and navigation bar

By default, the app is displayed using tabs and offer a navigation bar. 
You can remove the navigation bar by long-pressing one of its entries and selecting "Removing navigation bar".
You can hide tabs you don't use by long-pressing a tab and selecting "Hide tab".

5) Graphic widgets

The graphic widgets now use their own zoom information and can record data without full battery recording being activated.
You can set the actual graphic widget duration from widget settings. Note that duration will vary with widget sizes (a 4x1 widget displays twice as much information as a 2x1 widget).
If recording is off, you can decide whether graphic widget shows standby time or not. If recording is on, graphic widget will load data from history when needed.

6) Internal notification icon

Version 3.0 no longer offer an internal notification icon, please open notification settings and tap on 'Notification Packages' to download and install an external package, then re-open 'Notification Packages' to activate it. You might have to enable 'unknown sources' in Android settings to have Android install the pack or if rooted temporarily grant root to the app so it is installed automatically.

Pro users can add a notification shortcut to display battery information and also workaround the KitKat kill-bug.

7) Alarms

When updating to 3.0, alarms are all disabled. They can now be configured in the last tab on the right (Watchers) and are now much more flexible.

8) Widgets issues?

Some users have reported having widgets lost during each and every update after migrating to 3.x, or getting duplicate widgets in the widgets list. This has nothing to do with 3.x and actually happens with version 2.x as well, see here for more informationUpdating from 2.x to 3.x will definitely remove all existing widgets from your home screen, but only the first time you update to 3.x.

Widget configurations can be saved (at the bottom of the widgets settings page) so that they can be quickly applied later.

FWIW, Android OS maintains the list of available and added widgets based on a static configuration provided by widget apps. Duplicates or lost widgets are not the result of an app bug.


II) Changes and improvements

1) Battery recording

Battery data are now logged in real-time by default. This allows knowing precisely when % changes, measuring precise %/h and more accurate estimates, while previous version would log every 10 minutes by default, % changes could jump by a few %, making %/h and various estimates less accurate.

Tests have also shown that real-time logging consumes half to a third of the CPU consumed with version 2.x recording at the default 10 minutes interval. See screenshots here for actual measures on different devices.

This change has been made following many user requests and feedback that were not able to get precise % information int the old version.

It was also required for all devices with estimated mA, where the lack of % precision would create discrepancies in mA reported and incorrect battery capacity calculations.

2) Main screen shows recording status and mA/mAh source by default

The app now displays detailed information about recording status and the source of the current (mA) and battery capacity data. This is important because mA data is either provided by Android kernel or estimated based on % changes, and battery capacity is provided by Android OS.

As we received daily complaints that mA or battery capacity was "not recognized" by the app, it was important that the app clearly shows where this data is coming from.

We also received many complaints that the app would not record any data by default (without widgets or notifications) so it is also important to show that information to new and existing users.

3) History in a database

We received many feedback and requests from existing users over the year to make the app follow Android guidelines, hence store data in a database. This also helps improve overall app performance while recording or loading data.

An import/export feature has been added in battery settings for users using the old file on their PC or when reinstalling the app.

4) Graph use theme color by default

We received many feedback and requests from existing users over the year to make the UI follow Android guidelines, hence not show red/green colors in the graphics. Experts can however switch back to the old behavior when desired.

5) History text shows %/h by default

Because mA is not a standard data on Android and many devices exhibit issues, the default is to display %/h instead. You can easily change that from status tab.

6) History text shows % changes only by default

When recording at 10 minutes interval this creates a lot of data and in standby looking at historical data, doesn't allow viewing much beyond a couple of hours. Showing % changes only often allows showing 12 or more hours on a single screen, while mA, temperature and voltage are all showing average, this allows quickly determining drain during those period of time.

7) History markers

Markers have been greatly improved and can now show history statistics for ROM, Kernel changes and also provide an overall summary or detail view.

8) Battery statistics

The app now displays detailed information about wakelock and app run-times and calculate % drained by each app.

9) Calibration

The app now displays the recorded charge cycles and the calculated capacity from each cycle. This more clearly show how the calculation is made and makes it easier to understand. There used to be a lot of request because the old version would not clearly identify used cycles.