Professional Documents
Culture Documents
A Hacker's Guide To Programming The Bbs02 & BBSHD
A Hacker's Guide To Programming The Bbs02 & BBSHD
One way that the BBS02 middrive unit shines over other competition
like the Bosch is the ability to program the controller yourself. Alt-
hough the process of programming the controller will void any war-
ranty that you got with the unit, to many people the risk of voiding
their warranty is outweighed by the possibility of getting more per-
formance 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.
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 spin-
ning 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.
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 connec-
tion 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 varia-
bles 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 con-
troller firmware when you clicked WRITE.
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
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.
BASIC TAB
Listed below are the settings and what little we’ve learned about
them. This article will be updates as we experiment more.
If you have a BBSHD make sure that this is set to 30 and no lower.
\0 – The amount of time the system takes to cut after pedaling stops.
Lower is faster. Kepler says,
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 throt-
tle 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.
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.
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 inaccu-
rate as no one that I know of has gotten any real technical guidance
from Bafang on how to program these units at all.
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 cus-
tom programming and frying their controllers and then trying to get
free warranty replacements that he no longer warranties the individ-
ual controllers. Can you really blame him?
This article is the culmination of many hours of work and was con-
tributed 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.