BBS-FW: Open Source Firmware for BBSHD/BBS02 Controller

I flashed this fw yesterday on my 52v bbshd.
On my first run the bike went into thermal slowdown, once when climbing a steep off-road dirt hill, but this is one I done regularly with my original fw with no temperature errors. The bike again ramped power down on a high speed road run, flat road at about 30mph after 4 minutes.
I since went into the configuration editor tool and disabled the temp sensors and bike runs fine again with no errors.
The temp sensors settings in the fw are definitely set to low.
Also the gear sensor doesn't work anymore, but I was probably expecting that to happen.

However the bike does feel a lot more responsive overall.
Not sure if it's worth the hassle of flashing this fw to be honest.
Depends what you want from it.
I had the same issue with the temp sensors, the motor sensor seems to be the culprit.

The Devs are aware of this issue and I believe are working on fixing it
 
temperature thermal rollback is a gradual reduction it wouldnt be jerky.


That's not necessarily the case. I had a jerky response when I first installed this firmware. There are 2 temp sensors, one in the motor and one in the controller, I forget which one was off but it created a sudden on/off in the motor after a few kilometers. It's a few pages back but it is a condition and it was fixed.
I did experience a thermal restriction yesterday. After running about 10km full out the motor got hot and cut back power. Hot hot, mostly on the motor side the controller was actually much cooler. Seems like things are working perfectly with this firmware.
 
I did experience a thermal restriction yesterday. After running about 10km full out the motor got hot and cut back power. Hot hot, mostly on the motor side the controller was actually much cooler. Seems like things are working perfectly with this firmware.
Back somewhere in this thread it's mentioned that the BBSHD shipped with two different type of temperature sensor and only one type is causing the issues.
It's not mentioned if it was a batch thing so it just seems to be pot luck which type you get.
 
Back somewhere in this thread it's mentioned that the BBSHD shipped with two different type of temperature sensor and only one type is causing the issues.
It's not mentioned if it was a batch thing so it just seems to be pot luck which type you get.
Yah not sure, but I know one of them was considerably off. I think I disabled one in the firmware and haven't had issues until yesterday. But as I said the motor was hot so it was still functioning as designed.
I believe it's random, some people have problems with the controller sensor some with the motor. It's certainly possible it's build related but I was unaware of that until now.
 
I did experience a thermal restriction yesterday. After running about 10km full out the motor got hot and cut back power. Hot hot, mostly on the motor side the controller was actually much cooler. Seems like things are working perfectly with this firmware.
Hi, about the temperatures I try to ensure that my BBS02B does not exceed 44-45° I very often have the reflex to check the temperature approximately every 3 minutes 😅 do you know at what temperature the limitation switch on and up to what temperature there is no risk for the controller? Thank you 🙂
 
Last edited:
Hi, about the temperatures I try to ensure that my BBS02B does not exceed 44-45° I very often have the reflex to check the temperature approximately every 3 minutes 😅 do you know at what temperature the limitation switch on and up to what temperature there is no risk for the controller? Thank you 🙂
I'm not sure. With this firmware I experienced one of the sensor reading false high so I turned it off. My guess is the controller one but I'm not sure. I'll try to figure this out and report back to you. The temps have cooled a bit and I didn't experience it today. I'll try to report back.
 
I just flashed this firmware and so far things work pretty well!

After a quick test ride I found 2 issues:
1) PAS disables if the pedal cadence drops too low (but it's still a reasonable cadence for me). Any idea what I can do to reduce this lower limit? It definitely limits my hill climbing.
- this is annoying b/c if I start a climb and don't downshift quite early enough, I lose power abruptly and have to jump on the throttle to keep moving
2) motor pause during shifting is a little short

having 2 profiles is awesome! Throttle felt nice and smooth too

Edit 1: to add photos of configuration.
increasing PAS level increases "target power %". Max Power, Max Cadence, and MAX Speed are 100% in all PAS levels

Edit 2: the power loss at low pedal cadence was solved by using the default pedal assist Start Delay (75deg) and Stop Delay (200ms).
What firmware did you use? I can't seem to find it.
 
Hi, about the temperatures I try to ensure that my BBS02B does not exceed 44-45° I very often have the reflex to check the temperature approximately every 3 minutes 😅 do you know at what temperature the limitation switch on and up to what temperature there is no risk for the controller? Thank you 🙂
Just to follow up, I'm not sure about the BBS02B controller. I think it was the BBS01 controllers that had issues with heat, from the mosfets to the phase connectors. I believe the BBS02B controller can handle the same heat as the BBSHD.

