Bafang Programming – Learn how to improve your Bafang mid-drive ebike

Reprogramming your Bafang mid-drive system can improve the usability and performance of your ebike. The stock settings out of the factory are often not the best settings. You will find that for example, the first pedal-assist setting is way too powerful, or that the speed limits are just annoying. With the help of this guide, you can reprogram your system to better settings with my custom .el file. You can also learn about all the settings and reprogram the system to your likings.

Disclaimer: Reprogramming your Bafang system is not without risk. If you change the wrong settings and you don’t exactly know what you are doing, damage can be done to the controller. You can even destroy the controller in certain cases. So only customize your own settings if you understand what they mean and what the risks are. I am not responsible for any damage that might occur.

Necessary hardware and software

In order to start reprogramming your Bafang BBSxx mid-drive system, you will need a programming cable. You can purchase this cable with this order link:

You will also need to install a driver and the Bafang configuration tool:

Bafang configuration tool:

USB Drivers:

Windows 10 USB Driver:
Windows 7/8/8.1 USB Driver:
Windows XP/Server 2003/Vista USB Driver:

If you have trouble opening the .rar files, download WinRAR:

Bafang configuration tool instructions

If you have purchased the cable, installed the driver, and installed the configuration tool you are ready to go. Now follow the following steps in order:

  • Unplug the battery of your e-bike
  • Unplug the Display cable
  • Connect the programming cable to the display cable
  • Plug in the battery of your e-bike (and turn it on)
  • Plug in the USB cable of the programming cable to your desktop/notebook

You are now ready to start using the configuration tool. If you don’t want to know about all the settings, but just want a better configuration, you can use my configuration. First, you need to download the right configuration for your model. Download the correct file according to your Bafang motor version. If you have another Bafang version you cannot use these files. You will have to follow the rest of the post and change the settings yourself.

Bafang BBS02 500 Watt 36V:
Bafang BBS02 750 Watt 48V:
Bafang BBSHD 1000 Watt 48V:

To use these configurations you need to follow the following steps:

You first need to back up your default settings. If something goes wrong you can always return to the default settings. You do this as follows:

  • Select the COM port that your USB programming cable is connected to. Hitting the magnifying glass will automatically select the correct port.
  • Now click ”Connect”
  • Now click “Read flash” in the right bottom corner of the program.
  • You should now see all your settings.
  • Click ”File” in the left top corner of the program.
  • Click ”save as” and save your file at a location that you can access later if necessary.
  • You now have created a back-up you can use later if problems occur.

Instructions to insert my custom configuration

  • Select the COM port that your USB programming cable is connected to. Hitting the magnifying glass will automatically select the correct port.
  • Now click ”Connect”
  • Now click “Read flash” in the right bottom corner of the program.
  • You should now see all your settings.
  • Now click ”File” in the left top corner of the program.
  • Click ”load” and select the file you downloaded, make sure that you downloaded the right version for your motor (BBS02 750 Watt or BBSHD 1000 Watt).
  • Only change the setting ”Wheel Diameter[inch]” to your wheel diameter, leave the other settings unchanged.
  • Now click ”Write flash” in the right bottom corner of the program.
  • You now have successfully reprogrammed your Bafang system with custom settings.
  • Close the program, unplug the battery, unplug the programming cable, plug in the display cable and connect the battery again.
  • You are now ready to test your new configuration.

If you don’t like these settings and you want to tweak certain settings, you can read the rest of this post and adjust certain settings.

Explanation of all the settings/my recommended settings

All these settings that are recommended here are the same as in the configuration files above. So if you want these settings, follow the steps above.

Settings in the first tab (Basic)

Bafang configuration tool basic tab
Low Battery Protection [V]: 41

This setting will prevent damage to your battery. If your battery voltage drops lower than the number assigned in this setting, the motor will stop working. This way the battery can’t be discharged further. If you have a 48V battery, I don’t recommend lowering this value since it can cause serious damage to your battery. If you have a 52V battery, you need to set this value to 44.

Current Limit [A]: 18 for BBS02 750 Watt, 30 for BBSHD 1000 Watt

This setting will set the maximum current that the controller will draw. In theory, the BBS02 750 Watt version can handle 25A, because it has a 25A controller. I, however, do not recommend setting this to 25. The MOSFETs and the cooling systems of the BBS02 are not really designed for 25A and therefore will reduce the life expectancy of your motor. 18A still gives great performance with plenty of power for most people. If you want insane power, get the BBSHD, this motor has a 30A controller. The controller and cooling of the BBSHD are better than the BBS02. That’s why the setting should/can be set to 30 if you have the BBSHD.

