BBS02 Mosfet Controller Mods

Update: Newer versions of the 750W BBS02 are shipping with better mosfets that probably won’t blow. Before you take apart your blown controller and switch them out be advised that it is MUCH easier to just buy a new controller with the newer IRFB3077 mosfets, more info about it is here.

The BBS02 controller is the weakest part of the BBS02 unit. When Bafang switched to the 9 Mosfet unit and bumped the power up to 750 watts for the US market they did not replace the poor quality mosfets in the controller with ones that could take more power. Poor programming from the factory and low quality mosfets made a perfect storm for many blown controllers in the field. Contacting Bafang for a warranty replacement was impossible so most people were stuck trying to get replacements from whoever they bought their units from. Since many people got theirs from Chinese sources on Alibaba many people were left with no choice but to buy another poor quality BBS02 controller and swap it out themselves.


750W controller with better mosfets installed

Don’t kill your controller to begin with

The best way to keep your controllers from frying is to control how your ride the bike. Install an aquarium thermometer in the controller (full instructions here) and watch those temps (also shown on step 12 below). When the controller starts getting over 130 degrees or so then just stop and let it cool off. When you approach a hill make sure you are in a low enough gear. If you’re slowing down to stop then don’t just keep the throttle on full speed while the bike grinds to a halt. This is a guaranteed way to fry your controller as all that power will just be converted into heat. Even if you do everything right there is still a chance your controller will still fail.

Are your mosfets really dead?

You need to pull the controller (step 1) and test it with a meter before you do anything with is. Instructions for how to do it are here. The easiest test is to grab the back tire and turn it backwards. If it is unusually hard to turn even with the motor off and battery disconnected then your mosfets are probably toast. When mine failed I was in the wrong gear, pedaling slowly with full throttle and I heard 3-4 little clicks and then the motor stopped producing power.

Although many things about the BBS02 make replacing mosfets a difficult job it is not impossible. With a little elbow grease and some decent soldering skills you can remove the crappy mosfets from a blown controller and replace them with higher quality ones in about 3 hours.

1) Remove controller: Remove the crank arm and the plastic gear cover then remove the 3 hex screws that hold the controller to the main drive unit. Carefully wiggle it out. Once it is free you will have to unplug the connectors, the black one has a lever that must be pressed to pull apart and the one on the drive unit is usually glued in place with too much silicone but does not have a release mechanism, you just need to pull it hard enough to get the silicone to release. Unplug the 3 banana plug phase wires.

2) Remove the potting material: This is the worst step by far. Using a flathead screwdriver carefully pry up the potting material piece by piece. This should take over an hour if you do it right. There are no shortcuts, so be patient, take breaks and make sure not to damage any components or wires on the motherboard.

3) Buy replacement mosfets: At this point you should be able to see the mosfets in your controller and see if you need 6 or 9 of them. I usually buy one extra just in case I make a mistake in soldering and damage one. If you want medium quality mosfets then buy the IPP034NE7N3 at $3.07 each. If you want much higher quality mosfets then buy CSD19536KCS at $5.80. Under no circumstances should you replace the mosfets with the original P75NF75. You must replace all the mosfets in the controller together, it is difficult to accurately find out which ones have failed and they must all be the same type.

4) Carefully pry out the circuit board: Remove the two screws near the heatsync and carefully pry the heatsync out. The rest of the circuit board should follow. I found that putting the screwdriver under the screws that held the mosfets to the heatsync and levering carefully against the aluminum case I could get it out. Do not rush this and damage the circuit board

5) Short the big cap and unsolder it: The cap may have some charge in it, short the two contacts with a screwdriver so you don’t get bit. Carefully unsolder the large cap marking the side with a sharpie that goes toward the heatsync. If you put the cap back in backwards there is NO WAY that your controller will work.

6) Unscrew the heatsink: All 9 mosfets need to be unscrewed and then carefully clip all their legs off. This should leave 27 soldered in legs on the board. Carefully unsolder them all being careful not to pull the pads up when using the soldier sucker. The circuit board is very cheaply made and the pads will come off if you are not very careful with this step.