That being said, if you go back to page 3, I had issues with the motor temp sensor cutting out way too early. I had to set it to "control" in the firmware. After that it worked flawlessly. My controller was reading upwards of 51° with no issues. This summer was the first time I experienced thermal throttling. However, as I mentioned prior, I believe the motor as much hotter than the controller.

My best guess is you're operating within the safe zone at 45°, and you have room to spare. To get a better estimate I'd need to track down an infrared thermo and do some measurements. And even then I'm not sure if the BBSHD is the same.
 
Hi the firmware editor (Daniel) indicates that the thermal limitation is proof at 85°C, did you notice it activate at 51°C on your display?
 
Hi the firmware editor (Daniel) indicates that the thermal limitation is proof at 85°C, did you notice it activate at 51°C on your display?
No. I just got back from doing some tests. Running full out on throttle, ~3000W and +60km/h @81°F ambient my controller only got up to 54° C according to the display. It did not thermal limit and the motor wasn't hot to the touch, I could hold both the controller and the stator for several seconds without pulling away.

85°C however is way too hot. 55°C sounds more typical.

eta: 85°C might be the upper limit of the stator? magnet wire can reach up to 250°C, since the temp sensor isn't on the wire, 85°C for the sensor which is mounted on the hall PCB seems reasonable. Just spit ballin'
 
Last edited:
No. I just got back from doing some tests. Running full out on throttle, ~3000W and +60km/h @81°F ambient my controller only got up to 54° C according to the display. It did not thermal limit and the motor wasn't hot to the touch, I could hold both the controller and the stator for several seconds without pulling away.

85°C however is way too hot. 55°C sounds more typical.

eta: 85°C might be the upper limit of the stator? magnet wire can reach up to 250°C, since the temp sensor isn't on the wire, 85°C for the sensor which is mounted on the hall PCB seems reasonable. Just spit ballin'
Sorry but Google translation doesn't work miracles 😚 yes I think 85°C is huge too and before it goes off I think my controller would have died before. A limitation of 50-55°C would seem much more normal to me.
 
last time riding i got my bbshd to 70°C while riding a hill. the motor was hot but not so hot that you cant touch it. my friends bbs02 was hot af it burned your hand lol. i wonder what the max temp is that the motor can handle before it has failures. anyways I've disabled the motor temp sensor because people here were reporting errors and i dont want the same thing happening to me
 
My setup has been perfect every since disabling the motor temp sensor. But today I noticed something interesting and I have no idea if it's a quirk of the display (DW03), the BBSHD controller or the firmware.

When I am doing long full power pulls on the throttle the battery percent readout on the display doesn't update when the throttle is engaged. I have quite a small pack (52V/12.6AH) so percentage will drop fairly quickly at full power.

So today I am on my usual commute to work on back roads, a couple of sections have you holding down the throttle at full for maybe 5 mins without pause. I noticed my battery percentage held at 71% for the whole 5 mins, I let off and after a few seconds it jumps down to 59%.

Anyone else noticed this or have this issue? It's not a big deal but I thought i'd ask the question.
 
So today I am on my usual commute to work on back roads, a couple of sections have you holding down the throttle at full for maybe 5 mins without pause. I noticed my battery percentage held at 71% for the whole 5 mins, I let off and after a few seconds it jumps down to 59%.

Anyone else noticed this or have this issue? It's not a big deal but I thought i'd ask the question.
The battery state of charge is usually detected by monitoring the battery voltage, this isn't ideal as the voltage sags significantly whilst under load which would show a falsely low soc.

The method often used to get round this issue is for the firmware to only update the soc display when there is no significant load on the battery. This generally works pretty well and I guess this is how Daniel has coded his fw, but does give the effect you describe in your post - like you say it's not a big problem.
 
The battery state of charge is usually detected by monitoring the battery voltage, this isn't ideal as the voltage sags significantly whilst under load which would show a falsely low soc.

The method often used to get round this issue is for the firmware to only update the soc display when there is no significant load on the battery. This generally works pretty well and I guess this is how Daniel has coded his fw, but does give the effect you describe in your post - like you say it's not a big problem.
ah yes that's interesting and does make sense as I have not noticed any voltage sag under load - which would explain why!
 
Sorry but Google translation doesn't work miracles 😚 yes I think 85°C is huge too and before it goes off I think my controller would have died before. A limitation of 50-55°C would seem much more normal to me.
Success! I got mine up to 70° C and it started to cut out. ETA: I suspect the limit is 75°C.
 
No. I just got back from doing some tests. Running full out on throttle, ~3000W and +60km/h @81°F ambient my controller only got up to 54° C according to the display. It did not thermal limit and the motor wasn't hot to the touch, I could hold both the controller and the stator for several seconds without pulling away.

85°C however is way too hot. 55°C sounds more typical.

