BBSHD only showing 65% battery when fully charged

OzCableguy

10 µW
Joined
Nov 1, 2021
Messages
6
Location
Brisbane
Greetings everyone. I recently bought a 48v BBSHD kit online for a fat bike, along with a cradle that would allow me to use my existing 48v Dolphin batteries from some hub motor kits I already own. Now, it all came together and works fine, except that the DPC18 display that the kit came with is showing the batteries at 65-68% when they are fully charged. If I put the batteries back on the hub motor bikes with C965 displays, they show 100%. Now, this may be a minor inconvenience except that the battery is showing as flat and cutting out at 49%. If I put it back on the C965 equipped bikes, I still have half a tank and they ride fine. So I'm only getting half the range I should be on the BBSHD.

My assumption is that the controller has the 52v firmware version instead of the 48v version. The seller agrees but isn't 100% sure. Their solution is to send the motor or just the controller back to them at my expense so they can check it. (They are in Melbourne and I am in Brisbane). If no fault is found, they will charge me for the return shipping. If it is faulty, they will refund my shipping cost. Then there is also my time and effort in uninstalling and reinstalling the motor, and not having it in my possession for however long this all takes.

They will not or cannot send the 48v firmware version to me so I can do it myself, and warn me that I will void warranty if I download one from elsewhere and DIY anyway. That might not be such a big deal, provided there is little to no risk of bricking my controller, since I need to change the programming which will void warranty anyway. (I did not realise that the throttle does not override the PAS levels, and doesn't work at all in level 0 with the stock programming. I also don't like how the lower PAS levels cut out at such low speeds and/or higher cadence.)

What is the best solution? Could there be something else causing this issue?

1. Is there a risk of bricking my controller if I follow the instructions at Updating Bafang Firmware and use their version? Does anyone know if those versions allow programming changes? I have heard of some that don't, and they become unresponsive if you try, and then you have to reinstall the firmware to get it operational again. If this happens, I will probably try Daniel Nilsson's open source version, unless there is another version somewhere I should try?
2. Instead of flashing the firmware, if I drop the low voltage protection using the Bafang programming tool, will that give me full battery range even if the display is still wrong? If so, what is the lowest I should go?
3. The Eggrider allows calibrating the battery voltage display. Is this worth the expense or will I still need to change the firmware anyway?

Edit: I just got a response from California ebike. They report that the risk should be limited to something like power cutting out or similar unanticipated events, and that after updating the firmware I will still be able to update the programming like normal. I will try this option first. If anything goes wrong or it doesn't fix the battery range issue, then I'll flash Daniel's open source version. I see it allows specifying the battery voltage.
 
Last edited:
There is always a risk of bricking any programmable device during a firmware update (in some cases even changing a setting, if this involves writing to the MCU flash, has that risk). It's low, but it's there.

The risk is higher in situations with anything Bafang because they change their hardware without notice and without necessarily changing numbering/etc to denote such changes, and if the hardware design changes in certain ways then flashing with firmware that doesn't account for that can actually damage the hardware. I don't know if that's the cause of any of the reported brickings, but it's a possibility. I'm not sure if there is any reliable list of specific verifiable hardware versions that work with specific firmware versions. If there is, I'd recommend seeing if your hardware is on that list, as well as the specific firmware version you want to use.