Assist levels:

Now the settings for the assist levels. I recommend setting all the ”Speed Limit [%]” to 100%, this way the motor will only stop assisting when you hit the max speed that you set on your display. I found it really annoying that the motor would stop assisting at different speeds, at different assist levels. The better way of doing it is just to change the power level for the different assist levels. The max speed you will hit in that assist level will then be dependent on the amount of power. This way the bike will just keep assisting with a specified amount of power for that assist level. I also recommend increasing the ”Current Limit [%]” 10% at a time. This way you have amazing control over the amount of power. The ”Current Limit [%]” setting specifies the percentage of the ”current limit[A]” the motor can use at that level. So if the ”Current Limit [%]” is set to 50 in assist level 5, it will use (0,5 * 18 = 9A) max in assist level 5. I recommend the following settings:

Assist Level/Current Limit [%]/Speed Limit [%]:


Speed Meter Type: External, Wheel Meter

This is the only speed sensor that works with the Bafang BBSxx, this setting is the default. So don’t change it to something different.

Speed Meter Signal: 1

The only setting that works is 1, again default. Don’t change it to anything different.

Wheel Diameter [Inch]: custom

Set this setting to your wheel diameter, if your wheel diameter isn’t in the list, then select the one that is closest to your wheel diameter.

Settings in the second tab (Pedal Assist)

Bafang configuration tool pedal assist tab
Pedal Sensor Type: DoubleSignal-24

This is the only setting that works correctly, again the default setting, don’t change.

Designated Assist Level: By Display’s Command

In order to change the number of assist levels with your display set this to ”By Display’s Command”. This is the only setting that makes sense because it’s convenient to be able to change this in the display settings.

Speed Limit: By Display’s Command

In order to change the speed limit with the help of the display you have to set this to ”By Display’s Command”. If you want the e-bike to be limited to a certain speed that can’t be changed on the display, you have to assign a certain speed to this setting. If you want the e-bike to limited to 25km/u, select 25km/u. You then can’t change the speed limit on the display of the e-bike. So this setting can be handy for legal reasons.

Start Current[%]: 10

This setting will decide how much current the motor will draw on startup. It, in turn, will decide how fast the e-bike will accelerate. I recommend 10, because then your drive train won’t be under a lot of strain as you accelerate. If you want higher acceleration you can set this value to 20 or 30. I don’t recommend setting this higher than 20 or 30, then most drivetrains will have a hard time and you can potentially break your controller if you are in too high of a gear.

Slow-start Mode(1-8): 4

This setting will decide how fast the current will increase when accelerating. I recommend 4, because this is a nice sweet spot. If you increase slow start, your start will be really slow and jerky. If you decrease slow start, you will accelerate faster. But you also risk damaging or breaking your controller. So I recommend just leaving it to 4.

Start Degree (Signal No.): 4

This setting will decide after what number of steps the motor will start assisting. I recommend 4 because this results in a responsive system. It also is not too responsive, which is good. If you want the pedal-assist to start the fastest when you just pedal a small bit, change it to 2. Changing it to 0 or 1 won’t work, so don’t do that. The maximum will be 20 (24 is a full rotation). But I don’t recommend setting it higher than 4.

Work Mode (Angular Pedal Speed/wheel*10): Undeterminated

Changing this setting doesn’t do anything noticeable. So leave it to default which is undeterminated.

Stop Delay [x10ms]: 25

This setting will decide how fast the motor will stop assisting when you stop pedaling. If you have e-brakes installed I recommend 25, because it is nice that it won’t stop immediately. And if you want the motor to stop straight away, you just hit the brakes. If you don’t have e-brakes however, set this to 10. 10 is the lowest value that will work properly. If you decrease it even more, the pedal-assist won’t work at all anymore for some reason.

Current Decay (1-8): 8

The lower this setting, the faster the drive unit will decrease power as you pedal faster. You don’t want the power to cut down a lot if you pedal faster, so leave this to 8. This also is the default setting.

Stop Decay [x10ms]: 0

This setting determines the amount of time the system takes to reduce the power when you stop pedaling. I think it’s best that the power goes to 0 when you stop pedaling instantly. This is what you would expect. 0 is again default, so I don’t see a reason to change this.

Keep Current[%]: 80