eta: 85°C might be the upper limit of the stator? magnet wire can reach up to 250°C, since the temp sensor isn't on the wire, 85°C for the sensor which is mounted on the hall PCB seems reasonable. Just spit ballin'

85°C would be completely fine imo. I run a lunacycle's Ludi v2 not this firmware, Luna sets the rollback start at 100°C and full cutoff at 110°C. And I actually spoke to someone who worked on the project enquiring about if I should lower it a bit and they told me they had peaks into 150's during their testing with no issues so they felt confident with the limit they set (I did decide to do 90/95° because I run a stock plastic gear). Like you state its not in the best of positions so the temp reading lags a little but still I run my bbshd to 90°C almost every ride and its fine. Before I got their controller I ran a 45a shunt mod for 2000 miles and I just used the external temps. Everyone online said around 60°C is when you should back off so I did just that. But now even hitting 90°C internal the max exterior temp I've seen is 45°C, a little scarey to think how hot I was getting the stator before with that in mind :oop:. But I recently opened it up and copper stator looked brand new.
 
Last edited:
85°C would be completely fine imo. I run a lunacycle's Ludi v2 not this firmware, Luna sets the rollback start at 100°C and full cutoff at 110°C. And I actually spoke to someone who worked on the project enquiring about if I should lower it a bit and they told me they had peaks into 150's during their testing with no issues so they felt confident with the limit they set (I did decide to do 90/95° because I run a stock plastic gear). Like you state its not in the best of positions so the temp reading lags a little but still I run my bbshd to 90°C almost every ride and its fine. Before I got their controller I ran a 45a shunt mod for 2000 miles and I just used the external temps. Everyone online said around 60°C is when you should back off so I did just that. But now even hitting 90°C internal the max exterior temp I've seen is 45°C, a little scare to think how how I was getting the stator before with that in mind :oop:. But I recently opened it up and copper stator looked brand new. I also think the issues with some peoples roll back not working might be because apparently their is 3 different temp sensors used depending on when bought, Daniel apparently only accounted for the main 2

I have not checked this thread for a while I see... That is some interesting information, only info I had was there was two different sensors (NTC(10k) vs PTC(1k)) for the stator temp in the BBSHD motor. Maybe two different sensors have been used in the controller too. Do you know anything more?
 
85 ° C serait tout à fait bien imo. J'utilise Ludi v2 d'un lunacycle et non ce firmware, Luna définit le démarrage à 100 ° C et la coupure complète à 110 ° C. Et j'ai en fait parlé à quelqu'un qui travaillait sur le projet pour me demander si je devais le baisser un peu et ils m'ont dit qu'ils avaient des pics à 150 pendant leurs tests sans problème, donc ils se sentaient confiants avec la limite qu'ils avaient fixée (j'ai décidé de faire 90/95° parce que j'utilise un engrenage en plastique d'origine). Comme vous le dites, ce n'est pas dans les meilleures positions, donc la lecture de la température est un peu en retard, mais je fais quand même fonctionner mon bbshd à 90 ° C presque à chaque trajet et c'est bien. Avant d'avoir leur contrôleur, j'ai utilisé un mod shunt 45a sur 2000 miles et j'ai juste utilisé les températures externes. Tout le monde en ligne a dit qu'environ 60 ° C est le moment où vous devriez reculer, alors c'est exactement ce que j'ai fait. Mais maintenant, même en atteignant 90 ° C à l'intérieur, la température extérieure maximale que j'ai vue est de 45 ° C,:eek:uvrir:. Mais je l'ai récemment ouvert et le stator en cuivre avait l'air tout neuf. Je pense aussi que les problèmes avec certaines personnes qui reculent ne fonctionnent pas peut-être parce qu'apparemment, il y a 3 capteurs de température différents utilisés en fonction du moment de l'achat, Daniel ne représentait apparemment que les 2 principaux
Yes also 45° at the reading with a lot of heat outside which seems crazy to me for temperature readings at 85-90 for some users either the sensor is not positioned in the same place or indeed it is another model because if mine would show 85 it would burn 😅
 
85°C would be completely fine imo. I run a lunacycle's Ludi v2 not this firmware, Luna sets the rollback start at 100°C and full cutoff at 110°C. And I actually spoke to someone who worked on the project enquiring about if I should lower it a bit and they told me they had peaks into 150's during their testing with no issues so they felt confident with the limit they set (I did decide to do 90/95° because I run a stock plastic gear). Like you state its not in the best of positions so the temp reading lags a little but still I run my bbshd to 90°C almost every ride and its fine. Before I got their controller I ran a 45a shunt mod for 2000 miles and I just used the external temps. Everyone online said around 60°C is when you should back off so I did just that. But now even hitting 90°C internal the max exterior temp I've seen is 45°C, a little scare to think how how I was getting the stator before with that in mind :oop:. But I recently opened it up and copper stator looked brand new. I also think the issues with some peoples roll back not working might be because apparently their is 3 different temp sensors used depending on when bought, Daniel apparently only accounted for the main 2
Nice, I appreciate good data.

