E-Bike Conversion – Software


It’s been a while since I wrote the posts about my electric bicycle conversion project. The bicycle runs fine so far and I finally finished rewriting the software that configures its controller.

I will not make a long post for this so you won’t get bored. Basically I took the original software which also included all required source files and made it look better, fixed many bugs, improved its operation and added a small help file. Now you don’t need administrative rights under windows 8 and 10 to be able to see the available COM ports. The interface looks more tidy and well aligned and also uses better English. Numerous bugs were fixed, regarding error messages and error checking, communication, parameter limits and so on. I found this program as an open source (including all source files) I am providing it the same way.

Be advised! Doing any changes to your controller might lead to damage. I won’t be held responsible for any kind of damage you might induce to your controller, motor, gears, bicycle or yourself. Do what you like at your own risk! Cycle safe and take care of others on the road!

You can download the program HERE. The file keeps getting reported for violation, so it might get blocked again. I just reuploaded it again. I have no idea who and why is doing this. It can’t be shared on WordPress directly, so I might have to look for new sharing service again.

Latest version uploaded on 16.05.2017 with a few updates. Assist level labels now say Assist, not Assit 😀 The current limit is not active when bike is not connected. This allows you to work with your saved profiles even if you haven’t connected your bike.

Compatibility with BBS##B drives has been confirmed by many users now. Luckily for all, Bafang hasn’t changed the communication protocol.