This is a sneaky but important setting. Keep current will decide to which current your motor will drop. It only does this when you are pedaling at a high rate (so if you have reached a constant speed). Then it will drop to for example 80 percent of the current that is assigned in the selected assist level. So if you set this setting really low, then the motor will assist less when you have reached a constant speed. If you set this setting higher, it will assist more when you have reached a constant speed. I recommend 80% because this gives plenty of power when a constant speed is reached. It nicely compensates for your pedaling power. If you want to pedal more yourself and save more battery at a constant speed, set it to 60%. Anything other than 60 or 80 is not recommended.

Settings in the third tab (Throttle Handle)

Bafang configuration tool throttle handle tab
Start Voltage [x100mV]: 11

This setting will decide after how much throttle movement, the throttle will respond. Leave this setting to 11, changing it can give problems to the response of your throttle.

End Voltage [x100mV]: 36

This setting decides at which level the throttle will stop. If you want a wider range of control with your throttle you can set this to a maximum of 42. I recommend 36, since this is the default and in my opinion, works perfectly.

Mode: Current

This setting decides whether the throttle acts as a current throttle or as a speed throttle. I recommend “current” since this is easier to calculate by your controller. If your throttle responds jerky, you can try setting this to speed.

Designated Assist Level: By Display’s Command

This will decide how many levels of throttle power you will have. I recommend this setting to be the same as the amount of pedal-assist levels. Therefore leave it at ”By Display’s Command”, then it will be the same as what is set on the display’s settings. The setting on the display will set this setting and the pedal-assist setting at the same time. So they always will be equal. Take care not to hit the throttle in too high of a gear in level 9, this can burn out your controller.

Speed Limit: 40km/h

This setting doesn’t imply that the maximum speed with the throttle is 40km/u. The speed limit is overwritten by the throttle, so you will go as fast as you want. This setting works as a sort of cruise control, If you pedal and use the throttle at the same time, the motor will cut off above 40km/u. So you can maintain that speed. So set this setting to the desired ”cruise control” speed.

Start Current [%]: 10

This setting will decide how much current the motor will immediately draw when the throttle is engaged. I do not recommend settings this higher than 10, otherwise, you can wheelie of the bike because of the insane power. You also risk burning out your controller if set too high. If you have a weak drive train or IGH decrease this number even more.

If you have read this entire post, you should have a good understanding of all the settings there are. Still, you should be very careful with all the settings, always double-check before writing. If you take good care, nothing bad should happen and you can really customize everything to your liking. Good luck reprogramming your Bafang system!

