A Hacker’s Guide To Programming The BBS02 & BBSHD

BBS01 Controller1-500x500

One way that the BBS02 middrive unit shines over other competition like the Bosch is the ability to program the controller yourself. Although the process of programming the controller will void any warranty that you got with the unit, to many people the risk of voiding their warranty is outweighed by the possibility of getting more performance or having the PAS settings more to their liking. There are 3 settings that most reputable resellers of the BBS02 will set for you.

  • Low Voltage Shutoff (in Volts)
  • Limited Current (in Amps)
  • Speed Limit

Update: The BBSHD is programmed the exact same way as the BBS02 with the exception of the Limited Current (Amps) which should be set to 30 not 25.

Many US vendors will be resistant to remove the 20mph speed limit as that may make them liable for any accident you are in with their motor. The BBS02 at 750Watts is really only powerful enough for about 25mph or so on level ground, although with a 52T chainring on a downhill stretch I have reached 40mph. At higher speeds your batteries get used up very fast.

It can be somewhat confusing as many of the settings on the drive controller have a setting of ‘By Display’s Command‘ which means the controller on the drive until will defer that setting to whatever the display is set to. There are 3 different displays which all have different settings on them and ways to set different variables like wheel diameter, speed limit and PAS levels. For instruction manuals for all three display types look here. The C965 and C963 are generally set to 5 PAS levels, although the C961 is easily set to 9. You can also adjust the C965 PAS levels up to 9. The last page after the Password has been entered is the PAS page, it can be adjusted up to setting “0-9”.

Your controller will have silicone all over the connectors and will be far less pretty than this one.

Your controller will have silicone all over the connectors and will be far less pretty than this one (notice I didn’t say ugly, I hated being called ugly when I was a kid).

Before you start programming your controller, here are some important quotes from Paul at em3ev.

  • “The PAS functions like a switch, it either assists at a certain speed and current percentage or it doesn’t. It is on or off. The motor does not know how hard or how soft you are pedaling, it is not assisting you, it is not reacting to your behavior. It only knows that you are pedaling or you are not. The only change in the so-called assistance, is because the motor has been moved to a different point on the motors power curve and that is not a programmable parameter, it is just a case of pedaling that bit closer to the no load speed of the motor/controller combination, where the motor will deliver less torque and therefore less power. That is why the PAS settings are best left pretty much like they come from the factory, with gradually increasing speed and corresponding increases in current values too, as you go from steps 1 through to 9”
  • “Users can change the LVC, change the current level (reduce it preferably)”
  • “Users can also change the speed limit to be controlled by the display (but that does leave the kit more liable to blow).”
  • “Setting the throttle to 100% and without speed limit is what everyone wants, but is also a good way to blow the controller.”
  • “Once anything is increased, or the response is made faster, the controller is more liable to blow. Setting every PAS level to 100% is a terrible idea.”
Comes in a wide variety of colors, I recommend black for stealth. You don't want to draw attention to the drive unit.

A smaller chainring is critical for singletrack riding controller conservation. I prefer the 34T Raceface narrow\wide ring.

The biggest problem with the BBS02 is when it is turning under too much load at too low of a speed. The best way to keep the motor spinning fast is to get a smaller chain-ring and to make sure you are in the right gear for any hills you want to climb. The surest way to blow your controller is to use full throttle in too high of a gear on a hill where the pedals are turning too slowly. If you use a large chain-ring on your commuter (mine is a 52T because I like to go fast) make sure you shift down into a lower gear before coming to a stop even on level ground so you are not repeatedly trying to start moving in too low of a gear. Your pedaling cadence should always feel normal to fast, especially on hills.

Another strong recommendation for not frying your controller is to install a temperature probe. Instructions on how to do this are here and it takes about 7 minutes to do and costs $2 shipped.


A $2 temp probe can save your $80 controller and a lot of headaches.

In order to program your BBS02 you will need a windows PC with a USB port, a programming cable (from Empowered Cycles) and the software. More info on those three items can be found in this article.

Clicking READ FLASH or WRITE FLASH buttons changes or reads values from all 3 tabs at the same time. You should always click READ FLASH, then FILE->SAVE as a .el to make a back up copy before making any changes to your current settings.

There are 3 pages of programming variables. You can click READ for each page but it will only load the current settings on the controller on that page before you change them. Sometimes the serial connection is unreliable and a variable will have a totally wrong setting or garbage in it. I suggest clicking the READ button twice before you start changing the settings to make sure it read the controller settings correctly. I’ve never had garbage persist through 2 READ clicks, it always seems to get it right on the 2nd try. When you edit the variables you want you will then need to click the WRITE button for each page you change or WRITE FLASH for all pages. I would click the READ button again on each page after waiting a few seconds to make sure that the settings you changed were actually written to the controller firmware when you clicked WRITE.