7) Soldier in the new mosfets: One at a time. Make sure the solder fills the pad hole.

8) Screw the heatsink back to the mosfets: I use thermal paste on the back of the mosfets. Although they are cooler running, the thermal paste will help

9) Solder in the big cap: Orientation is key here. Get it right

10) Put thermal paste on the heatsink: Will help heat transfer from the sink to the case.

11) Carefully put the circuit board back in and screw it in place with the two heatsink screws. Make sure the temp sensing wire is stuck back behind the heat sink again.


You can see the PAS disabled by removing the grey wire from the pin block in the center and on the bottom left the temp probe laid down against the potting material ready to be siliconed in.

12) Install a digital aquarium thermometer: This step is absolutely critical. If you want your controller to not blow the best way to do it is to know how hot it is all the time. There are tons of people selling Aquarium thermometers like this one for <$5. I buy them 3 at a time on ebay for <$2 each shipped. Carefully push the temp probe through the rubber gasket that the power and controller wires go through. Make sure the tip of the temp probe is pointing toward the heatsink before you repot it on the next step. The entire probe end should be covered in potting material in the next step. To make a handy mounting system for your thermometer take some silicone and squeeze a dab on the back so it goes in the hole then carefully lay a small 1/2 piece of heatshrink tubing across the silicone. You can then run a tie wrap through the tubing when it is dry, hit it with a heat gun (don’t melt the ziptie) then ziptie it to the front of the toptube once the controller is reinstalled. I did a full article on this process with more pictures located here.

13) Repot the controller: This must be done to prevent moisture from screwing everything up. The easy way is to buy some Silicone II (acetic acid free is critical) from any local hardware store and use that. If you want potting compound to replace it with something much closer to what was originally installed then Magic Rubber could be the ticket for you although I haven’t tried it.

14) Once the potting is dry you can re-install the controller unit on the BBS02. Be careful when screwing on the black plastic cover as it can break VERY easily if the tiny screws are put in too tight.

Most people will just pony up the $80 or so for another controller when theirs go belly up, but if you want to make sure that your controllers don’t fry as easily next time you go out and ride, a Mosfet upgrade might be just what the doctor ordered. It will run much cooler than the stock mosfets and should give you many years of good service.