If you have any questions, want to start a discussion, or need some support, please use the comment section below. I will respond to you within 24 hours.


  1. Thank you for this great guide, it really did help.

    My set up is a BBS02 on 750watt. It’s an outfitted bike sold complete and done. They said I could reach 27 and so far I cant get there, but to 24 tops. I have programmed to your suggested settings. The wheels are 20in. Am I doing a setting wrong? I have tried to let the LCD control the speed, which I maxed out, and that isnt getting me any more speed.
    Thank you

    • Hi Paul,

      I think that the programming is not your issue, that will probably be set correctly. I think you are not reaching higher speeds because of your gearing and wheel size. 20 inch wheels are rather small, the smaller your wheels, the less top speed. If you in addition to that also have low gearing, you won’t be able to reach higher speeds. I think that the motor turns at maximum speed, but because of the gearing and small wheels, 24 will be the top speed at those gear ratios. What is your biggest front gear? And what is your lowest back gear? If I know these numbers, I will be able to tell you if gearing/small wheel size is your issue.

        • Hi Paul,

          Alright! And what is the gear ratio of this single gear? For example 44T in front – 13T in the rear. Do you happen to know what your ratio is?

          • Hi Giel,

            I Understand your question but will have to look it up and check. However, I think I know what you’re maybe going to suggest… is it to change the chainring? If the answer is yes and the thinking is that it will make me go faster, will that only be true for pedaling or will it also be true for using throttle only?

          • Hi Paul,

            In that case the only option to go faster would indeed be to increase the chainring size in front, or to decrease the lowest gear size in the rear (or both). This would increase both your top speed while pedalling or when using the throttle. The Bafang mid-drive motor is directly connected to the chain, therefore the top speed is directly related to the gear ratio. If you are pedalling or using the throttle doesn’t matter, it will increase the top speed in both cases.

            By the way: What is your current limit? Have you increased that already? Because more power might be able to give your more top speed still, if you haven’t increased this already.

          • Hi Giel, the reply button was to a previous comment for some reason..

            Anyway, I feel like a complete fool. All this time I thought I had the BBS02 but I do NOT – in fact I am not even close.. I have a rear-drive motor (this one:

            I am away from the bike at the moment. Upon receiving this built bike from the company, I was stuck at 15mph. I then used the LCD to get me to 20mph. Then after research and finding this page, I programmed to, for the most part, your settings above and was able to get to 23.

            But my main concern now is I am doing something that I shouldn’t be doing to this, since all my research was for the BBS02 which I don’t have. Do you have any thoughts to my new concern here?

            Thank you!

          • Hi Paul,

            That explains a lot hahaha. Have you been able to program that motor using the programming software? To my knowledge, it’s not possible to program any other motor than the Bafang mid-drives. So I am curious if you were able to do that.

          • Giel,

            The interesting thing is that YES, the programming does indeed “work”. I am able to edit all of my settings, the bike is read once I open the config software. I was able to go from 20mph to 23mph just based on your settings here. So, yes, something is working, but I wonder if I should be messing with it or not.

          • Hi Paul,

            That is very interesting, I have no clue how that worked. My best guess is that changing those settings can’t harm your motor/controller, otherwise the controller would limit those settings anyway. Can you tell me what controller is on your bike? There should be a controller that connects your display, throttle, pas and motor together. If you would like, you can also send me pictures of the motor, controller and bike to:


            I am really interested in that controller, since I haven’t found a hub motor controller that can be reprogrammed like the mid-drive motors. That is just awesome stuff!

      • I’m new to the E-Bike Kit and have purchased a BBS02B, 750W and 52V battery. I would like to know what settings are needed to protect the controller and provide optimal performance when using a 52V battery. Thanks.

        • Hi,

          You can simply use the suggested settings in this guide. The only thing you should change is the low battery protection. You should set this to 44 instead of 41 for the 48V battery. If you want to increase performance further, you can increase the general current limit. The higher you go, the less reliable it will become however. Therefore I recommend 18A, since it is a good compromise.

          • Thanks for the reply. I’ve downloaded the drivers for the USB programming cable but still can’t seem to communicate with the controller. The message from the executable was that no serial connection could be established. The executable did recognize the correct port. I’m using a laptop with windows 7. Any other settings for this ports configuration. Baud rate, etc?

          • Hi,

            Usually when it recognizes the port, it should be able to connect. You should not have to do anything with baud rate, etc. It should be completely automatic regarding this. I would recommend reinstalling the drivers or trying to install another driver that you can find on the internet.

          • Hello to you in your programming table you have 9 level how I should program the table for 5 level. Thank you and good day.

            Hello to you in your programming table you have 9 level how I should program the table for 5 level. Thank you and good day.

            Hello to you in your programming table you have 9 level how I should program the table for 5 level. Thank you and good day.

          • Hi,

            You can use the same settings, you should still increment the power each level. But to answer your question, levels 1-3-5-7-9 correspond to 1-2-3-4-5.

  2. Hello Giel,
    I bought the M620. The set up you explained is the same? Because that ones has a torque sensor instead of speed sensor.
    Many thanks in advance.

    • Hi,

      The setup explained isn’t for the Bafang M620. If it has a torque sensor, the settings will be different. I don’t know for sure if it can even be reprogrammed. I suspect that it can’t be reprogrammed in the same way as the BBS series can like explained in this post.

  3. Just a question for information. I sometimes notice that my gears slip one teath when coming on power. Not often but 2 or 3 times at a 20km run. The gears are aligned good, nothing is bent. I run a XT derailleur with a Sram cassette.
    It makes a noise, not more than that. Is this normal?

    • Hi,

      I suspect this only happens in the highest gear? This is a problem that often occurs on the highest gear. The small sprocket in the rear just can’t take the power and will slip. You can’t really do a lot about this, small gears simply can’t take the high power mid drives deliver on the limited amount of teeth that make contact with the chain. Just try to apply the power gently in the higher gears to prevent excessive wear caused by those slips.

      • Hi Giel, that is correct. I normally try to do this but is not always possible 🙂
        Normally the gear-sensor takes the load off, but when it comes back it sometimes happens.

      • Hello! I apologize for bothering you at this hour, but I have a problem with my bbs02 750w engine ..I used this engine on a Rockrider 27.5 bike and after a few months the error 30 appeared on the display. I changed the settings as detailed above, but it still doesn’t work properly. When I accelerate the speed decreases after a few seconds it is not constant even if I keep the acceleration on and makes a noise … as if the engine does not have enough power. Can you help me with any suggestions?

        • Hi,

          Error code 30 indicates a communication error. This is a difficult error to fix since it can be caused by a lot of things. I therefore can’t really help you with this. I would suggest reading about the error online and trying all the mentioned possible fixes. If all those fixes don’t work, it could be that the controller is simply broken. I have encountered error codes 30 before, where the only fix was to replace the controller. I hope you will be able to fix it without a replacement though! Good luck!

          • Ok. Thank you! I will keep looking and I will try another LCD. (sorry for the second message … I thought the first one wasn’t posted). Have a good night!

  4. I have a bbshd 52v with a 48v battery. My display(500c) show 76% when the battery is full.

    Do you think that flashing my controller with a 48v controller will solve the problem?
    Flashing the motor controller with an 48v firmware controller may i have other problems?
    Thank you for your great job.

    • Hi Vincent,

      The battery percentage read out is determined by your display firmware.

      Your display can be set to 48V volts. This can be simply done in the display menu. So this will solve your problem!

      You can find instructions on how to do this here:

      (Another tip is to go in the programming software and see if the low battery protection is set at 41. This is the correct value for a 48V battery. All other settings should work fine with a 48V battery.)

        • Hi Vincent,

          What do you mean with flashing new “48v firmware”? How did you achieve this? I am glad you were able to fix it!

          • Yes,I just follow the steps in the forum endless sphere.
            I have reprogrammed my controller which was 52v to 48v.

            Endless Sphere
            HomeElectric BicyclesE-Bike Non-hub Motor DrivesSearch
            BBSHD Voltage Problem Firmware Update & Instructions

            Search this topic…
            125 posts 1
            User avataramberwolf 100 GW
            BBSHD Voltage Problem Firmware Update & Instructions
            May 08 2019 3:00pm


            ***EVERYTHING*** I know about this, all the information I have about this, is here in this thread; please don’t PM me for more info (I don’t have any), just ask in this thread, and maybe someone else will know.

            First: You accept all responsibility for performing any or all of the steps below, and if your stuff explodes in a supernova, or simply fails to ever work again, sorry about that, I can’t help you there. 😉

            Assume that performing any or all of these steps will invalidate any warranty you might have (might not, but, it could).

            So if either of the above gives you even the slightest hesitation, stop reading and go ride. 🙂

            If you don’t KNOW that you need this fix, DON’T do it.

            These instructions on updating the Bafang BBSHD firmware, to fix the problem with using 52v packs, were sent to me anonymously. I rewrote them to compensate for filename changes of what’s actually on the first site, and the filename of the actual firmware file sent, and combined the two separate sets of instructions given as they cover the same things in different levels of detail. Some steps have been broken down into individual steps for clarity; not having one of these units I don’t know if I’ve done them right.

            If anyone with the equipment that has done (or can do) the steps finds anything incorrect or insufficient, let me know and I’ll update the instructions, to make this as easy, painless, and foolproof as possible for anyone that needs to do this.

            I don’t know what the “programming cable” itself looks like at the BBSHD end, presumably the same as the Display cable.
            EDIT: here’s a pic of a bafang usb-serial cable:
            bafang programming cable.jpeg
            bafang programming cable.jpeg (14.02 KiB) Viewed 15965 times
            I’ve also included the original instructions at the end of the text file attached to this post (which also contains these instructions).

            The file attached CRR10E4830E105001.1_190413-1.txt will need to be renamed CRR10E4830E105001.1_190413-1.bin because the forum won’t allow a .bin file upload. Alternately it is also attached as a .ZIP file you can extract the .bin file from.
            (60 KiB) Downloaded 978 times
            (19.86 KiB) Downloaded 869 times

            1– Download the file stc-isp6.86.rar from
            (file also attached to this post, or skip step 1 and 2 and download the from the attached file)
            (3.5 MiB) Downloaded 602 times
            (3.54 MiB) Downloaded 1033 times
            2– Extract stc-isp-15xx-v6.86E.exe from that file (using WinRar, 7zip, etc; a google search will locate the appropriate websites for those, and instructions how to use them) and run the program
            3– Insert the programing cable (USB-Serial Adaptor) into the computer’s USB port, and install whatever software it requires. (Note says that FTDI based USB-serial adapters work well, but I assume you MUST use a USB-serial that’s got the right connector for your BBSHD, presumably the round 5 pin green Higo). A COM port (often Com5) will be assigned to the port–if it tells you which one that is, write it down.
            4– Open the STC programing software.
            5– Select “Single Chip Microcomputer Type”:”IAP15W4K61S4” (which is under “STC15W4K32S4 Series”);
            6– Select the Com port that was assigned to your preferred USB-Serial Adaptor. (If you’re not sure which one it is, it shouldn’t hurt to try any of the ones it lists until one of them works)
            7– Change the settings for Max Baud to 57600 and Input IRC frequency to 18.432 Mhz
            8– Press “Open a Program File” (may be labelled “Open Code File”), and browse to the location you saved the attached file CRR10E4830E105001.1_190413-1.bin, and open it.
            9– Plug in the programing cable (using the EB-BUS; one end of the EB-BUS is linked to the EB-BUS cable at the controller, and the display cable at the other end of the EB-BUS is linked to the programing cable);
            NOTE: Presumably this means you follow these steps:
            9a- Turn off ebike battery’s power switch
            9b- Disconnect ebike battery from BBSHD
            9c- Disconnect LCD
            9d- connect round end of USB-serial cable to the connector you just disconnected LCD from
            10- Plug ebike’s battery into BBSHD, but do not turn on the battery power;
            11- Press “Download/Program”
            12- Turn on the battery’s power switch.
            13- You should see the progress bar scroll across if it is successful.

            Presumably when it gives the message that everything is complete, you can then:
            14- power off the battery
            15- disconnect USB-serial from bike
            16- reconnect LCD to bike
            17- power on battery
            18- ride and have fun!

            I have not viewed the following link; presumably it is a video version of these instructions:

            bbshd instructions rewrite.txt
            (3.71 KiB) Downloaded 770 times
            originial (confusing) instructions.txt
            (1.23 KiB) Downloaded 470 times
            Last edited by amberwolf on May 12 2019 3:41pm, edited 2 times in total.
            If you found this advice helpful, supporting contributions are accepted here.

            “if it ain’t broke, improve it till it is”—-Dog-Hauler Cargo eTrike SB Cruiser—-The HI-Lebowski: a Lebowski SMD brain running a zombified Honda IMA Inverter: a HOW-TO guide—-Cargo eBike CrazyBike2—-General Blog
            furcifer 10 kW
            Re: BBSHD Voltage Problem Firmware Update & Instructions
            May 08 2019 6:08pm

            Nice. If I hadn’t gone through the trouble of making gaskets and siliconing in the new controller I’d be tempted to give this a whirl. I imagine you can do it without the controller being installed on the motor but you can’t test it? At least not any way I can think of.
            User avataramberwolf 100 GW
            Re: BBSHD Voltage Problem Firmware Update & Instructions
            May 08 2019 10:57pm

            furcifer wrote: ↑Nice. If I hadn’t ‘

    • My display 500c have different voltage setting ( 36, 48, 52) but all show 76% when the battery is full. It does not affect to the battery read out on the display that should be logical. It seem that the display voltage settings does not affect to the read out.
      Reading on internet looks the read out % depend on de battery voltage and the voltage of the motor controller.
      Which do you thing should be the best solution?
      Thanks for your time.

      • Hi Vincent,

        Is is really weird that changing the setting on the display doesn’t change the read out. This also is the only way to change the read out. So I have no clue why your display doesn’t change the read out. The read out % indeed is related to the battery voltage. Depending on what the display it set to, it will calculate the % according to the voltage. You can’t change the battery voltage. So there really is no other way of doing it than changing the setting in the display, this should just work. Try changing it and turning your bike on and off. It could also be that it needs some time to change the %, when you changed it in the menu. If changing it in the menu really doesn’t work, you will not have any other option of getting it to display the right %. Good luck!

  5. Hi,
    Very much appreciate this site. Here is my configuration

    bike: 26 in full suspension mountain bike (Kona Kikapu Deluxe, oldie but goodie)
    motor: BBS02 mid-drive 48V 750W
    battery: 52V 13AH
    display controller: 860C

    The 860C has a setting for me to change the voltage to 52V (nice).
    I like your pre-done, configuration file but you only have one for BBS02 48V 750W

    1) Can you create on for BBS02 52V 750W or tell me what differences would there be from the 48V 750W configuration settings?
    2) I would be curious if I can just use my 52V battery and change the controller to be at 48V system? The only reason I ask this is because I think that was the default and I test rode it before playing and finding that I can change the voltage to 52V. Nothing seemed to have blown but I only used it for a quick test ride. The idea it to save more battery power by having the motor run as if the battery is a 48V battery.

    Thanks in advance.

    • Hi,

      1) You can take the 48V file, the only thing that you would have to change is the low battery protection. You should set this at 44 instead of 41. So that would be really simple!

      2) The way you describe this is wrong, the controller doesn’t work like that. The only voltage you can change is on the display, which effects the battery percentage indicator. It doesn’t affect the controller itself, it can’t “run” at 48V, it doesn’t work like that. If it would be possible, it would also not improve your range. It would in fact lower it. So you definitely don’t have to worry about that. Just set your display to 52V for the correct battery read out. Everything else will work perfectly fine.

  6. I am unable to get a connection with the controller. I have the cable provided by Bafang that I connect to the display cable as described, I installed the x64 win10 version of the proposed driver. I followed the connection instructions to the letter. When I open “Bafang_Programmer.exe” I see COM3 displayed. The little magnifying glass does not offer me other COM. I click on Connect, I accept the terms, the Disconnect button activates but no link is established from the Read Flash button does not activate. I tried to connect with my desk top instead of labtop and quite the same problem except that COM4 is available when i connect the USB cable. But no connection to Bafang controler.
    Thanks for the suggestions

    • Hi Clement,

      If you follow all the steps it should just work, therefore I don’t know what is causing your problem. It sometimes help to try another computer, but you already did this without success. It could also be a faulty controller, which can’t establish a connection. I would suggest trying yet another pc and trying to install the drivers again on the pc you already tested with. If that all doesn’t work, it could be the case that the controller is faulty.

    • Hi Clement, if can help you, i got the same problem, i installed the iobit driver booster software,(no sponsor off software, just worked for me), it update my bafang driver and worked. Hope it help you.

  7. Hi Giel.
    I have a BBSHD with a 48v battery, Gates belt drive, and Sturmey-Archer internal 5-speed hub. Since day 1, when using PAS, intermittently my chain wheel loses all tension causing the crank to spin about 180 degrees before the tension comes back. Could this be caused by an issue with my torque sensor?

    • Hi,

      Having such a high power motor connected to a belt drive is tricky in general, which could result in all sorts of trouble.

      The Bafang BBSHD doesn’t have a torque sensor, therefore it ofcourse also can’t be faulty.

      The BBSHD uses a cadence sensor. This sensor being faulty is unlikely. If this would be the case, other behaviour would be expected.

      Try to see if your belt has enough tension in the first place. If it would be tight, it would be unlikely that it would lose tension while using the pedal assist.

      Does it happen all the time? Or only when you are really pushing it? (High power)

      • Hi Giel.

        This could happen while I am taking it easy peddling on a flat surface in 5th gear with the PA set to 1. Yesterday, I took the bike for a ride and could not use the third gear because of the slipping. I tried the throttle going up a relatively steep hill and could hear and feel like the hub gears were slipping. I have a feeling that the issue has nothing to do with the motor and is being caused by a problem with the gears in my Sturmey-Archer internal hub.

        • Hi Ryk,

          It indeed is more likely that it’s a problem with the gears inside your Sturmey-Archer hub. IGH’s often are not built to withstand the huge amount of power mid-drives motors can throw at them. Therefore it could be possible that you destroyed your IGH with the power of the BBSHD. That would be really unfortunate for you, but it could be possible. If that is the case, be careful with deciding what the replacement should be. There are only a few IGH’s that can withstand the power of a BBSHD/BBS02, most of them will simply won’t be strong enough.

      • Your programming instructions above are excellent i’m having problems with downloading the .ie file for the bshd 1000w motor. I’m I correct in saying the only difference for the bshd is the 30A (current limit setting) and therefore all other settings can be manually input the same as your description.

        • Hi Gerardo,

          Unfortunately, there was an issue with the download links, this has been resolved now. Thanks for letting me know.

          The second statement is sort of correct, in theory, you can do this. In order to make use of all the power that the BBSHD has to offer though some other settings can be increased as well. Such as start current and slow start. So you can absolutely only change the current limit and have the same recommended settings for the BBSHD. This way you won’t utilize all the power, therefore you can look at the download links that are now working again.

  8. Unusual problem. Only in first gear when applying throttle the engine cuts out until applying more throttle, then cuts out again, until max throttle is applied. Is this a controller programing issue or possibly a battery pack issue. Battery is 5 years old but seems normal, issue only started after replacing old burnt out controller with a new Luna controller. Maybe I need to adjust something in the programing? Thanks.

    • Hi,

      It’s not a familiar problem for me. It is interesting that it only started after the controller swap. Can you still read the old controller? In that case you can transfer the exact same settings.

      It doesn’t sound like a battery issue. If that would be the problem, the display would cut out as well. Next to that, the problem should also be present before the controller swap in that case.

      I however also don’t see how any programming setting could cause this behavior. But getting the exact same settings on there as the old controller is definitely something that you should try first.

  9. Hello and thanks for the info on programming! I just got a Biktrix Stunner and the throttle is not like my old RadCity rear direct drive. I want max available throttle but still VARIABLE on all PAS. I either get “all or nothing”throttle if I set to the throttle to recommended “Designated Assist 9” or the default Biktrix settings which pairs a throttle limit to Pedal Assist level. Any way to increase the throttle to max on all PAS but keep it variable?

    • DISREGARD– I just set it to Speed instead of Current on Throttle: Designated Speed 9 and now it’s variable!

      • I have the 1000w Ultra with “thumb throttle” and find it quite an “ON” or “OFF” thing. Do you mean setting it to speed gives you a more controlled range on the throttle?

  10. Hi,

    I’m having trouble getting started. The config windows are too small and I can’t access all the settings. The window cannot be maximized. Am I crazy? Is something corrupted? Please help! Thanks!

    • Hi Robert,

      I have never heard of this issue before. Are you using a 4K monitor? In that case, it might help to set your monitors resolution to 1920×1080 instead. If not, still try a different monitor resolution, this might fix the window issue you have. I however have never heard nor experienced such an issue.

      • Hi Giel,

        Thanks for your reply. I’m on a very old PC laptop running Windows 7. I’ve been a Mac guy for years so I had to dig up some old hardware. I tried adjusting the resolution, but that didn’t help. I’ll try to get my hands on a newer PC. I really want to make these improvements to my bike!


      • Hello.

        Maybe somebody know the answer to my problem. I have a bafang 750w mid drive motor and sometimes the motor dosent stops after i stop pedaling. Its stops only when i use the brakes to stop the motor. Did anyone had the same issue or any advice?

        • Hi,

          You should check the settings: start degree and stop delay. Check if these settings are set to my recommended values. If not, try to change them to these values. This might fix your issue.

  11. Hi there, i have the Bikonit MD1000, it’s a 1000w ultra mid drive with an IGH. Will it be ok to use the settings you provide or should i change anything else in the settings or reduce any of the settings?

    Thank you for working all this out and sharing! It’s much appreciated! 👍

    • Hi Terry,

      Yes you can use the settings that are provided. The max current for the Bafang Ultra is 30A. So do make sure the current limit is set to 30A. Also make sure that the cut-off voltage is set to 41V (if you are running a 48V battery).

      The Bafang ultra is really powerful, you therefore might want to increase some settings, to get more power. The settings that I recommend could be a bit to conservative for the Bafang Ultra. Just test some settings, if you for example want more acceleration power, change the corresponding setting.

      All these settings are explained in my guide. You will be able to tune your bike exactly to your liking using this guide.

      • Yes I’m running 48v. It has the Sturmey Archer IGH 5 speed. I’m still waiting on my cable arriving so I’ll let you know how I go. Thanks again for sharing, it really is much appreciated! 👍

      • Another thing I’d like to ask you about is wheel size. The setting on my display(DPC-18) from the factory is 29” but my bike has 26” x 4.8 MAXXIS tyres. Is this correct or should I change it to 26” or leave as is?

        • Hi Terry,

          You then should definitely set it to 26 inch. You should match it with your bike, otherwise the speed measurement will be incorrect. So yes, definitely change this.

          • Doing it now, will be interesting to see if i notice a sizeable difference in the reading. My programming cable will be here Thursday so you will probably be sick of silly questions from me by Thursday evening. Lol
            As always, thank you very much for your help my friend. 👍

          • For a fat bike the wheel diameter is close to 29 inches, this is what’s suggested, set it to kmph and change the wheel size to 18″. Doing this will show the correct speed in mph although it shows kmph on the screen it’s actually mph now with this change.

          • I’ve been reading about programming my bike a bit more the last day or two and i’ll probably go for tuning my bike this weekend. there’s a ton of stuff to read up on the internet!
            The weather is supposed to be “so so” over the weekend too so hopefully i’ll be able to tune it, then try it and adjust as required. There may be a lot of that back and forth till i get it right. LOL
            It seems the Ultra can really be tuned quite a bit more than what it comes from the factory.
            Have you tuned an Ultra yourself before?