Looks Ghetto and is oh-so-short but it works every time.

Programming cable that plugs into the display port of the BBS02 from Matt at EMPowered Cycles

Variables are color coded based on how safe they are to modify

  • Green variables are safe to change
  • Orange variables can be changed but there is some risk
  • Red variables should never be changed unless you know something that I don’t

The color of the variables are what defaults from various drive units as well as the .el configuration file for each vendor. You must save the file to your drive then rename it from .doc to .el then FILE->LOAD it directly into the Bafang program. All variables will be automatically set on all three pages and you need only to WRITE FLASH to write it to the controller.

  • Black is for em3ev settings. .el File is here
  • Blue is for Lectric Cycles e-RAD settings.
  • Brown variables and text is EMPowered Cycles settings & quotes. .el File is here
  • Purple variables and text is Kepler from Endless-sphere’s settings & quotes. .el File is here
  • Aqua variables and text is Karl’s special sauce, which are pretty much the only settings I ever use. The .el file for the BBS02 is located here and the BBSHD is located here.

These .el files are designed for the BBS02 but work just as well for the BBSHD. If you use them with a BBSHD make sure to change the Limited Current(A) on the first page to 30 amps. You do not need to lower the amps on the BBSHD, it can do 30 amps all day long without breaking a sweat.


Special Sauce Basic Settings

Special Sauce Basic Settings for the BBS02, the BBSHD would want 30 Amps

Listed below are the settings and what little we’ve learned about them. This article will be updates as we experiment more.

Low Battery Protect(Volts): 41/41/41/41 to 43/41 – This number will change based on the pack size and configuration. Most likely your battery will have a BMS that will shut off power when it gets too low. This setting is mostly useful when you are running a battery setup without a BMS which is not advised. Kepler notes,

“I use 43V on my 14S 4P 18650 pack setup”

If you are running a 48v nominal pack you’ll want to set this a lot lower (like 38v) to keep the drive from shutting off when the pack still has a little juice in it.

Limited Current(Amps): 25/25/18/18 to 20/25 This sets the power level that the drive unit will pull from the battery pack. Be aware that just because it is set lower, does not mean that it will not draw more amps for brief periods. If you don’t want to stress the BMS you may want to set this number lower than you think it should be by 2-3 amps then slowly increase it over time if your $15 watt meter shows that it is not pulling too much power on a regular basis. This variable will be set lower than 25 if you have a BBS01 or a BBS02 with a lower power level rating than 750W. If this is set lower than 25 from the factory you CANNOT RAISE it safely unless you are sure it is a 750 Watt unit & controller and your battery can handle the draw (it should say on the bottom of the unit). Matt from Empowered Cycles has this to say:

 “I recommend 18 amps in most cases.  You still get amazing performance, prolonged controller life, more charge cycles from your pack, more range on your rides. If you have an internally geared hub, I recommend 15 amps and changing the “start current” on pedal assist and throttle all the way down to the lowest setting of 1. Even at 18 amps the 750 watt motor keeps up with an 8T geared MAC hub motor that is pulling 1500 watts. You do not need 25 amps for this motor to perform.”

Kepler has this to say

“ I agree that 18 amps is a good all-round setting.  I then rely on the Limit Current Assist level to fine tune the max power best suited to bike.”

If you have a BBSHD make sure that this is set to 30 and no lower.

Asst0 Limit Current(%): 1/0/0/100/1 – This is the setting for the PAS at level 0. The throttle might not work in PAS 0 unless this is set to 1 on more recent controllers. You must set limit speed to 1 as well as well as setting the Designated Assist to 9 on the throttle page.

Asst0 Limit Spd(%): 1/0/0/1/1 – At power level 0 causes the controller to lower current gently to maintain motor rpm when 44% of speed limit is hit. Speed limiting is done based on motor RPMs not road speed. The throttle might not work in PAS 0 unless this is set to at least 1, it is really nice to have a hand throttle setting without any PAS intervention.

Asst1 Limit Current(%): 52/20/52/10/52 – Power cut based on road speed at power level 1.

Asst1 Limit Spd(%): 44/44/36/100/44 – Power cut based on motor RPM speed at power level 1.

Asst2 Limit Current(%): 58/20/58/20/58 – Power cut based on road speed at power level 2 if set to 9 power levels.

Asst2 Limit Spd(%): 51/51/44/100/51 – Power cut based on motor RPM speed at power level 2 if set to 9 power levels.

Asst3 Limit Current(%): 64/30/64/30/64 – Power cut based on road speed at power level 3 if set to 9 power levels.

Asst3 Limit Spd(%): 58/58/52/100/58 -Power cut based on motor RPM speed at power level 3 if set to 9 power levels.

Asst4 Limit Current(%): 70/40/70/40/70 – Power cut based on road speed at power level 4 if set to 9 power levels.

