• Warning!!

    Riding a tuned or deristricted EMTB is not a trivial offence and can have serious legal consequences. Also, many manufacturers can detect the use of a tuning device or deristricting method and may decline a repair under warranty if it was modified from the intended original specification. Deristricting EMTB's can also add increased loads for motors and batteries. Riding above the local law limit may reclassify the bike as a low-powered bike, requiring insurance, registration and a number plate.

    Be aware of your local country laws. Many laws prohibit use of modified EMTB's. It is your responsibility to check local laws. Ignoring it, has potential implications to trail access, and risk of prosecution in the event of an accident.

    UK Pedelec Law

    Worldwide Laws

    We advise members great caution. EMTB Forums accepts no liability for any content or advice given here. 


MEGABOBRA: Bosch Smart System Derestriction for Rim Magnet - DIY Project with Support

megabobra

Active member
Jul 24, 2022
220
242
Australia
Quick update. Using the L9110 driver (thanks @tatane for the tip on this) I'm able to produce a reversing coil signal with exponential growth and decay which very closely matches the original Bosch rim magnet profile. Snip below using some data captured using my phone.

I'll incorporate this profile into my existing code and see how it runs on the older Bosch firmware to validate it.

1708060333965.png
 

manu.w

New Member
Aug 5, 2023
82
39
belgium
Hi, is the graph the capture of the generated magnetic field of your coil? How fast can you switch the magnetic field and still get it strong enough , especially with a coil with ferromagnetic material?
 

megabobra

Active member
Jul 24, 2022
220
242
Australia
Hi, is the graph the capture of the generated magnetic field of your coil? How fast can you switch the magnetic field and still get it strong enough , especially with a coil with ferromagnetic material?

Yes the dashed line is the field produced by the coil. In fact it switches much faster than the what's induced by the natural analog motion of the rim magnet - I was actually thinking of slowing it down! You can see it's just about vertical vs the slight slope in the blue Bosch line as the magnet passes. But I'll leave it as is for now, as those tweaks can be made with code alone down the track if required.

I'd say the switch from positive to native current flow is essentially instantanenous for our purposes. Surely with the right equipment (which I don't have :) ) there would be a measurable ramp up and down.
 

FRANK56

New Member
Nov 5, 2023
14
7
Sardegna, Italia
Very good, I am sure that the reproduction of the signal similar to that of the magnet is the only solution to combat the Bosch 25Km/h blocking system. In the latest software versions, the problem of errors that are obtained with only the positive impulse of the coil are unfortunately frequent and take away the pleasure of driving. Bosch is waging a stupid war against derestriction, many biker friends have given up on buying e-bikes with Bosch rim magnet engines and have turned to other engines. The Bosch motor is a good motor, but it has nothing more than other competitive motors. If this continues, he will lose a lot of sales.
 

megabobra

Active member
Jul 24, 2022
220
242
Australia
Update on the reversing pulse:
Good news is that I've completed the code changes to run the L9110 driver. These first included the rewrite of how the multiplier behaves at low speeds. In the past, the first five wheel revolutions from stopped just pulsed the coil in unison with the passing magnet. However that's no longer possible with the reversing pulse as you first need to know the full duration of the pulse before you can start it, in order to solve for the positive/negative time periods.

Second change was to integrate the pulse behaviour itself. So I've got three pulse profiles:
  • Step function: full positive for half duration, then full negative for half duration
  • Linearly increasing: just ramps from 0 to full strength positive, then from full strength negative to 0
  • Exponential: similar to linear, but increases/decreases on an exponential function
Thanks to the programmability of the L9110, I can also drive the coil in the original single direction-only method, in the same way as with the transistor. An added benefit is being able to control the strength of the coil's field through code too.

I've been for one ride with the L9110 and new code in place just replicating the original single direction pulse, to set a baseline.