319 thoughts on “E-Bike Conversion – Software

    1. I can’t test it, but I think others have used it with new versions.

    2. Thanks for the quick reply. I did some more research in the meantime:

      Unfortunately it seems, I’m out of luck. (This will affect very many people.)

      It seems that Bafang changed all its motors from UART to CAN-BUS only (!) in 2021 – before it was a mix of CAN-BUS and UART.

      Here’s a rule of thumb to distinguish an older (UART) make from the one (CAN-BUS) from 2021 onwards:

      – If you have a display cable that is green and round, then you are on UART system (and your tool will work)

      – If your display connector looks like a house drawn by a kid, then your system is CAN-BUS (and your tool will not work, as it is UART based, not CAN-BUS, unless I misunderstood something.)

      This is really bad news for a lot of us, as there isn’t yet a ‘public’ CAN-BUS tool out there. (Seems like BAFANG is now also an almost “closed system” like BOSCH… )

      I’ve also been told that swapping controllers won’t help, as there seem to be changes to the motor itself, not just the controller.

      Just though, I share the information I’ve collected. (Still hope it might not be true, after all, but most likely is…)

    3. That’s good to know. Thanks! My software is only UART and doesn’t support CAN. I am pretty sure similar software for CAN exists, but I guess they didn’t leak it like the UART version.
      These days I would honestly prefer some Bosch, Yamaha or similar motor with torque sensor. They are providing very natural pedaling feeling and more than enough power for climbing hills. The only downside is the speed limit of 25km/h in Europe. This is why people are still looking for hacks to unlock the full speed. If in Europe they used the US limit, almost no one would want to hack the motor controller.

    4. >>> These days I would honestly prefer some Bosch, Yamaha or similar motor with torque sensor

      I agree – tested both BOSCH and Yamaha systems (liked BOSCH much better).

      Ended up buying an “no-brand” disount marked bike for half the price and can live with the no torque pedal assist only with the Bafang in there. It’s a newer M215 (=MM G340.250.C) in there, the follow up model from the BBS01, as I now have found confirmed in other sources, too.

      Payed EUR 1050 a year ago (this year, it’s already 1200 and 1400 respectively, totally the same bike.

      The BOSCHs and Yamahas et. al. START at double the price at least and I wouldn’t have bought an eBike (as I HATE cycling… 🙂

      However, I’m having much fun with this BAFANG bike, cycling and being PAS-assisted… (the factory set support is quite nicely done, these days, I have to say. Would have expected much worse, after trying out BOSCH and YAMAHA eBikes before.

      BTW: The newer model setup by BAFANG all have torque sensors now, even the new “entry link” like the M200, see https://bafang-e.com/de/oem-area/components/component/motor/mm-g210250c for example. (Also CAN-BUS based…)

      End products are much more expensive than the earlier BBS01 based bikes, though. (I would say at least 50% more, might additionally be inflation caused, though).

      Thanks again for the UART confirmation.

  1. when programming bafang assist levels in software. what do you recommend?0-3,05,09 thanks. Cheers.

  2. Bonjour,
    Un ami m’a donné un ensemble avec un moteur BAFANG BBS02 750W, un display DCP18 et câble USB.
    Par curiosité j’ai trouvé votre programme.
    Tout d’abord, je vous félicite pour tout l’investissement et générosité pour des personnes comme moi qui suis profane.
    D’autre part, j’aimerai demandé à vous ou à la communauté les choses suivantes :
    1) Où pourrais-je trouvé des explications sur comment passer du mode Max 5 en mode Max 9 de puissance car via le programme du PC (win10) tout à l’air de se télécharger mais l’afficheur reste pareil ? Est-ce un PB de firmware à télécharger qq part avant de mettre les paramètres via votre programme ?
    2) Dans la partie info batterie, il n’y a aucunes indications, tout est en en jaune avec des tirets ?
    Comment arrivé à connaître les infos de ma batterie, est-ce lié à ma batterie (48V 20Ah) ?
    Pour informations,tout fonctionne bien avec les paramètres de base, le vélo roule sans accrocs mais sans progression linéaire, à chaque changement de mode (ex de 1 à 2, limité à 5 pour le moment…) Je booste à la vitesse supérieure.
    Remarque : quand je me met en unité impériale en mode 5rt sport, je roule vraiment plus vite (57,4 km/h indiqué sur mon Google Maps) alors qu’en mode métrique ma vitesse max est de 38km/h.
    Bravo tout de même pour votre travail même si je reste avec les paramètres d’origine.

    1. I also can’t reply in French.

      I also have a BBS02 750 watt motor and DCP18 display.

      I don’t think we can change from 5 to 9 Assist levels. The way I understand it is; our bikes use levels 1, 3, 5, 7 and 9. It does not use 2, 4, 6 and 8.

      I am sorry, I don’t understand the other issue you have and am not sure what you mean by 5rt sport.

    2. je ne suis pas certain d’avoir compris votre question max 5 a max 9, mais voilà ce que je pense avoir compris, si vous parlez de mode d’assistance et que vous êtes a 5 sur votre display et non a 9 c’est votre display que vous devez programmer afin de passer de 5 a 9 et ce, seulement si votre display le permet. D’un autre coté, le fait de rester a 5 ne vous enlève rien dans l’utilisation de la capacité de votre moteur, le mode 5 utilise les PAS 0, 1, 3, 5, 9 de votre contrôler.

  3. Hello. after downloading that, I only get Besst tool, that goes “front page” and need paswords etc … ? not the configuration tool at all ?

    1. The link in this article works and gives you the tool I made. I just downloaded it myself for a check and it is fine. There is no link here that leads to Besst tool, which requires an account with Bafang as a reseller or e-bike producer or a service center. Here is the same link that you find the article above: https://ufile.io/rojkjhro
      In the zip file you will find source code and the executable in separate directories.

    2. It’s strange, but i just tried the shortlink and were also redirected to the Bafang-BESST-Site. Maybe Bafang pays to google to manipulate that link… …or they are able to hack it by themselves ;-(

    3. I don’t know what is wrong on your side, but I just tried again with three different browsers and not once I got sent to Bafang website. Maybe there is something wrong with your browser settings or plugins. I had something like that happen to me with one website and it turned out is was browser cookies I think.

    4. What you see now is what it should be. Just use the free slow download and you get the file.

    5. Perfect, yes that is the correct file.

      No password request.

  4. i cannot seem to change the current limit in the basic setting tab. it maxes out at 28amps. any thoughts

    1. Perhaps that is the limit of your motor. Check in Controller Info on the right side of the window to see what is the maximum current that your motor reports to the software.

  5. Stefan, I can’t seem to identify the program for adjusting the parameters in my BaFang 750 from the website. There were so many download options I wasn’t sure which one in none of them seemed relevant

    1. There’s only one zip file for downloading from the link. Click on the free download button and that’s it. The file is small so ot doesn’t take more than a few seconds.

  6. I have had the same problem as some where opening the program cuts off the bottom off and doesn’t allow you to see the buttons. How can I overcome this? I have windows 10 with current drivers and have verified display settings and font settings with no luck. Please advise. Thank you!

    1. Check previous comments. Windows OS scaling or custom font is the problem.

    1. I have never tested with this motor and I have no idea if it worked with any version of it. This software was only meant for BBS series.

    2. There’s a setting in the backend programming somewhere that says something to the effect of “SetDisplayActive” or something like that, which means to use the display settings for that action. This means that the controller will let the display over ride Max speed. Meaning, if you change the max speed in the backend settings to say 100mph or whatever, it will never actually write because that other setting says to use the Active Display. If that makes sense. I have never even logged into the settings, but I have been reading a lot in anticipation of my Egg Rider to arrive. But I believe I saw something like this and also came across someone else having a similar issue. Basically, is there is a settings that you can actually change on the display, and your controller states to use display for that value, then even if you come across a spot in the backend where you can physically change it, the other setting that says to default to the display overrides your manual change. Or I could also be completely wrong! Haha. Like I said, I haven’t got a chance to put everything I have been reading into practice yet, but this one sounds familiar.

    3. The software works well with the M400 motorcontrollers on our Tern-Bicycles. Max-speed-settings only take effect with non-custom-displays (e.g 500C). Preprogrammed displays always override controller settings – that’s how bafang make them meet the regulations in some countries.

    4. You are correct. I forgot about the more capable displays which can not only show some settings, but also overwrite some of them.

    5. I assume, that your Motor is build in to a complete bought bycycle. In that case the Lockup is flashed in the Display. Just buy a e.g 500C on e.g. ebay, and programming will be persistent – at least this was the case on our two Tern-foldables with M200. Good luck!

  7. I just purchased a Bafang BBSHD In August 2022. It appears that this application was, or at least the website information is from 2017 (5 years ago). Is this software still current and applicable to my new BBSHD?

    1. It hasn’t been updated, because I don’t have any bew information. Many people are using it with newer motor version with mixed results. I cannot say with certainty if it will work with your motor or not. It should be able to read your current configuration. Writing a new configuration back to the motor controller has been problematic for some people.
      I don’t have BBS motor since end of 2019, so I can’t really do much on the software.

    2. I use the program on BBSHD and it worked very well. Also use on BBS02 750’motor. The program was invaluable as the motors came almost unrideable.

  8. Trying to use your config tool V2 on the hub kit I have just installed.
    When I run the exe it comes up in a window (full screen is blanked out) and I can’t adjust the window size to see the text on the RH Side, there is no slider bars to move the content either.
    Running it in Win7 Pro on a HP Notepad Screen Res 1280×768

    1. It’s an old compiler, which doesn’t work well with Windows scaling. If you are using any scaling above 100%, you will get such issue. Set Windows scaling to 100% and you should be able to see it properly. Another possible reason is using non-standard system font (larger).

  9. Hello, It is able to used with Shengyi ebike motor CMT03, motor uses displey 800S LCD? Thanks.

Leave a Reply to Monty Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.