Asst4 Limit Spd(%): 65/65/60/100/65 -Power cut based on motor RPM speed at power level 4 if set to 9 power levels.

Asst5 Limit Current(%): 76/50/76/50/76 – Power cut based on road speed at power level 5 if set to 9 power levels.

Asst5 Limit Spd(%): 72/72/68/100/72 -Power cut based on motor RPM speed at power level 5 if set to 9 power levels.

Asst6 Limit Current(%): 82/60/82/60/82 – Power cut based on road speed at power level 6 if set to 9 power levels.

Asst6 Limit Spd(%): 79/79/76/100/79– Power cut based on motor RPM speed at power level 6 if set to 9 power levels.

Asst7 Limit Current(%): 88/70/88/70/88 – Power cut based on road speed at power level 7 if set to 9 power levels.

Asst7 Limit Spd(%): 86/86/84/100/86 – Power cut based on motor RPM speed at power level 7 if set to 9 power levels.

Asst8 Limit Current(%): 94/80/94/85/94 – Power cut based on road speed at power level 8 if set to 9 power levels.

Asst8 Limit Spd(%): 93/93/92/100/93– Power cut based on motor RPM speed at power level 8 if set to 9 power levels.

Asst9 Limit Current(%): 100/100/100/100/100– Power cut based on road speed at power level 9 if set to 9 power levels.

Asst9 Limit Spd(%): 100/100/100/100/100– Power cut based on motor RPM speed at power level 9 if set to 9 power levels.

A quick note on power levels. If your display is set to only use 3 power levels then the controller uses settings for Asst1, Asst5 and Asst9 and ignores all the rest. If it is set to 5 levels than it ignores every other power level setting (but uses Asst1\3\5\7\9). On the C963 display I have still not figured out how to set the display to 9 power levels, so you may be stuck with only 5 PAS power levels with that unit.

Wheel Diamter(Inch): 26/26/26/26/18 – Set this to whatever your wheel diameter is. I always set this number so that if the display is set to show kph that it really shows mph instead. For a 26″ fatbike tire that is about 18″.

Speed Meter Model: ExternalWheelMeter / ExternalWheelMeter  ExternalWheelMeter / ExternalWheelMeter / ExternalWheelMeter – As far as I know this is the only speed sensor that is set up for the BBS02

SpdMeter Signal: 1/1/1/1/1



passpecial sauce

Special Sauce PAS settings, the Bafang factory settings are unusable & dangerous


This page is for the Pedal Assist Settings. Change conservatively, make small incremental changes and test rather than large ones.

Pedal Type: DoubleSignal-24 \ DoubleSignal-24 \ DoubleSignal-24DoubleSignal-24 \ DoubleSignal-24 – Unknown

Disignated Assist: By Display’s Command \ By Display’s Command \ By Display’s CommandBy Display’s Command \ By Display’s Command – This setting if set will override the Limit Speed setting on the Basic Tab and also overrides the speed limited on the Basic Tab.

Speed Limited: By Display’s Command \ By Display’s Command \ By Display’s CommandBy Display’s Command By Display’s Command Cuts power when the road speed from the mag sensor hits the number set here. If set to By Display’s Command then it uses the Display’s set speed limit.

Start Current (%): 10\50\40\30\10 -This variable is vital for not killing the controller. The lower the Start Current is set the less power is directed to the PAS system upon startup, this will create less strain on the controller when starting from a standstill, especially if you are in a gear that is too high. 100% Start Current will peak at well over 1kW draw. With Kepler’s settings this should be set to 30% or less. This can be set all the way down to 1, very useful for IGH bikes and for people wanting a more gentle start

Slow-Start Mode(1-8): 3\4\5\6\4 -Controls how quickly the power ramps and how much it overshoots. If this variable is set too high the PAS start will be jerky, if set too low you risk blowing the controller as with Start Current above. If you are in too low of a gear to start and this variable is set too low it can blow the controller.

Startup Dgree(Signal No.): 4\4\4\4\2 – The number of sensor steps before the start up commences. The maximum accepted is 20. 24 is a full pedal revolution. Too few makes start-up occur with too slight a pedal movement. Lower number is less pedal movement to start the motor. Does not work properly with 1 or 0.

Work Mode (angular Speed of Pedal/wheel*10): Undeterminated \ Undeterminated \10\10 \ Undeterminated — Adjusts the amount of power that can be applied to each pedal rotation. The higher the number the greater the power applied to each rotation. This might affect at what rpm peak power sits in PAS operation, changing it doesn’t seem to be noticeable so we advise to leave it alone.

Time of Stop(x10ms): 25\25\25\25\10This affects how quickly the drive stops after you stop pedaling. Some people report that setting this lower (as low as 5) may affect the startup delay on the throttle. If you set it to 0 the PAS system ceases to work. 25 is probably too high. This setting disables the PAS if it is set less than 5. I strongly recommend setting this to 5, especially if you want to use the PAS system without using ebrakes. If you set this less than 10 on the v2 of the BBS02 controllers then your PAS will not work properly at all. On the older BBS02v1 controllers and the BBSHD controllers you can set this as low as 5 before you start having issues with the PAS.

