• See what's going on behind the scenes at Bimmerlabs - completed and published major changes will show up here. Of course, we are always working on other updates that are invisible to the user.

    #79 N51 tunes! (and GM912 update) v0.9.10 2020-09-26

    Ok, so for whatever reason - lately I've received a ton of requests for N51 tunes - custom or otherwise. Before, these came along so seldomly, it wasn't worth the effort (like 3 a year, maybe).

    I think I got 3 requests today alone. On one hand, I don't have something specific already made. On the other hand, we already have it mapped out, and have an RSA delete available. So, expect an update soon - I haven't gotten to all the requests, but I have seen them and am aware of the demand.

    On the GM912 front, we have 330i flashes available for them - but it turns out, there are two EGS computers with different programs, so we pulled the files until that could be sorted out. Preliminarily, the difference appears to be cars with paddle shifters vs those without - so once that's sorted, expect those to be available again.

    #75 3.0si Transmission flash now available for all 128i / 328i variants with the GA6L-45R transmission! v0.9.06 2020-08-04

    Edit: I have temporarily unpublished the GM1912 files. We found a couple cars that would not take the 0pa required for this calibration. I will republish them again once we figure out which 0pa can be used on those cars.

    Now available for all 128i, 328i, and 328xi variants, expect this flash to improve shift times, better downshifts, and better behavior while holding a gear. Based on feedback so far, "D" mode is much better than stock, and while "DS" could be improved it is still better than the stock 328i calibration.

    A number of people have been asking for transmission flashes for the GA6L-45R 6AT, but this has always been difficult for a couple reasons - one, the GM1912 computer used to control it has compressed code (that can't easily be disassembled). Second, it's protected by a 1024 bit RSA signature, so even if we guessed what the parameters do, without the valid key to sign the file, there's no way to flash this particular module. Also, it doesn't help that I don't personally own or know anyone who has a car with this transmission.

    However, as it turns out BMW did make a couple "high output" N52 cars with this same transmission and computer module - the X3.0si, in particular, which came from the factory with 268bhp vs the 328i, which had 230bhp.

    This is intended to be used with the 330i DME flash and a 3-stage intake, but there's no reason to think it will not work without that. To access the flash, create a project and select the GM1912 as your DME, You will see this file (along with your stock transmission software) in the downloads.

    In the future, I will make it so the TCU and DME selections will be separate and you can run them from one project, but for now you need separate projects for each one. it is not recommended to reset any adaptations after the flash - just drive it gently for a few miles to let it re-learn your calibration, and shift behavior should improve as you put more miles on.

    There is only one warning. You MUST use a quality D-CAN cable (Bimmergeeks) or a genuine BMW ICOM. A generic D-CAN cable has a high likelyhood of permanently bricking your transmission, due to firmware bugs and timing issues (these kinds of cables can also brick other modules on your BMW, such as the CCC/CIC, so they should not be used anyway). I recommend flashing your engine first, which is easier to recover if something goes wrong - and once that's working well, the transmission flash should not be a problem.

    Flashing with any cable other than Bimmergeeks D-CAN or an ICOM is strictly not supported and I will be unable to help you. I can't stop you from doing it anyway, but if you brick your car because you ignored my warning - you're on your own.

    #73 2020 - we're not dead yet! v0.9.05 2020-01-15

    You may have noticed a lack of updates in 2019 - at least visible updates (many upgrades happened in the background). I have simply been unable to be as responsive as I'd wish. For that, I apologize.

    Recently, our security certificate expired. Mostly due to an issue with missing admin notes, accidentally deleted a couple months ago when I discovered Azure had taken up all of the server's disk space with log files. Anyhow, that is now resolved (we always take security extremely seriously).

    Bimmerlabs is not dead or going away anytime soon. It's been several months since I had started working on some major back-end upgrades, which I hadn't quite finished due to some personal/family issues. But we've re-grouped, and this year, we'd like to realize one of the major goals this site always had - namely, eliminating ourselves as the middle-man, and allowing users some ability for self tuning for the most popular models of BMWs.

    This does mean we'll have to scale back our original ambitions. We'll probably never support anything past the E-series BMWs. That's fine - there are millions of E-series cars out there, waiting to be tuned. Also, we'll probably be sticking to WinKFP for flashing, as rolling a flash-app for a phone has proven to be basically impossible (I have had many offers, but no follow through - it's always harder than it appears). For more than a year, we've have a beta stand alone flash app for the PC, but it would only be difficult to ensure it's as reliable as the factory BMW flash software - WinKFP.

    The good think is, WinKFP is actually extremely reliable - it's virtually impossible to brick your DME, even if you try. It does mean we'll be limited to flashing on PCs, and we'll have to work on improving the automated scripts that flash the DME for you. But given we can hardly keep up with the support requests we already have, that's fine too. You're always free to use alternative flashing methods with Bimmerlabs files as well.

    The primary goal in the next few months: complete support for the most common use cases of E-series BMWs. Enable self-tuning, including pre-selected tuning options. The idea is to make the site not rely on me or anyone else having to answer an email; instead you can pick what you want, and the site will develop the tune, or you could access the maps directly. This would cost a reasonable fee, but it will also allow us to continue to run this site. We want the site to be sustainable so that your tuning needs can be met at a reasonable cost, without us getting in the way; benefiting everyone.

    Expect some sort of major update here in the 1st quarter of 2020. Until then, I'll try to answer some of the 3 bazillion emails I've not been able to get to in the last couple months. :)

    #72 Welcome to 2019! v0.8.98 2019-01-17

    It may seem quiet here lately, but we have been extremely busy helping a number of people with their cars - so development on new Bimmerlabs features took a back seat for a while.

    For the first update of 2019, we're adding a feature that allows all users to upload an 0da file and get back a binary. For those of you who have been with us since the beginning, our old binary conversion tool always did that, but few had access to that - now everyone does.

    You could always convert a custom 0da file to binary by just clicking on the "binary" link, of course, but now you can also start with one of the default tunes as your baseline for further modification.

    Expect a constant stream of smaller updates to clean up and finish existing features over the next couple months, which finally will lay the path to release the features we've always wanted.

    Thanks for all the support and have a happy 2019!

    #70 Generate custom files for flashing with WinKFP (or software of your choice) v0.8.97 2018-09-05

    Now anyone with a Bimmerlabs account and a project with a supported DME (see here for a full list) can generate your own custom files for flashing with WinKFP. You can also download them in Binary format for further editing, or to use for flashing with your own tools.

    We have had these tools behind the scenes for well over a year now, and I think it's time to finally make them more widely available. The new upload tool can be found in your Project where you would download free tunes or custom files.

    It accepts binary files (.bin extension), either as a full read or a partial read. Checksums are corrected automatically, and where supported, RSA signatures are generated as well. Most DMEs have mo3 checksum corrections as well, but typically only for the latest software version - basically if you are editing any "monitor" maps, you need the mo3 checksums corrected.

    The new file can be converted to 0da (for WinKFP) or binary - 0das can be downloaded as binary at any time.

    Of course you also need a way to edit these files for tuning - but of course, we are working on that as well!

    Stay "tuned"... ;)

    #69 Download customized files as binary - plus other improvments v0.8.96 2018-08-14

    This is a rather small, but still useful update - now customized files can be downloaded in binary format, which should make tuning cycles faster. Often, I don't keep a copy of a file on my machine, because I work on different computers, and it's stored on Bimmerlabs anyway. But if I want to revise something I have to manually run it through the 0da converter first. Now it will be available right in your project downloads!

    Stock files can already be downloaded in binary format, but I have made a small improvement there as well. To save space in the 0da files, BMW left out areas of memory that are essentially blank, or 'NULL'. But the value of a null byte varies depending on the CPU architecture - for many, it's simply 'FF', but other DMEs use '00' or 'A5' Previously Bimmerlabs would check to see if the null byte is already known (from our database). If that fails, it defaulted to 'FF' because there was no better assumption. Now, it will check for $VALUE_UNUSED_BYTE in the 0da, and if it exists, it will use that.

    Of course, not all daten files have a defined $VALUE_UNUSED_BYTE, so in those cases if it's not known by Bimmerlabs it still defaults to FF. However, we will continue to add new DMEs to our database and eventually they will all be defined (since BMW is no longer adding new DMEs to the daten files, having moved on to a newer system).

    There are several other improvements we're working on for the next versions:

    • A modified file's CVN (basically the checksum) will be made to match the original tune's CVN - this way it will pass inspections where an emissions station is able to check that the CVN matches one from their database. This can make tunes undetectable, unless they were to inspect the hex data itself which is unlikely.

    • Automatic AIF updates for some DMEs - to avoid a common (albeit harmless) 2FA3 error. This may wait until our standalone flash tool is available, since we don't want to use up all the AIF slots for no reason.

    • Updated UI - I want to add a lot more features, but the current design will get cluttered really fast, especially on smaller screens. I want to reorganize the navigation layout a bit to make future additions seamless

    Of course there is way more planned, and with luck we will have most major features in place by the end of the year - hopefully Beta 1.0.00! :)

    #68 New flash tools are coming! v0.8.95 2018-07-19

    Currently, Bimmerlabs relies on WinKFP for most of it's flashing - it works well, and the batch files make it easier, but it's still a pain for most users to get working correctly. This wastes precious time on support and troubleshooting that could otherwise be avoided with a simpler interface.

    We have always considered WinKFP an intermediate step towards having our own flash tools - the ultimate goal is actually no downloads at all (the technology exists to control a USB port through the browser), but we're not quite there yet.

    A Windows based program will be released first - it's already quite functional, but we needed to make some changes to protect our users as well as ourselves. A mobile version will be our next goal, probably for Android.

    How it will work

    We are going to require that our software can only flash files signed by us. The binaries will actually be unencrypted, but a signature will be added to the end that our software will look for. If it's invalid or missing, it will simply refuse the flash.

    The software will also be able to read out your original binary, and flash any Bimmerlabs generated binaries. We will even be able to backup boot passwords and ISNs for certain DMEs (which means they can be cloned). It will automatically configure itself based on your DME as well - so you can't flash the 'wrong' file even if it is correctly signed.

    If you wish to flash your binary with another flash tool, that's fine - just delete the signature at the end of the file. If you need to modify the file, it will have to be run through your Bimmerlabs project first (to update the signature to match the file).

    Why are we using signed files?

    The reason is basically to protect from somebody flashing a 'bad' file to their DME - I have personally bricked my test MSV80 with a bad checksum. Since the file isn't encrypted, you will still be free to do what you like with it (but you will need a Bimmerlabs account to generate it).

    WinKFP flashes will continue to be available for free. And of course, most people do not have access to modify binaries on Bimmerlabs yet - but that will change as we roll our new software out.

    #66 TLS1.0 / Security Upgrades v0.8.93 2018-07-13

    Bimmerlabs will be officially retiring TLS 1.0 security protocol support in order to align with industry best practices and ensure that your data continues to be highly secure.

    TLS stands for “Transport Layer Security.” It is a protocol that provides privacy and data integrity between two communicating applications. It’s the most widely deployed security protocol used today, and is used for web browsers and other applications that require data to be securely exchanged over a network.

    As of July 16, 2018, we will disable the TLS 1.0 encryption protocol, which may prevent you from using Bimmerlabs functionality. To prevent disruption, you may need to upgrade your browser to a version that supports TLS 1.1 or higher.

    Secure Browsers:

    The following browsers support using TLS 1.1 or higher. If you are NOT using these browsers/versions, you may not be able to access some or all of our online services.

    • Microsoft Internet Explorer (IE): Version 11 and higher
    • Microsoft Edge: All versions
    • Mozilla Firefox: Version 27 and higher
    • Google Chrome: Version 38 and higher
    • Apple Safari Desktop: Versions 7 and higher for OS X 10.9 (Mavericks) and higher (7)
    • Apple Safari Mobile: Versions 5 and higher for iOS 5 and higher
    • Google Android OS: Android 5.0 and higher

    How to test your if your browser is compatible:

    SSL Labs provides a compatibility test that can be used to verify web browsers support TLS 1.1 or later:

    If the Protocol Support box on the validation site says, “Your user agent has good protocol support.”, you are all set – no action is required.

    #64 Download ZB# (factory tunes) for your car - as a batch flash, 0da, or binary v0.8.93 2018-06-22

    If your particular model is supported, you can now download the ZB# (factory tune) for your car as a zip file (WinKFP batch flash) or as a binary.

    This can be used as a base file to build your own custom tune, for research, or to back your car up to stock.

    In addition, nearly all models can download the factory files in raw 0da format - From the E36 through the E93.

    #63 Custom tuning, BMW file database v0.8.92 2018-06-20

    There are several new improvements to make Bimmerlabs more useful for me as well as our users.

    The main one is the ability to select a tuner. Of course, at the moment, that is just me - but as this feature is developed, there will be more options (we already have a number of professional & well known tuners registered).

    This key ability lets you choose somebody who can custom tune your car beyond what the 'free' files can give you. From the tuner's perspective, it will allow them to access your project, see the files available to you, data about your car, and also allow them to create files that you can download directly from your project, instead of having to keep track of files on their hard drive or email them back and forth.

    Something coming soon is the ability to download any stock BMW file as an 0da (with batch script for flashing) or as a binary. The database is already built and the files are online - for the most part, only valid files for your project's model will show up (depending on options). So if you want to look at customizing your own file, you can do that for free - or if you want to flash a different stock file, or backup your DME to 'stock, you can do that too.

    Also coming soon is a little bit of an interface revamp to enable additional features such as online tuning. Currently, there's just not enough space for all of the buttons! :)

    #62 Updates to MSD81 & MSD80 support v0.8.90 2018-06-08

    We have always been able to generate MSD80 and MSD81 files (it's similar to MSV80), but we didn't support the mo3 checksums and we hadn't published an RSA delete.

    Now we have full support for these software versions:
    MSD81 INA0S
    MSD81 IJE0S
    MSD80 I960S

    the RSA delete for I960S is forthcoming, INA0S & IJE0S are available now.

    Support for other software variants will be added in the future.

    #60 Bug fix for project file upload v0.8.86 2018-05-22

    Due to changes for the binary conversion/modification tools, backup bins uploaded to a users project were being rejected.

    #49 More disk space added v0.8.86 2018-05-17

    Added 1tb of disk space to support further software upgrades - this space will be used to support our ability to load binary data into the database, support more BMW models, and for future expansion.

    #48 Parameter / Map search tool v0.8.86 2018-05-16

    Added a tool for advanced searches of the parameter / map database - this is an early start to the goal of full tuning of any DME.

    You can search by many categories, including name, description, type (map, curve, value, etc), axis labels, measurements, and variables, plus more.

    #37 MS45.1 M03 checksum support v0.8.81 04/20/2018

    Added parameters & offets for MS45.1, software version 0044570LO00S.

    Added handler for different m03 high/low variable names in MS45 (val_mo3_cal_cks_high & val_mo3_cal_cks_low).

    Revised test case to use 330i zhp bin.

    #36 Added ability to save "notes" to a project or custom file v0.8.80 04/20/2018

    Added "notes" support for projects and custom files.

    Also made the HMTL more consistent between the Project and Files pages.

    #35 Improved 0da/0pa file downloads v0.8.79 04/13/2018

    Added 'README.TXT' with an explanation of the different files for those who missed the help page.

    Added version number and more status messages to the *.bat file

    #34 Improved M03 checksum for Tricore DMEs v0.8.78 04/10/2018

    -Added database entries for MSV80 based on 0049QK0MI20S
    -Improved M03 checksum to support "little endian" byte order
    -added double-long word byte swap
    -updated tests for 0049QK0MI20S and new M03 functionality

    To Do:
    -The "byte swap" code could be optimized
    -Add c_rom_cks_cal_h & c_rom_cks_cal_l parameters for MS45, MSV80.1, MSD80, and MSD81

    #33 NFS Validation tool v0.8.62 01/11/2017

    This tool works just like the one in NCSdummy. It corrects the Intel Hex checksums at the end of each line for any NFS format file (0da, 0pa, or hex) - but it doesn't do any verification or parsing of the actual data (checksums, RSA signatures, etc).

    It's useful if you want to do a quick hand edit to an NFS file without having to run it through the whole conversion tool, or if it's from hardware that is not currently supported.

    #31 Intel Hex record improvements v0.8.61 01/05/2018

    The 0da/0pa importer only worked on certain files (MS45, GKExxx, MSV70, MSD80, etc) - as there are quirks in different BMW files.

    The improved version should be able to parse the extended linear address of any Intel hex record, although there are still issues with MEVD17/MEVD1726 files (and maybe others).

    Now however it is properly reading the addresses on MSS60, so additional work on multi-CPU files can begin.

    #29 Batch files for 0da/0pa Downloads v0.8.60 01/04/2018

    BMW NFS files for WinKFP (0da, 0pa) now come with a customized batch file that should making flashing relatively painless.

    The .bat and .ctl files are generated on the fly, and a zip file is streamed to the user - only the NFS file is actually stored on disk.

    Use of the batch file is documented on the
    help page.

    #20 RSA Signature Check v0.8.39 10/26/2017

    On signature checks, I should probably look at the range actually in the file instead of hard coding it - I have found at least one file now that has a custom signature (with a different range), so even though I calculated the correct sig using BMW's key, it still failed the check.

    Instead, look for the segment pointer, then load the segments for the files (like the python program does).

    10/26/2017 - done
    If rsa.parameter.pointer & rsa.parameter.offset are filled out, it will read the binary file to find the segments. Otherwise, it will default to the hard coded segments (some DMEs, like GKE211, don't have an obvious list of segments like the Siemens DMEs do).

    #5 Change Log v0.8.84 05/01/2018

    Add change log to track updates to the software - show published changes on front page to show progress to users.

    Change log is now live. All changes that are both completed and published will show here.

    This will help us communicate how much work is actually happening behind the scenes to our users - because it's not always obvious.