Finally gave up waiting for Eplus to get their unlocker done to suit the rim magnet. Instead, I built something quick and easy that works well, costs a fraction of the price, and should even work for standard setups without the rim magnet.
My build is based on an Ardunio microcontroller, reed switch and electromagnet. I removed the bike's rim magnet and instead placed a traditional magnet on the disc rotor. The Arduino then uses the reed switch to sense the true RPM of the wheel, delays the time between magnet passes by a fixed multiplier and then activates the electromagnet at the new interval accordingly. The electromagnet is positioned up against the motor case.
With ~100 lines of code, everything is working great. I've got the multiplier set to 1.4 (eg where true speed is 20kph, motor will be shown 20/1.4= 14.3kph), giving a new max assisted speed of 35kph. The multiplier could be set to anything, say 2 would give assist to 50kph.
The beauty of this setup is the simplicity: no interruption of sensors from the motor, reducing chance of detection. So long as you don't go crazy with the multiplier, it'd be very difficult for the motor to detect this manipulation, as there are so many real-world variables which will mask it; rider weight, gear ratio, terrain etc. Some things may give it away though. For example, if you use a large multiplier, you may reach a point where for a given cadence it's just not physically possible to be traveling so slowly. Also if you use location tracking through the Eplus app, it may compare wheel speed with GPS speed and flag a discrepancy.
I've run this for 60km so far without a hiccup. Granted it's not a long way, so time will tell how it goes in the long term. At the moment I'm powering this with a small lithium battery sitting externally on the motor. Next step will be to try to get some power from the internal battery to simplify further.
Some FAQ:
- YES it will disrupt your total trip distance and odometer, but it's a simple multiplication to get the true figures. ie reported trip distance * chosen multiplier = true trip distance.
- YES it should work on setups without the rim sensor. Instead of positioning the elctromagnet against the motor case, position it against the speed sensor.
Some photos attached of the setup on my Voima. If anyone's interested I can put together a tutorial so you can build your own.
View attachment 104808 View attachment 104809 View attachment 104810 View attachment 104811 View attachment 104812 View attachment 104813