Current Decay(1-8): 4\8\6\8\8 – Determines how high up the pedal cadence rpm range it starts to reduce power, 8 being the highest. There is no detail on actual rpm speeds for the Current Decay setting. The lower this setting is the sooner the drive unit will start cutting back on the power as you pedal faster.

Stop Decay(x10ms): 0\0\0\20\0 – The amount of time the system takes to cut after pedaling stops. Lower is faster. Kepler says, 

“I prefer a smooth stop transition.  It is still quite quick to shut the drive down when you stop pedaling”

Current Decay settings mapped vs Power. Image from Ken Taylor on ES

Current Decay settings mapped vs Power. Image from Ken Taylor on Endless Sphere

Keep Current(%): 60\60\60\60\80– What this setting does when set at 60% is ramp the current down to 60% of the PAS level selected based on pedal cadence rpm, so at low pedal cadence you get 100% of the level selected but as your pedal cadence increases the power is reduced down to 60%. As you pedal faster the motor does less work down to whatever this number is set to (60% of max current or 15 amps on 25 Amp system).


Special Sauce Throttle Settings. Kid tested, mother approved.

Special Sauce Throttle Settings. Kid tested, mother approved.

Start Voltage(x100mv): 11\11\11\11\11 – The is the throttle input starting voltage, the point at which the controller responds to input is at 1.1 volts, so set value to 11 which = 1.1 volts. As you begin to roll on the throttle the voltage moves up from zero and when it reaches 1.1v the motor begins to turn. Best to leave between 10 and 15. Too low and the display will throw an error as the motor will want to run continuously. If you change the throttle you will need to find the new lowest setting.

End Voltage(x100mV): 35\35\42\35\35 – You can set the max range to 42 which is the max input the controller accepts from throttle input 4.2v. If you set lower than this value your throttle response is not as linear or smooth as it could be. Matt suggests you set start voltage to 11 and end voltage to 4.2 for a wider range of throttle response and smoother control of motor output. If you use an aftermarket throttle you will need to test to see what voltage the hall sensor throttle is giving off at full throttle and set this number slightly lower than that voltage shown on the meter (times 10).

Mode: Current\Speed\Speed\Current\Speed – Switching this to Current Mode (instead of Speed mode) has an improvement in the throttle response smoothness. If you change this then set the Start Current % on this page to 10 or less. Personally I prefer the intensity of the speed setting, although setting this to Current will be much easier on your controller. Some users of the newer BBS02’s say that the CURRENT setting can cause jerkyness with the throttle, in which case you should set it to SPEED mode.

Designated Assist: 9\9\9\9\9 – If you disable the PAS system (step 5 here) then this will give you the same number of levels of throttle power as PAS settings. If you don’t disable the PAS system then you should probably set this to 9. If your bike is in a rental fleet and don’t want to deal with fried controllers then you should set it to something much lower like 6. This setting if set will override the Limit Speed setting on the Basic Tab and also overrides the speed limited on the Basic Tab. If you set this to 9 be aware that you can and will fry your controller if you are in too high of a gear on too steep of a hill and you peg the throttle.

Speed Limited: By Display’s Command\40KmH\40KmH\40KmH\40KmH – Cuts power when the road speed from the mag sensor hits the number set here. If set to By Display’s Command then it uses the Display’s set speed limit. However this setting can sometimes cause severe Throttle lag in PAS0 so if you set it to 40km/hr the 2-3 second throttle lag should disappear.

The speed limit only applies to the PAS and in ignored by throttle input, so in other words, if you want to go past the speed limit, just use the throttle. This is a setting that allows the rider to set a pace or cadence when using pedal assist for a comfortable steady pace. Almost like cruise control, when you begin to go past the speed, the motor cuts out to maintain a lower speed.  It is a useful way to extend range. The max speed limit of the display is 45 mph.

Start Current(%) : 10\10\10\10 to 20\10 – Percentage current of available when throttle initially applied. Unwise to raise beyond 20, but fine to lower, however motor will give less power when the throttle is engaged. If you set the throttle Mode to Current (which I think you should) you will want to lower this number substantially or it will be very jerky on startup. 5-10 gives a much smoother startup. This can be set all the way down to 1, great for IGH bikes and smoothing out power delivery.

So what do you recommend?

For smooth throttle control and less delay the Current Mode on the Throttle Handle Tab is the way to go, but you should keep the Start Current % low (below 10 is safe) otherwise the throttle is far too jerky and wheelie prone. If you want max power and torque then set the Throttle Handle to Speed Mode.