I think the discrepancy lies in the fact that the temp sensor is just a "general" measurement. Magnet wire is good to 250°C so we are well below that threshold, although the temp sensor is close but not on the wire. AFAIK the Anderson connectors on some controllers are the weakest link when it comes to high temps. The nylon gear, although it has the lowest melting temp, only gets heat through conduction as it isn't in proximity to the hotter core and phase wires. Nylon begins to melt around 250°C as well, although prolonged heat does make them brittle.

I'll keep checking temps and report back. We're going through a bit of a heat wave right now so these are max temps. In Fall, Spring and Winter I could probably run the 60A shunt mod with this firmware and not have any issues.
 
I have not checked this thread for a while I see... That is some interesting information, only info I had was there was two different sensors (NTC(10k) vs PTC(1k)) for the stator temp in the BBSHD motor. Maybe two different sensors have been used in the controller too. Do you know anything more?
Daniel, what is the high temp cutoff on the controller? I don't think that can be changed from your config tool. I think it's cutting out at 75°C but I'm not sure. If 85°C or higher is OK I wouldn't mind changing it. At my own risk of course. :D
 
if a company like lunacycle sets the rollback at 100°C then the motor should be able to handle it, good to know. does someone know when pas engages from a standstill? does it have something to do with the speed sensor? i thought of adding another magnet to the spokes. would this help? i feel like pas takes too long to engage.
 
I have not checked this thread for a while I see... That is some interesting information, only info I had was there was two different sensors (NTC(10k) vs PTC(1k)) for the stator temp in the BBSHD motor. Maybe two different sensors have been used in the controller too. Do you know anything more?
I'm sorry for the mistake, I spoke to someone before and long story short I misunderstood them and though it could be a 1k ptc, 1k ntc, and 10k ntc. Looking back though the message to get more info for you I see they meant the 1k ptc but I took it as also a 1k ntc. I will remove that portion of my comment.

I do have a suggestion for the feature though, what about a power ratio slider in the settings to change the displayed wattage / amps. Seems lots of users here are running some sort of shunt mod, allowing users to set the ratio from stock (like 45a = 1.5x, 50a = 1.66x, 60a = 2x) that way the dash reads the correct wattage again.
 
Yes also 45° at the reading with a lot of heat outside which seems crazy to me for temperature readings at 85-90 for some users either the sensor is not positioned in the same place or indeed it is another model because if mine would show 85 it would burn 😅
It was around 33°C ambient for me during my tests, I actually was really surprised the max I saw was at 45°C, But I do run heat sinks on the exterior and I did put thermal paste around the stator and housing (which in my tests observed a 5~7° drop with the internal sensor, nothing really notable on the exterior). It's now around 45°C where I live with the heat index so bikes been sitting in the garage for me. Maybe watercooling is needed.... :LOL:
 
Nice, I appreciate good data.

I think the discrepancy lies in the fact that the temp sensor is just a "general" measurement. Magnet wire is good to 250°C so we are well below that threshold, although the temp sensor is close but not on the wire. AFAIK the Anderson connectors on some controllers are the weakest link when it comes to high temps. The nylon gear, although it has the lowest melting temp, only gets heat through conduction as it isn't in proximity to the hotter core and phase wires. Nylon begins to melt around 250°C as well, although prolonged heat does make them brittle.

I'll keep checking temps and report back. We're going through a bit of a heat wave right now so these are max temps. In Fall, Spring and Winter I could probably run the 60A shunt mod with this firmware and not have any issues.
Yeah that probably has a big factor, I've thought about replacing the sensor myself after I opened the motor up fully to add thermal paste to the stator and realized how easy it would be. Maybe a future upgrade, I've also had the idea of watercooling the motor but right now I'm thinking it might just be better myself to move to a bigger motor / bike so not sure what I will do. Doesn't help that the heat index is crazy right now so I've only ridden maybe 20 miles in the past two months so motivation is low. I have seen someone melt the Andersons, best to replace to xt150's which I personally will if I manage to do. But that's more of a aftermarket huge power issue if I had to guess. And with the nylon gear I've seen people speak about how it looses a lot of its strength well below that temperature, High Voltage has a batch of custom Peak gears for their customers just made recently and has stated that they might sell to the public if enough interest is there so I might do that as well.

Good to hear, interested to hear what you will report.
 
Back
Top