Now, bad news is, that on my current firmware version, the motor doesn't reliably detect the reversing coil's signal.
Where in setup mode the single direction pulse produces a stable speed, the reversing pulse fluctuates crazily before settling to 0kph. I'm able to switch between pulse behaviours on the fly using my OLED display, so the only variable is the pulse. Snip below shows the change from single to reversing pulse:

1708296878098.png


Now, I'm on an old Bosch firmware version so MAYBE this would more successful on a current version, if in fact this is what the motor wants to see? But of course I'm not sure...

Thoughts?
 

manu.w

New Member
Aug 5, 2023
82
39
belgium
Where in setup mode the single direction pulse produces a stable speed, the reversing pulse fluctuates crazily before settling to 0kph. ..

Thoughts?
I don’t understand fully how you calculate the speed, wheel rpm?
Once yo have the speed you know when you have to “fire” the pulse and for how long, no?
If that is the case , firering a single or “double” pulse should not do any “crazy” things?
 

FRANK56

New Member
Nov 5, 2023
14
7
Sardegna, Italia
Update on the reversing pulse:
Good news is that I've completed the code changes to run the L9110 driver. These first included the rewrite of how the multiplier behaves at low speeds. In the past, the first five wheel revolutions from stopped just pulsed the coil in unison with the passing magnet. However that's no longer possible with the reversing pulse as you first need to know the full duration of the pulse before you can start it, in order to solve for the positive/negative time periods.

Second change was to integrate the pulse behaviour itself. So I've got three pulse profiles:
  • Step function: full positive for half duration, then full negative for half duration
  • Linearly increasing: just ramps from 0 to full strength positive, then from full strength negative to 0
  • Exponential: similar to linear, but increases/decreases on an exponential function
Thanks to the programmability of the L9110, I can also drive the coil in the original single direction-only method, in the same way as with the transistor. An added benefit is being able to control the strength of the coil's field through code too.

I've been for one ride with the L9110 and new code in place just replicating the original single direction pulse, to set a baseline.

Now, bad news is, that on my current firmware version, the motor doesn't reliably detect the reversing coil's signal.
Where in setup mode the single direction pulse produces a stable speed, the reversing pulse fluctuates crazily before settling to 0kph. I'm able to switch between pulse behaviours on the fly using my OLED display, so the only variable is the pulse. Snip below shows the change from single to reversing pulse:

View attachment 134763

Now, I'm on an old Bosch firmware version so MAYBE this would more successful on a current version, if in fact this is what the motor wants to see? But of course I'm not sure...

Thoughts?
I find it very strange that an electromagnetic pulse similar to the one created by the magnet creates these problems. The only thing that has not changed in all Bosch software versions is the rotating magnet that provides an N-S pulse. We are missing something. Maybe I can get an old signal generator and with that I will try to emulate the magnetic signal on my latest version Bosch. I'm also waiting for an L9110 with which I will do further experiments. Unfortunately my programming skills are very limited, I get along better with analog electronics.
If at least with a fixed signal like the one in the setup it is possible to have a stable speed with bipolar pulses, we are on the right track.
Thanks anyway @megabobra for your dedication to this cause
 

megabobra

Active member
Jul 24, 2022
220
242
Australia
I don’t understand fully how you calculate the speed, wheel rpm?
Once yo have the speed you know when you have to “fire” the pulse and for how long, no?
If that is the case , firering a single or “double” pulse should not do any “crazy” things?

In the case of setup mode where it's just a constant repeating pulse, I set a desired speed in code (15kph typically) and then solve for required wheel RPM, milliseconds per revolution and pulse time, being the duration the electromagnet is firing. That pulse time is simply 1/12 of the revolution time. 1/12 is simply meant to represent for what proportion of the wheel revolution the motor can see the magnet on the rim. Could probably tinker with this value; it's worked fine for the one-sided pulse, but perhaps it's too short for the double. Note that it's only used in setup mode.