I have 8 BBS02 controllers from various manufacturers and I’ve only had one controller failure from the first one I bought from elifebike. The two I have bought from Lectric Cycles and all the ones I have bought from Paul and Doug at California-Ebikes (which both use em3ev’s settings) have given my absolutely no problems. The Lectric Cycles settings has a jumpy throttle and a little throttle delay which could be corrected by switching the Throttle Mode to Current. I have hundreds of hours beating the living piss out of my drive units with em3ev’s and Lectric Cycles settings with no complaints and no controller failures. At this point I’ve set all my drive units to the “Karl’s Special Sauce” settings which is the only way to fly if you want max throttle power without blowing your controller and PAS that actually is usable.

There are plenty of people who say Kelper’s settings are very reliable, but I have not tried them yet so I cannot say. I would not advise using Kepler’s settings at a full 25 Amps, as you are asking for trouble. 100% Limit Speed at every PAS level at is going to put a serious load on the cheap-ass controller mosfets.

In some ways it’s great that we can get into the software and change so many of the settings for the BBS02. Along with this flexibility comes taking responsibility for the controllers and drive units we end up destroying by tweaking the settings. This guide is a way to share information that others have discovered the hard way, but by no means is definitive. All the information here could be wildly inaccurate as no one that I know of has gotten any real technical guidance from Bafang on how to program these units at all.


It broke, I fixed it with mosfets that didn’t totally suck. You can too if you visit here and are good at following instructions and soldering.

Program at your own risk. Don’t program your controller, fry it, then try to get it replaced under warranty pleading innocence. If you fry your own controller then have the common decency to spend the time and energy to fix it yourself or just suck it up and buy another one. Paul has had so many problems with people ripping him off by custom programming and frying their controllers and then trying to get free warranty replacements that he no longer warranties the individual controllers. Can you really blame him?

This article is the culmination of many hours of work and was contributed to by Paul(cellman) from em3ev, Matt from Empowered Cycles, kepler and drprox from Endless-Sphere and this insanely long 37+ page thread on ES. Many thanks to everyone who contributed. I could have done it without you but the results would have been really laughable.

Ride On.

UPDATE: A hacker from Norway named Penoff used the source code and completely rewrote the Bafang programming software. All the settings are the same but the software that Penoff has written fixes a lot of the annoying bugs (like the com ports not showing up properly) and works the way the original Bafang software SHOULD have worked. I’ve tested it pretty extensively and emailed back and forth with Penoff who seems to be a stand up guy. If you want to download his application you can do it through his website here. You won’t be disappointed.

