TLDR – Bosch e-bike error code 504 means you’ve triggered the anti-tampering algorithm and your bike is now in limp mode. To remove error code 504 your options are to either reset it with Bosch diagnostic tools (Take it to a shop) or physically ride your bicycle for 90 minutes (Feel the burn).
My third Bosch powered ebike
I own three Cube e-bikes with Bosch power assist systems in them. The first two bikes were bought in 2019 before Bosch implemented draconian anti-tampering measures. Brilliant bikes love them both. The new bike, the bike I love and now hate at the same time is a 2021 cube cargo bike with the Bosch cargo line motor in it. All of the bikes are software limited to cut off assist at 25kph as mandated by EU law.
The cargo bike is amazing; my three daughters under 9 are within the weight limit (60kg) and fit in the cargo bin. We’ve been car-free for 4 years now. The cargo bike has been a game-changer for the family adventures it’s allowed us to go one. Totally enamored with the bike for the adventures. Hate the bike because it hit an error code 504 five kilometers downhill from home with the three girls in the front. The cargo bike weighs 50kg, I weigh 90kg, The girls are about 60kg. Trying to move 200kg, near the limit for the bike at 220kg, with no assist at all about ruined me.
I say none at all because the limp mode only helps under torque. When the error hit the bike went into limp mode where the bike was only working for limited assistance. With little to no assistance, I shifted into max hill climb gear, which lowers the torque on the crank. Later I discovered that if I’d put the bike in the lowest gear with the most torque at the crank it would have given me some assistance. — I’d never heard of limp mode, error 504, or any of this before it hit me. I only knew the bike motor was off and I needed to get home “f you Bosch” – I pushed 200kg of mass uphill for 5 kilometers all on my own power. After a showering, all pissed off, I went to the internets for research; sadly there was not much.
Error code 504 – Why
Error code 504 is Bosch’s solution to prevent their customers from hacking their Ebikes to increase the assist threshold. I do not begrudge them for anti-tampering measures to protect themselves; laws and lawyers and stuff. I do think they are asshats with how they implemented it. I could support something civilized like a warning beep, warning on the screen, maybe a 5 minute lockout the first time. But no warning and your motor shuts off for 90 minutes as the first warning is insanity to me. It like you’re a house guest in my home and I stab you in the leg without warning because you forgot to take your shoes off – Rude and totally uncalled for.
Error Code 504 Triggers – The error code is not triggered by a single event. The software looks at many hours of ridding patterns before the error code triggers. For me, I was using a per 2020 BadassBox which basically halves the speed input at the magnet on the rear wheel sensor. Halving the input meant 50k was 25k to the computer and the assistance never shut off. After a few hundred kilometers of my bike never shutting off the assistance the anti-tampering decided something was wrong and error code 504 came up.
The post-2020 BadassBox has a configurable shut-off threshold. From the factory, it’s set at 40kph = 25kph meaning the assist will shut off downhill from time to time. Chatting with Badass support they recommend setting the BadassBox to 35kph to allow more unassisted ridding to create a ridding pattern closer to what Bosch expects. Speaking of Badass support, their support truly is badass. I was shocked with how amazing their support was, and how much time they put into responding to me – top-notch guys!!
NOTE – Triggers are slightly different and always changing depending on the Software version. Some early versions triggered easier with harsher metrics. The earlier software builds also unlocked simpler, see Drill motor youtube videos to clear the error which did not work for my bike.
Error code 504 – Clearing the Error
Some of the first-generation 2020 firmware builds with anti-tampering simply required 90 minutes of crank turning. My first search for the error lead me to some youtube videos of people clearing the error with a drill attached to the crank. I tried this method without success. My build of the software, 126.96.36.199, is smarter than that. More searches lead me to think it might be a distance threshold you need to hit to remove the error. To go the distance I sat next to my bike for an hour and manually pedaled it in the highest gear putting about 40km on the bike. Did not fix the problem.
To clear error code 504 – you need to apply varying torque patterns to the crank and rear wheel. Another way to put it, you need to ride the bike and have resistance at the rear wheel and the torque patterns need to change over the ride. The drill applied only crank torque, had no resistance at the wheel, and is a consistent pattern. For me to clear the error, I rode to a football field nearby with a paved walking trail around it that was mostly level and I rode around in a circle listening to a book about murderbots for an hour and 43 minutes. – Murderbots is a great book series. It’s also appropriate to my feelings towards Bosch while riding in circles
Bosch being asshats again make this error even worse with how it is cleared. There is zero indication that error code 504 has been resolved while you are ridding. You need to turn off the computer, turn it back on, and hope. I noticed my range was – – and hoped that range would become a number once the bike was fixed; NOPE. When I started I reset and watched the trip time counter and distance counters hoping at 90 minutes something would happen. After 90 minutes of ridding and no changes on the display, I went home, and gambled. Stopping in the back garden I turned the bike computer off and back on again resetting all of my work. Luckily when it came back on no more error 504. – All of the relief.
Limp mode – what it does
Limp mode removes all continuous assistance during low torque ridding. If you are in a high gear where you pedal fast to move the bike a short distance the bike will provide no assistance. If you are in a low gear where you have to exert loads of torque you will receive some assistance until the torque does away and the assistance will fade. Makes ridding the opposite of normal. If you want help going up a hill in limp mode you need to not be in a hill climb gear, you need to be in a high torque gear. I learned this ridding around in a circle for a few hours. The circle had a hill allowing me to trial and error learning the limp logic.
Hope all of this helps you reset your error code, and gives an understanding of the logic behind the error.