In normal riding mode, the magnet duration detected by the hall sensor at the wheel drives the pulse duration. Then it's simply the reverse calculation to the above to solve for the speed.

In all cases with the two-direction pulse, it's simply been running half the pulse duration position and half negative.

Does this help?
 

AlumiPro

New Member
May 1, 2023
139
74
California
Hi,

did you already receive it? If yes is it working? Is it wortth 400€?

Greets in
Yes I did. It produced error code 523003.
Trying to derestrict the Bosch Smart Rim magnet system is not worth the money, frustration, error codes, and loss of time. So I returned the Speedbox and converted my bike to the Bosch swing arm speed sensor / spoke magnet. I’ve never been happier! No more issues, no more rim magnet / internal speed sensor and my Bosch firmware is up to date (10.12.3)
 

Lu7

New Member
Apr 1, 2024
2
1
France
Yes I did. It produced error code 523003.
Trying to derestrict the Bosch Smart Rim magnet system is not worth the money, frustration, error codes, and loss of time. So I returned the Speedbox and converted my bike to the Bosch swing arm speed sensor / spoke magnet. I’ve never been happier! No more issues, no more rim magnet / internal speed sensor and my Bosch firmware is up to date (10.12.3)
Hello, can you tell us how you did it ?

Thanks
 

AlumiPro

New Member
May 1, 2023
139
74
California
You first need to get permission from your bikes manufacturer(not all are willing to do so). Your local bike shop has to email a request to the bike manufacturer to do this procedure. If approved the manufacturer will email a file for the bike shop to download new firmware into the bike that shuts the internal speed sensor off, while also turning on one of the motors existing electrical outlets for the new swing arm speed sensor to plug into.
Then it’s about $50 in Bosch parts. (Bosch Speed Sensor, Bosch Speed Sensor Chain Stay Adaptor/Holder, and Bosch Spoke Magnet)
Hello, can you tell us how you did it ?

Thanks
 

Lu7

New Member
Apr 1, 2024
2
1
France
You first need to get permission from your bikes manufacturer(not all are willing to do so). Your local bike shop has to email a request to the bike manufacturer to do this procedure. If approved the manufacturer will email a file for the bike shop to download new firmware into the bike that shuts the internal speed sensor off, while also turning on one of the motors existing electrical outlets for the new swing arm speed sensor to plug into.
Then it’s about $50 in Bosch parts. (Bosch Speed Sensor, Bosch Speed Sensor Chain Stay Adaptor/Holder, and Bosch Spoke Magnet)
Thanks !
 

Sir_Szendi

New Member
Apr 10, 2024
4
0
Poland
Yes I did. It produced error code 523003.
Trying to derestrict the Bosch Smart Rim magnet system is not worth the money, frustration, error codes, and loss of time. So I returned the Speedbox and converted my bike to the Bosch swing arm speed sensor / spoke magnet. I’ve never been happier! No more issues, no more rim magnet / internal speed sensor and my Bosch firmware is up to date (10.12.3)
Hi,

My name is Bartek, I'm from Poland and I have a few questions for you about turning off the internal speed sensor.
After turning off the internal speed sensor and installing a new one with a spoke magnet, does the display show the correct speed?
Disabling the external speed sensor removes the speed limit?

Can I ask you for a list of exactly what parts you bought, so that I don't buy the wrong ones?
 

AlumiPro

New Member
May 1, 2023
139
74
California
After turning off the internal speed sensor and installing a new one with a spoke magnet, does the display show the correct speed?
Yes it shows the correct speed provided you have selected the correct rear wheel size within the Kiox settings, because the new Bosch swing arm speed sensor and spoke magnet are now reading the bikes speed.
Depending on the tuning kit you choose to instal, it may or may not read the correct speed after the tuning kit has been installed.
 

EMTB Forums

Since 2018

The World's largest electric mountain bike community.

521K
Messages
25,694
Members
Join Our Community

Latest articles


Top