278 thoughts on “A Hacker’s Guide To Programming The BBS02 & BBSHD

  1. I have used this programming for all my bbshds and it has worked out well, but my bbs02b doesn’t start fast and seems to revert back to it’s old programming after I remove the battery. I have heard that the programming for the bbs02B is different then the bbs02, is this why I have been having issues or is it just a bad motor?


  2. Pingback: E-Kit Installation on GT20 - DT Recumbents Blog

  3. Pingback: Best Electric Conversion Kit for Recumbent | eBike Choices

  4. I have a DPC-18 display which has 5 levels of assist instead of the usual 9. Today I used your very helpful guide in programming the BB-02 and realized the app uses 0-9 for assist levels. I’m wondering which of these settings match up to the 5 on the display. Thanks Rob Vann

    Liked by 1 person

  5. Can anyone let me know the minimum Low battery protect voltage for 36v system, Config tool has choice of 28 to 31 volts?
    also maximum amps for 36v 500watt BBS02B Maximum is 25 amps, what would safe value be? Factory setting is 18 amps.
    Using reworked Penoff Config Tool V2.2.b works well on Win 10, my old Win 7 laptop wouldn’t allow access to Bafang controller even after USB driver upgrades! Win 10 connected first time.
    I’ve made up new 1.5 mtr flex USB TTL to Bafang 5 pin green cable, works ok.


  6. 28 volts is best if you don’t want it to stop too early. 18 amps is safest this is my setting and no problems. Just make sure you’re in a low enough gear for hills and start up with throttle if fitted!


  7. Too complicated, now I DIY & brought a Bafang M620.G510.1000w, 48V 15Ah battery
    Q1) do I need to do programming or just plug & play.
    Q2) what the best equivalent setting for 5 PAS selection that it similar to other ebike system
    eg Eco, Eco+, Normal, Power, Power+
    PS my DIY coming & I do not want to blow the controller on the 1st day run


  8. Karl:

    Thanks for your awesome guidance on this. Iḿ programming an Eggrider V2 on a BBSHD equipped Anthem commuter bike. Iḿ using one of Paulś 13.5 52v batteries as the power source.

    I have applied all of your secret sauce settings to the road profile, and I suppose I can move them to Offroad and dial back the speed limit for Road, though Virginia hasn quite buckled down with laws, and I ride on roads rather than bike paths, so a 30-35 mph bike is OK for now.

    The Eggrider includes a programming section for ¨BBSHD Torque¨ It includes settings for

    Delta Voltage – Settings applied at 5 kg intervals with Delta ranging from 150-300 mv. It jumps from 150 to 300 mv @ 15-20 kg.

    Speeds programmed for speeds 0 – 20 – 40 – 60 – 80 – 100
    Iḿ looking at a matrix with the speeds across the top

    Variables include
    start (kg) – 15/12/9/6/5/4
    Full(kg) – 50/45/40/35/30/25
    return (kg) 12/10/7/5/4/3
    MinCur% 20/15/10/10/10
    Max Cur – 100/100/100/100/100/100
    KeepCur% – 10/8/6/5/4/3
    Cur Decay – 3/3/3/3/3/3
    Start Degree – 1/1/1/1/1/1

    This is not addressed in your programming guide. Would all of that be current limited if I leave it alone?
    Are there settings, you are aware of that I should adjust?’Thanks for any feedback you can provide.

    Thank you,

    Marc Plante
    Vienna, VA


    • I´m not sure, but I think that section is for Bafang motors with PAS torque sensor, like the Ultra Max. So it has no effect in the BBSHD.


  9. Hey Karl why I should not put the limited current lower than 30 if I have a BBSHD? My unit tend to overheat and I wanted to play it safe.

    Thank you


      • Thanks for the great article. Is it a good idea to change this text? “If you have a BBSHD make sure that this is set to 30 and no lower.”
        I also would like to reduce this below 30A, for general reliability reasons.


  10. So i just built a bbs02 MTB and am having a blast, tried the suggested settings and it was not assisting foer a while after takeoff. i mucked about double checked everything and finally thought the only other thing i changed was the wheel diameter from the default setting that was 18 to 29. i changed it back to 18 and everything was good again. i can only guess that the wheel diameter affects all the tables in the pas settings. i cant find any reference to this happening to anyone else??


  11. Hi,
    have a Fischer 1864 (S1) year 2019
    could someone post me the original values? Back then I saved it before reprogramming (with controller) but after a PC problem everything was gone 😦 would be great if someone has the original settings.


  12. I can’t modify my BBSHD voltage cutoff settings past 43v lower than 38 or something and I’m stuck on 28amps but I can go lower.. I’m using a 52v battery is that ok?


  13. The Current Decay vs Cadence plot is perplexing. What setting is the legend referring to? Why is the line labeled ‘40%’ out of order and well above the rest?


  14. Good job: bravo! How can I make less violent and more progressive the initial push when the controller give current to the motor after the first pedaling? Thank in advance for your answer. Lorenzo.


  15. (NewB) Hi, Have a Bafang BBSHD 1000w when the battery is at full charge 54V (100%) the motor runs fine with plenty of torque and speed, but as soon as the battery gets to 48V (50%) the motor will not give me more then 500W ? (really annoying) Any settings that can be changed to keep the motor at 1000w for longer ??


  16. I have an Fischer 1861.1 eBike, Model 2020 with Bafang M400 Motor. They are calling the display LCD 1300. I guess it is a Bafang DP C171.UART. It seems that the speed limit is locked on the controller. Is it possible with this USB cable and the software to unlock the speed limit?


  17. Hi,

    I am in the UK and I have just converted a Giant Roam using a Bafang BBS01B. My display is the 850C.

    So far, so good – but I have a question relating to the PAS settings in so far as I am preferring to have 5 levels in use, rather than 9m levels:

    The Bafang PDC-14 manual states that using 5 level: 1=1; 2=3; 3=5; 4=7 and of course 5=9.

    But, the Stefan Penov Bafang Control Tool (v2.2b) suggests in the “Infos” section that: 1=2; 2=4; 3=6; 4=8 and of course 5=9 for the DPC-14 / 850C.

    So, which one is actually correct please.

    Thank you,


    • I just programmed my bbshd, also with 5 PAS, and for me it worked the second choice, by Penov. Anyway you can try both of them, i did it 100 times till i found the right parameters.


    • Hi I am from southern UK and also prefer 5 levels of PAS. I can confirm that Stefan Penof is correct. 1=2; 2=4; 3=6; 4=8 5=9. I have the other entries set on zero.


  18. Answering my own question, following some experimenting – for the DPC-14 / 850C used in 5-level mode, not 9-level mode – 1=2; 2=4; 3=6; 4=8 and of course 5=9.

    Yep, I was suprised!


  19. Hey Karl!

    Thanks so much for such an outstanding resource!
    Just reprogrammed by BBSHD using your specs.
    Very nice improvement!

    Thank you!


  20. Hi Karl,
    You say “I would not advise using Kepler’s settings at a full 25 Amps, as you are asking for trouble. 100% Limit Speed at every PAS level at is going to put a serious load on the cheap-ass controller mosfets.”
    I used to run Kepler’s settings at 18A on my bbso2. I have graduated to a bbshd.

    Does this statement apply to BBSHDs? My commute is essentially a large hill, so heading up hill, when the motor is under load, motor RPMs are high, but speed is low. There’s not much point adjusting “Limit Speed” in this scenario.

    Alternatively, down hill, I’m flying and the motor is chilling. So “Limit Speed” would just reduce my top speed, or god forbid I’d have to pedal.

    Thanks for this write-up. Has been serving the community well for years.


  21. Hello, I just got bbs02b Bafang mid drive and install it, but do not like pedal pass assist at all, is possible to turn pedal assist off completely and use throttle only??? I would like to pedal without any assist and only use hand throttle., Thank you for any help.


  22. Was wären denn deine Idealeinstellungen die man machen sollte wenn man das Bike bei 30 km/h abriegeln möchte und wert auf eine gute Mischung zwischen Leistung und Reichweite legt???
    BBS02B 48V 750W 17,5Ah


  23. Hi!
    First of all thanks for all your efforts and instruction!!!!

    I have done testing on on BBSDH, BBS02 750w and BBS01 250W, all with 52v battery packs. I have used these on road, enduro and DH bikes. Yesterday I broke my bbs02 750w controller, and almost ordered a new one from AliEx. But then I got an Idea, could my old BBSHD controller work? And it did, It actually fits 100% both physically and “electronic”. I just need to limit the current to 25A. It seems to work fine, but have not tested it on the tracks yet:-)

    Any thoughts on this idea? I have seen that many have blown these 02 controllers, so this could be a smart solution for this medium mid motor? I use BBSHD for my bigger GT Fury downhill bike, but for my Mondraker enduro bike the 750w 52v bbs02 is a perfect match when it comes to size and power.

    PS! I only use throttle for max sensibility on the tracks. In my opinion the PAS on these motors are useless for trail riding.


      • Is this bbs02b? Can you provide There is also versions a and b of bbshd controller and none of them judging by stock photos even fit bbs02b internal cables. Did you resolder connectors? Does bbshd controller it fit also bbs01b as shown on photos ot it’s just a useless sticker? Also then I could buy this controller and I will hav 30A then max current? With boost converter it can be run on constant 58-62v also if to squeeze everything from it.
        Couldn’t understand why you filled it with epoxy at first. even my 52t chainring and 700c wheels set for speed; often chain skipping on smallest gears is the problem even only wax and non stiff chain, hopefully a better derailleur will help further with this.


      • I changed the connectors, yes. I used epoxy because the sprockets in the cassette bends under hard pressure when the chain is off axes. This might not be a problem for you. The controller is from 2020. You should limit the current to 25 Amps for the 750w BBS02. BBS01 is not very relevant for this if you ask me:-)


    • Possibly a problem with swapping over those HD controllers may be the changes Bafang made to the size and shape of their newer versions – will they all interchange?
      Great idea if they could.


      • I tested with Bbs02 motor and bbshd controller produced 2019/2020. And the fits perfect. Everything worked fine. Current limit is set to 25A, so hope this setup will last for many years to come:-)


  24. Pingback: BBSHD Settings For The Pedaling Cyclist – Tales On Two Wheels

  25. Hi there, just fried my BBS 02B controller a month ago and looking for replacement. My commute is very steep, 20% heals and above. Can I use a phaserunner or something better than bafang CKD 512 crap instead for the BBS02? I was thinking maybe to get the same controller but go down on the mid cog, from 42T to 36T or so. From what I read the controller and the engine really like when things are spinning. Many thanks, Peace!!!


    • Probably you need a smaller front chainring. I have burned up controllers, but not as often as Nylon gears. The controllers take 5 minutes to swap out, nylon gears it’s more like 45 minutes.


  26. So BBS02B max current safe value? Is it really safe for B model to keep it at 25A, or should I lower it to 18A as for BBS02 A model? If I’ve understood correctly, BBS02B has better mosfets, so it should be able to handle more current than older version?


  27. It would be amazing to be able to use eco mode as, police mode (no throttle and 25km/h) mode and Sport mode as full steam mode 🙂


  28. Re “Eco” Police friendly mode. Here in the UK legislation limits e-bikes max speed to 15.5mph and the motor to 250 watts (or 350watts for a tandem). I run a BBS02 500w 36v (no throttle) with my own bespoke controller settings. I’d guess if I’m ever involved in a serious incident on the highway that the police would impound the bike and they would soon find out it exceeds the legal limits. (The motor casing is stamped 500 watts which is a bit of a givaway) I have 29″ wheels running 2.25″ tyres with a 42t chainring and a 11-36 ten speed cassette. Top speed in pedal assist is about 30mph. Max current is set to 18amps. I manage to climb 25% inclines in bottom gear in power level 6 and up. I’ve never chewed up the nylon gear, fried the controller nor any issues with the drive train.

    If a police officer was curious enough to checkout how a 66yr old can climb 25% gradients with ease and cruise at over 30mph riding a 29er weighing in at about 30lbs, it wouldn’t take much detective work to discover the truth. Just sayin’……………..oh and I would now hold several Strava KOM’s and segments if I posted my rides as non e-bike. Imagine what I could do with a 1000w 48v HD and a 53t chainring……..


    • Sounds like things are pretty dire across the pond. Such absurd restrictions. I suppose those fools in your government also consider themselves eco friendly. Have they considered that if ebikes could go fast demand for petrol would drop every time somebody used the ebike instead of a car? If people have to struggle along with a grossly underpowered bike they will either cheat or drive a car. End the war on ebikes, free the motor.


      • You make some good points. If fact there are some proposals being considered in the UK & Europe to look at the possibility of lifting the maximum ebike speed to 30mph. A proposal to increase the 15.5mph limit to 20mph has been thrown out because its probably more disruptive to other road users. This is on the basis that in urban areas its safer for the ebike to be able to travel at the same speed as the traffic flow. Here in the UK, most urban areas have speed limits of 30mph or 20mph near schools. Hence an ebike capable of 30mph might be safer than being limited to 15.5 or 20 mph. Another issue is that the UK is way behind some European cities with cycle specific lanes. Most local authorities in the UK provide limited car free pavement that is shared by pedestrians and cyclists. Mixing cycles and pedestrians doesn’t work very well, (and the recent advent of the escooter is another factor) Neither are folks keen to mix it with trucks and speeding cars on main roads or be pushed into the gutter by aggressive drivers, especially parents with young children. As you say to get folks out of their cars, they need viable and safe alternatives. We used to talk about “critical mass”, ie get enough people on cycles to take over the road space. But citing examples of certain Asian Cities or Amsterdam which have deep rooted cycle beliefs is flawed. Here in the UK there is a growing anti cycle lobby. We need a functional cycle network to coax people to use it.

        Having said all that, things are better than they were 25 yrs ago. There are more folks on cycles in general, and the popularity of commercially available ebikes over here has increased massively.


  29. i wonder: could Asst1 Limit Current be set to 5?% (18A*0,05=0,9A consumption). Could it damage bbs02? I would like to have as small support as possible at pas1.


    • Also please advice: i ordered 48v 750w bbs02b, 32t chainring for uphill. My cadence is 60-80 usually, and I am afraid that motor rpm will be not optimal. Maybe re-order to 36v 500w to reduce effective motor rpm? Or just change contoller to 36v 500w? Whatt is effective rpm for 36v 500w?


  30. Hello, i would like to have 1st pas as less as possible.
    Asst1 Limit Current(%): 5
    Asst1 Limit Spd(%): 100
    Start Current (%): 5
    Keep Current(%): 100
    Mode: Current
    I expect 5% of 18A = 0,9 A consumption
    Will these settings work?


  31. Driver Windows 10 USB SERIAL CH340 de WCH.CN

    ¡Hola!. Dejo el video y el enlace de descarga del drivers para windows 10 chip CH340 de la empresa WCH.


    Con este driver, windows reconoce el cable y le genera un puerto serie 232 como COM2, COM3, COM4….etc.
    Acto seguido ya se puede leer la epprom del motor Bafang y escribir en ella.
    Aberiguar este dato me ha llevado una semana de duro trabajo e investigación en la red. Espero que a alguien le sirva dicho trabajo.
    Saludos desde España.


  32. When i was on a straight stretch and pedaling too suddenly one dhak sound from mother and the pedel is also slipping bnut motor is working well when its not taking too much speed can any one hhelp me please


  33. It seems that it no longer works with the latest motors produced in 2022. Here a bbs02b 750W 48V 100mm purchased in August 2022.
    [video src="https://partage.p-h.click/public/aliexpress/ebike/VID_20220831_182202.mp4" /]


  34. DU Meter Crack is a great bandwidth downloading software. It provides real-time visualization for a wide range of services such as Rolling Tree. You do not need to store any system data.This is an efficient tool that lets you control your network the way you want. It comes with the ability to alert you of dangerous or unexpected network activity.


  35. Pingback: Bafang BBS02 Review – Everything You Need to Know

  36. Pingback: Electric Bikes – Yuba Mundo eV4 – first rides – Travel and Tech

  37. Just built a BBSHD 1000w with a 52v 19.2ah battery using a DCP18 display. Problem with the battery, replacement on order (3 more days). The DCP18 has the Eco/Sport Pass installed. Can I adjust settings using Speeed tool?


  38. Three times I have lost my PAS by programming on a BB02B and a BBSHD without knowing why. Could it be that I considered a “0” setting for PAS 0 instead of “1”?


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