42 thoughts on “BBS02 Mosfet Controller Mods

  1. Pingback: Converting A Deadeye Monster To A Middrive 42lb Single-Track Snow Machine For About $900 (Batteries Not Included) |

  2. Hi!
    Thanks for a great post! Do you know in detail, how the PAS signaling works? I suppose the gray wire comes from a reed-switch that detects the magnets somewhere? I was wondering whether the PAS-system could be modified to work with a simple torque-switch. When the chain is tense, the PAS is enabled. This might be a proper possibility to get rid of the delay of PAS and especially the waaaaaay too long delay after releasing the brake. I suppose the source of the delay is the same, otherwise there’s no sense delaying after the brakes release.


      • Hi Karl
        I read your technical posts a lot but to be fair I do look more a lot of terms ect via the links you include. Thanks for all the effort you put in to allow us Bafang users to by better educated each time. Can you think of someone that who is reliable that will remote access my Bafang MM 510 ultra on a Frey 1000 that I expect in will arrive in May 2020. I don’t want to go “Ludicrous “ but want it start moving from a stop in a nice fashion, get reasonable stuff out of it overall. Maybe like your Special sauce. If not remote then, for a reasonable price, walk me thru it. I will have the programming cable and SW in my laptop computer. my email Either way email me to say. I’m curious how you first couple of years with the AM 1000 went. And again thanks for all the information you’ve been providing
        Jim Bryan


  3. Do you have a delay when accelerating after braking? At least with PAS activated the delay is annoyingly long, about one second or so… I think I’ll try to put a switch on the gray wire to be able to switch off the PAS when needed if it helps with the delay.


  4. You seem to know what you are doing. I believe I fried my controller accidentally by using an inappropriate connector (shorted) and then I got an error message (I do not remember it) but it was suggested I fried the controller. There was no more than a short pop.

    How much time does it take to do this modification? I can get a friend to do it (electronics guy) if it is not too long.

    Thanks for the post. I was about to lay out money for the inferior controller


  5. Hi again!

    I disconnected the gray wire from the controller and PAS shut down. Still there’s annoying delay when you push the throttle starting from zero. So no luck there…

    And about the time of changing the FET’s. It took me about 5 minutes to remove the controller, 1,5 hours to dig off the pudding (potting compound), about 1 hour to desolder & solder back the FET’s and about 30 minutes to cast new potting and assembling the thing back. So about 3 hours of work, now that I know how it’s done. On the first time it took me about 6 hours…


    • I’m working on an article about programming the BBS02. It will be out in a week or two. That might help. I’ve never had a delay on the throttle, sounds like a controller or programming issue.


  6. I think it might very well be a programming issue. I just can’t figure out what is the combination of settings affecting it. Yesterday I tried almost every single setting there is on the software, but couldn’t make any difference to the throttle start-up behaviour.

    But I found out that it’s not really a delay we’re talking about!! Instead it’s a very slow ramp in initial startup of the motor. And by “initial” I mean starting from zero after about 1 or 2 seconds of no throttle at all.

    If the throttle has been totally off for less than a second, the acceleration is fast enough. But when you’re off the throttle for more than that period, you’ll get a very slow acceleration ramp and that feels like a delay, when the bike is moving. When the bike isn’t moving there’s no delay on the throttle.

    I made a short video, showing me ramming the throttle from zero to full several times with different periods of off-time. Take a look, if interested:


  7. Maybe you want to share your settings and I could try them? Either the controller file or screenshots? But only if you already have them ready and they’re easy to share! It’s not a trouble waiting for you’re finished article. If you, or somebody else is interested about the issue, my current settings can be found here:
    I’m sorry the blog is in Finnish, but there’s three pictures of my settings in the middle section of the post.


  8. Oh crap! That’s really annoying on my mind… The ramp is way too long for me. In every corner when you’re supposed to hit the gas on the apex, you’ll have to wait for the motor to catch up. But at the end of my blog post you can see the mechanical round-up I came up with. It won’t let the throttle to zero, but keeps it just a bit on all the time. Now the acceleration is instant and just the way it shoud. Perfect! But it would be nice to be able to achieve that with software settings…

    Thanks for you’re comments!


  9. Pingback: Programming The BBS02 Without Frying Your Controller And Losing Your Sanity |

  10. Has anyone every created a schematic of the BBS02 controller? I would be curious to see how to compares to other motor controllers.


  11. Pingback: Can The BBS02 Really Take The Abuse Of Singletrack Trailriding? |

  12. Pingback: A Hackers Guide To Programming The BBS02 |

  13. Nice Article! I have had a BBS02 now for about 3 months. I have been through 3 controllers already and on my fourth and it is very discouraging (I have done no programming mods to it). I see some vendors solution seems to be to current limit the 25A controllers to some number less 18-21 (so what am I actually buying a 25A controller for??). I love the bike on the rare occasion that it is working. I can notice the decrease in power in the derated controller. Would happily pay for one that could reliably handle 25A or more. Does it appear that the weak link is entirely the FETs and should the FET replacement eliminate the problem and allow the controller to work at 25 amps? I should probably qualify, the first blew a FET after 40 miles. The second was DOA, the third worked for a week or two and developed some connectivity issue that kept increasing until it eventually stopped it from working all together. The fourth now is in and running but was supplied at 21 amps and I can notice the decrease in power.


    • You are not alone.

      I would install a thermal probe and a smaller chainring. The controllers blow when there is too much load, it is spinning too slowly and you use too much throttle.

      When the controller is hot already and you are on a hill you need to shift very low, and pedal hard and BARELY touch the throttle. This is the opposite of what most people do.

      I run all 8 of my BBS02 units at 25 amps and have had only one controller failure. Only use full throttle on level or downhill ground.



  14. Pingback: Hallelujah! Bafang Finally Stops Using Crappy Mosfets In The BBS02 Controller |

  15. Pingback: Troubleshooting Problems On Your BBS02 Unit |

  16. Pingback: BBSHD First Impressions : Meh. |

  17. Pingback: How To Buy Your First Ebike Or Ebike Kit And Not Get Punked |

  18. I abuse my bbso2 like a red headed step child… the motor has been hot as a frying pan and caused burns to my hand and leg from touching it…. and after 500 miles of extreme off road hill climbs and pas 9 with the throttle pressed in full it still runs liks a dream. I shift many times and listen to the motor not to keep it cool but to get max speed… 40 plus miles per hour. 45 .1 has been my top speed. come check it out and i want to toss around an heat sink build for the outside of the motor… i have proto typed a test build with aluminum foil fins that prove the motor heat can be cut in half…


  19. Hi Karl,
    Can you give me some hints on the functions of the wires on the black and the white connectors to the controller? I am especially interested in the brake switch cables, as I suspect them to be broken on my bike.
    Many thanks!


  20. Hi,
    Nice guide.
    I have just done everything and I’m waiting for new mosfet.
    However i have not understand what do you mean for “big cap”.Since seems to be a crucial point,and i was not able to find out what is it.


  21. Hello, seems like I fried my controller (BBS02B). I tested the MOSFET’s as suggested by you, but my multimeter reading is rather interesting. Here is the breakdown:

    – When I connect Battery black wire with multimeter red/black and then other end of multimeter wire to three phase wires, then its giving me appx. 9.97 kilo-ohm for all three readings (guess FET’s are fine).

    – When I connect Battery red wire with multimeter black and other side multimeter red wire to all three phase wires, then all three readings are 0 ohm (has continuity). Indicating blown FET’s

    – But when I connect Battery red wire with multimeter red and other side multimeter black wire to all three phase wire, then its reading infinity ohm for all three (no connection). This indicated FET’s are good?

    I am confused. Are my controller MOSFET’s blown? Please help and let me know if more information is needed (hope I didn’t confuse you). Many thanks!



  22. Your instructions on soldering the Fets is not the best.
    >>>”7) Soldier in the new mosfets: One at a time. Make sure the solder fills the pad hole.
    8) Screw the heatsink back to the mosfets: I use thermal paste on the back of the mosfets. Although they are cooler running, the thermal paste will help”

    The mosfets should be screwed back into the heatsink first so they will be aligned properly.


  23. Did you ever test the CSD19536KCS to be working with the controller 100% ?
    How can one tell they should be running cooler by looking at the specs? By the lower internal ressistance rating (0.0023ohm)?

    Btw – does the controller have reverse polarity protection or will it blow?


  24. Hi guys, i would need help. After 500kms my 750w bbs02 stoped working, but not definitly. Sometimes goes more often not. Speedmeter, display seem are working. Have you got any idea what should be a problem? Thanx a lot


    • Bonjour, il faut rentrer dans le menu et voir les codes qui sont marqués. Pour rentrer dans le menu: appuyer sur mise en marche puis deux fois rapidement sur le bouton I. ensuite naviguer avec + et – pour choisir code puis sur I à nouveau. Et tu me dis ce que tu vois comme code.


  25. I have a question regards my 1 year old BBS01 Bafang motor. I have the feeling that my motor is less strong than when I got him installed a year and half ago. I it possible that when one or 2 mosfet’s are broken the engine still working but the power reduces? Look forward to reply.


  26. Just a stupid question. It is possible to use BBSHD controller instead of BBS02. BBSHD most probably handle 25 amp better. Based on connections these two are the same. Have anyone tried, to fit


  27. Can the BBSHD controller be fitted into the BBS02b? I know the connectors are different but will it physically fit and work. I will need to limit it to 25A (48v) because of my batteries limit.


Leave a Reply to Jarkko Cancel reply

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

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

Facebook photo

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

Connecting to %s