(Bafang is by no means lonely in the group of companies that change things without notice or notation in these ways...just more popular in DIYing and updating/altering, partly because they don't do well in designing things to work the way they really need to for the end-users which encourages end-users to want to do the alterations).
 
There is always a risk of bricking any programmable device during a firmware update (in some cases even changing a setting, if this involves writing to the MCU flash, has that risk). It's low, but it's there.

The risk is higher in situations with anything Bafang because they change their hardware without notice and without necessarily changing numbering/etc to denote such changes, and if the hardware design changes in certain ways then flashing with firmware that doesn't account for that can actually damage the hardware. I don't know if that's the cause of any of the reported brickings, but it's a possibility. I'm not sure if there is any reliable list of specific verifiable hardware versions that work with specific firmware versions. If there is, I'd recommend seeing if your hardware is on that list, as well as the specific firmware version you want to use.

(Bafang is by no means lonely in the group of companies that change things without notice or notation in these ways...just more popular in DIYing and updating/altering, partly because they don't do well in designing things to work the way they really need to for the end-users which encourages end-users to want to do the alterations).
Thanks amberwolf. That's what has me a little nervous. I have decades of experience reflashing computer hardware from way back in the days of serial cables and command line interfaces, but no experience with electric motor controllers. From what I can gather, there are two main hardware versions and I should be able to see which MCU I have using the STC-ISP app before I try a reflash. If it all falls in a heap, then I will just have to buy another controller. I can't live with only having half my battery range, plus the standard BBSHD throttle programming is unacceptable and I definitely need to change it one way or another.
 
OZ I bought one from Luna as a bare bones motor only and it does the same thing. Went into the programming via phone app. to make sure it was on 48v per the firm ware setting and it states it is. Have 5 bafang mid drive units and this is the only one that does this. If you fix please post as I would be interested in correcting mine. I have never exhausted the battery so don`t know how it will react on range. I think the voltage reading part of the controller is not connected to the battery level part of the system in terms of shut off. Why I say this is the meters on any unit don`t seem to be linear. The BBSHD that I have with the improper reading just holds at mid charge level for ever it seems. Like I said I have never exhausted a battery on any of my rides to the point of the low level stop kicking in.
 
Update: As an experiment, I tried dropping the low voltage protection down to 38v using the Bafang programming tool just to see what the display would show afterwards. It didn't change a thing, so I flashed the 48v firmware using the files and instructions at Updating Bafang Firmware. That worked perfectly, and I now have 100% battery and full range. The Luna Unlimited profile also installed without issue. Now to see how it rides. :)

(Sorry, when I tried to post this reply several weeks ago there must have been something wrong with the site. It refused to post and it was still sitting there when I checked just now).

Update: I didn't like the "Unlimited" profile much. Have settled with Karl's Special Sauce with a couple of minor tweaks.
 
Last edited:
Thanks for the link. I think I won`t mess with it as it has become just a thing on this bike for me. I am old school and all the high tech electronic altering is above my pay grade. It says you have to reset it again if you want to go to 52 volts. I will just leave it where Luna Tick set it. I think they assume folks are going to run 52 v on the HD units. I`m not.. But thanks again
 
I probably could have lived with the display not being accurate, but I was only getting half the range I should have out of the battery. It was stepping down the power and cutting me off when I still should have had half a tank left. I didn't have much choice but to flash it with the correct 48v version. It wasn't too difficult but I'd advise following the instructions very carefully and ensure you have the correct MCU type. Now I'm getting the range I should out of it, and the display is pretty accurate. I'm not getting a noticeable step down in power like I was before either. One minor issue is that either the controller or the BMS is cutting me off somewhere around 90-95% flat if I give it boot full on level 9, but now that I know about that I can be prepared for it.
 
Here's what I was seeing with the original (52v) firmware version that the controller came with. After flashing, it now only shows "48v" beside Nominal voltage, and 30Amps for Max.Current.

1685711221554.png
 
If it is programmed for 48 or 52 volts as I understand why does it not show full battery charge no matter what voltage you use? The reason I won`t try and re flash mine. I changed the settings on a BBS02 I have and lost peddle assist. Programmed 4 others I have and never had this occur. Used the known settings that all of us are using. Use the motor on a full suspension mtn. bike so the loss is no big issue as it is not needed off road on technical courses. I think the peddle assist circuit may have gone south. But the experience taught me to be careful with messing with programming. Peddle assist was fine on the bike I took it from and it was a unit with only 30 miles on it.
 
Yes, it seems like it should "know", or there should at least be a switch in the settings to change it. I believe the Eggrider display allows calibration for different batteries no matter what firmware is installed, but the Bafang tool can't do this so the only option is to install 48v or 52v specific firmware. I believe Daniel Nilson's open source firmware also allows calibration for different batteries, but again it means reflashing firmware, and this one will definitely void warranty.
Otherwise, the controller goes off battery voltage to determine the level of charge. The chart below has estimates. So you can see that if it is expecting a 52v battery and you connect a 48v battery, it will think it is ~70% charged when it is fully charged, and almost empty when it reaches 60%.
1685741138657.png

If this is what you're seeing and you're not confident about reflashing the firmware, if it's still under a shop warranty then they should be able to take care of it for you. That's assuming you bought it as a 48v system, not 52v. (That was the case for me but my seller was on the other side of the country and I had the ability to fix it myself). If it wasn't specified as either then they may charge a fee to fix it. However, if something goes wrong then it's on them to repair or replace it.
 
Back
Top