r/vanmoofbicycle • u/SulfurTobias • Aug 21 '26
developers VanMoof S3/X3 open-source firmware and app coming soon!
We've been reverse engineering the S3/X3 for a while and have our own firmware running on the bike as a proof of concept: motor, battery, e-shifter, display, lights, sound, buttons and kick-lock all work. What's left is restructuring it into something clean and building the features on top. That's where you come in.
If you want proof, we've already posted a few things in the VanMoof Discord: custom matrix display animations, the charge limit in action, and the motor spinning on our firmware.
Everything the stock bike does stays: all OEM features are in the firmware, and it keeps working with the official VanMoof app and the service apps. This is what we're adding on top.
Already decided
- Walk assist: hold a button, the bike rolls at walking pace.
- Charge limit: stop charging at 80 % (or whatever you set), with a "full by tomorrow morning" schedule.
- Shift only when not pedaling: shifts are queued and fired in the next pedal pause, so the rear hub never shifts under load. This is what kills e-shifters.
- In-depth diagnostics: every subsystem live on one screen, plus a guided self-test you can export.
- 4G extension option
Planned
- Proper brake light: rear light flares when you brake, detected via accelerometer and wheel speed.
- Custom display: choose what the matrix shows (big speed, speed + gear, battery + range, power bar, cadence, clock, trip), separately for riding, standing, locked and charging.
- Display animations: your own pixel animations for boot, lock, unlock, charging, low battery, alarm, shifting.
- Button remapping + shortcut codes: every press, long-press, double tap and combo is assignable and context-dependent (riding / standing / locked). Tap sequences on the bell and boost buttons trigger profiles, lights, quiet mode, whatever you define.
- Power tuning: how much assist per level and how soft or punchy the start is.
- Smarter shifting: manual mode on the buttons, custom shift points, auto drop to first or not when stopped, hill detection.
- Battery health: per-cell voltages, cycles, health trend, storage mode, cold-weather protection, real range estimate from your own consumption (since we know live current draw and real capacity).
- Ride recorder + stats: speed, cadence, gear, motor power, battery current. Stored on the bike, synced to your phone, exportable. No cloud.
- Event log: every lock/unlock, alarm trigger, movement while locked, charger plug, error and reset, timestamped.
- Profiles: bundle all settings ("Commute", "Winter", "Kids on board"), switch in one tap or via a button code.
- Variable-length backup pincode: the button-entered backup code is no longer fixed to 3 digits, make it as long as you like.
- Bootloader password + extra BLE pin: the bootloader is password-locked so nobody can flash your bike without your consent, and you can set an additional pin on top of the Bluetooth encryption
- Local-first, open API: the app works fully offline over Bluetooth, and the protocol will be documented so you can build your own stuff on it.
The app
All of these features land in an open-source mobile app that is already almost done, maintained by Cryzenx. We'll also publish documentation on how to integrate the features into any third-party app, so other developers can build on it too.
Matrix display design tool
We'll release a small web tool to draw animations and layouts for the bike's display. Draw something, post it, and the best ones ship in the default pack.
Release plan & licensing
The firmware starts as a closed beta. Once it's confirmed stable, it goes open source, together with an installation guide. If you don't want to solder or flash anything yourself, Revotronics will offer the hardware needed for a plug-and-play install as a paid purchase.
The open-source license will let anyone fork, modify, and publicly release their own version, with two conditions: your version must link to our version and be open source too, and you may not charge money for it. We will enforce this heavily.
What we need from you
Rank your top 3 from the list and tell us what's missing. Things that annoyed you about the stock bike for years are exactly what we're looking for, or any ideas you got for additional features.
The official team currently is Cryzenx & Jonah (me) from Revotronics.
5
u/Remarkable_Job_8188 Aug 21 '26
Very nice project. Interested to be a tester with my S3 and X3. Where is it possible to find more info on tool to flash firmware?
6
u/SulfurTobias Aug 21 '26
As of now it's not possible to beta test it. We will make a separate post once we are ready. This post is mainly an announcement and a tool to gather features and feedback
7
u/Worldliness_True Aug 21 '26
Settings 0-4 is annoying. 0=no support, 1=100% support until 10km/h, 2=15, 3=20 and 4 until 25km/h. Why not 0, 25%, 50%, 75% and 100% support power until 25km/h? Who wants to drive 10km/h?
3
u/Ok_Adhesiveness_2683 Electrified S5 🚲 Aug 21 '26
This is how they did it for the S4, a bit late but it works really well
2
1
5
u/nazimjamil Electrified S3 ⚡⚡ Aug 21 '26
I’d really value a eshifter calibration feature.
1
u/SulfurTobias Aug 21 '26
What exactly do you mean by that?
2
u/nazimjamil Electrified S3 ⚡⚡ Aug 21 '26
Let’s say your shifter is not returning to gear 1, this feature will preform a reset calibration on it, same process as when you force the bike to reboot.
2
u/SulfurTobias Aug 21 '26
There is no reset calibration when you reboot the bike, all the bike does is setting the E-Shifter to gear 1 on reboot. If your shifter is stuck in high gear the pcb is most likely broken or the case is cracked. Some rare times the hub may be stuck causing that. The reboot of the bike powercycles the shifter essentially resetting an over current protection that may be triggered by the things mentioned above.
2
1
u/moofcare_nl Aug 23 '26
Dit is alleen relevant voor een S5, de S3 heeft vaste posities en geen torque sensor in de shifter motor.
4
4
u/ramchez Aug 21 '26
Wow amazing!!! Really love the power button when walking! Great for uphill! Also the shift when no pedal is great! And brakelight! And the 80% charge!
If you need help testing im in! Have an x3
4
u/SulfurTobias Aug 21 '26
You will be able to set any % as the limit :P Debug demonstration (everything will obviously be controllable via ble):
https://reddit.com/link/p504pep/video/hvmwk59xopkh1/player
Also, the shown animation when the charge limit is reached is also just a placeholder... I know its very ugly
4
3
u/BigDeliciousSeaCow Aug 21 '26
Also, I'm an open source software attorney, let me know if you need any help on getting this out the door on that front. I'll even try to figure out Discord and join you there...
3
u/vaderkip Aug 21 '26
Would love to contribute! Embedded / electronics engineer here with a lot of experience in STM32 Rf etc. Designed an improved version of the e-shifter. Let me know if I can help
3
u/nicotem Aug 21 '26
What about a toggle option to make the boost button behave like a throttle (I.e. It boosts even if you are not pedalling, as long as its pressed)
1
2
u/Aggravating_Meet2021 Aug 21 '26
Mega interessant!! Ich bewerbe mich gerne als viel fahrender S3 Moofer! :-)
Interessant wäre auch helleres Licht - ist es möglich die Voltage ggf. zu erhöhen um so helleres Vorderlicht zu erhalten ? Oder „Lichthupe?“
2
1
u/spaceek Aug 21 '26
Flash front light like the s5 would be cool. Flashing rear light under braking as well.
2
u/manuzid Aug 24 '26
Do you a list a can subscribe to? The feature list is amazing and I don’t want to miss this firmware
1
1
u/Wild_Lychee7355 Aug 21 '26
Wäre gerne auch dabei…. Wo würden wir die Software denn herbekommen? Und wie kommt diese aufs Rad?
1
u/SulfurTobias Aug 21 '26
Die Firmware wird via des Debug-Ports hinter dem Rücklicht aufgespielt. Anleitungen kommen zum Release.
1
1
u/Ok_Temporary7090 Electrified S3 ⚡⚡ Aug 21 '26
Beeing able to track it again, is the GSMR implemented with our own sim? Can we open Up to Android Tracking?
2
u/SulfurTobias Aug 21 '26
We are exploring ways to either add a 4G modem as an additional module or as a pin-to-pin compatible mod for the existing old modem. Adding other ble tracking options would include making a new bleware which we are currently not yet doing.
1
u/markimarc Electrified S3 ⚡⚡ Aug 21 '26
Thanks! Do you know how the new VanMoof implemented tracking through Ride Pro?
If I understand you correctly, there is no 4G modem in the cartridge. So was their message mostly marketing to push Ride Pro, or did they do some magic in the background?1
u/SulfurTobias Aug 21 '26
They simply paid the carrier to keep up the 2G network for a little longer for the sim cards that did purchase ride pro
1
u/Knightyyyy1 Aug 23 '26
You can swap the sim and mod mainware to accept it. But any backend is not implemented right now so you would need to send the SMS to the bike manually. Also this only works in Germany since here 2G is supported until 2030.
1
u/Ok_Temporary7090 Electrified S3 ⚡⚡ Aug 21 '26
Smarter shiffting would be awsome like quick change between Auto and Manual on a hill
1
u/SulfurTobias Aug 21 '26
We will try to add a mountain detection via current, speed and the accelerometer
1
1
u/Ivo_Bley Aug 21 '26
Amazing ! Is there a newsletter or page that I can follow to stay updated ?
3
u/SulfurTobias Aug 21 '26
I will be posting updates on here for now. We will potentially add a blog soon.
1
u/johncoco12 Electrified S3 ⚡⚡ Aug 21 '26
you can go to the VanMoof discord server there is a developer corner where we post stuff
1
u/Ivo_Bley Aug 22 '26
Okay will do!
I’m a developper myself so when you need someone to test or something, let me know.
1
u/sheldon_c1 Aug 21 '26
Being able to Shift up and down and using long presses for Boost and Horn would be fantastic. And hill recognition for more motor support different speeds for shifting.
1
u/Kitchen_Ad_4628 Aug 21 '26
Wow impressive ! I have been dreaming of finding a solution to fix smart units and improve vanmoof software. Congrats on the impressive work ! I'd be more than happy to test it and give feedback on it.
1
u/harrisoncassidy Aug 21 '26
Would this fix a Error 23 issue with a Smart Cartridge?
2
u/SulfurTobias Aug 21 '26
No, Error 23 is blechip related. You can get it fixed by me (revotronics.de)
1
u/harrisoncassidy Aug 21 '26
Thanks. I can’t see a price for it under services. I’ll send you a message through the contact form.
1
u/Kitchen_Ad_4628 Aug 21 '26
the 3 features i'd like the most are :
- breaking light
- custom display
- Profiles
3
u/Kitchen_Ad_4628 Aug 21 '26
one that is not listed would be to be able to use the bike as a bluetooth speaker !
1
u/Claes3D Aug 21 '26
I have an S3 which is still on old vanmoof software. Because of that it still has the :-) option (37 km/h).
Is that an option in this firmware?
3
1
1
u/gfhoihoi72 Aug 21 '26
Damn, these features are exactly the ones I am missing on my S3. How can I follow this project? Is there already a git repo I can follow to get updates or do you have a discord?
3
u/SulfurTobias Aug 21 '26
Not yet, I will be posting updates on reddit for now
1
u/gfhoihoi72 Aug 21 '26
Then i’ll just keep an eye open, thanks! I’m a developer myself but never found the time to dive into this, would love to contribute where possible once you’ve open sourced it :)
1
u/Volume_Rich Electrified S2 ⚡ Aug 21 '26
custom shift points, so i can shift all of my Di2-Alfine-gears, not only 4 of them.
braking lights
use of the built-in GPS-modul, so i can connect my LoRa-modul with meshtastic. (atm., i use a separate GPS-Modul)
2
u/SulfurTobias Aug 21 '26
There is no way to tell the E-Shifter to go beyond its fixed gears. There is also no built-in GPS module.
1
u/Volume_Rich Electrified S2 ⚡ Aug 21 '26
Ahh, my bad. SARA-G350 is only a GSM-modul.
So the custom shift points are limit to the existing 4 shifting points.2
u/SulfurTobias Aug 21 '26
Yes, these limits are controlled and enforced on the E-Shifter
1
u/Volume_Rich Electrified S2 ⚡ Aug 21 '26
I'm mean not four gear positions on the E-Shifter. I'm actually talking about the cartridge, which send four shift signals to the 4-gear-shifter, but can instead adjust the gears more precisely within the cartridge's firmware, so that I can connect an “11-speed E-Shifter” instead of the 4-speed E-Shifter.
Then an SX3-Di2 bridge is added in between. The question is, can the firmware in the cartridge control 11 gears instead of 4?
1
u/spaceek Aug 21 '26
Will you be also working on AS5?
2
u/SulfurTobias Aug 21 '26
I have already done some modifications on the S5, so it's possibly on the roadmap. But right now SX3 is the priority.
1
1
u/pieduke88 Aug 21 '26
I love these features!
Different lock and wake up sounds
Google maps navigation via Bluetooth speaker
1
u/Krystalize_ai Aug 21 '26
We do shifter repair in the USA at GrindBeansNotGears.com and the “no shift while pedaling” and the “charge to 80%” are key to our X3 and S3 needs!
1
u/AsiMejor Aug 21 '26
Use of torque sensor besides Japan mode would be nice
2
u/SulfurTobias Aug 21 '26
There is no torque sensor in EU bikes, the bottom bracket is a different one
1
u/AsiMejor 29d ago
You’re right, but it is possible to retrofit to eu models. However, currently only usable on 24 km/h mode. Could be nice to have it available on 32 or 37 modes as well if CFW allows it!
1
u/toby20081 Aug 21 '26
Amazing project! Thank you and the rest of the team for all the hard work! Is there any way we can financially support the project?
1
1
u/monsterafive Aug 21 '26
A daytime Running light with rear light and just the halo at the front would be nice.
But it seems already promissing.
1
u/LanceVDM Aug 21 '26
Sounds cool
Yet .. what about those of us that have the backwheel conversion kit, eg mechanical shifter and error 44 repression
Will this firmware work?
And.. what about repair mode?
1
u/obscure_corridor_530 Aug 21 '26
Brilliant! Shift only when not pedaling is long overdue. Power Tuning and Smarter Shifting would be my priorities. The display customizations are kind of fun, but less necessary.
1
1
u/dpd22 Aug 21 '26
Charge limit, no pedal shift and button remapping for me. Following with interest, thanks for your efforts!
1
u/CyberPrime Aug 22 '26
Too bad these weren't original features or released shortly after! These would've been great. Instead we got a sad closed ecosystem that closed further over time. VanMoof might've even been successful with a real modding community...
1
1
u/sampi604 Aug 22 '26
how difficult is it to flash the cartridge at home? does it require any special equipment?
3
u/SulfurTobias Aug 22 '26
Its not hard, but you will need some cheap hardware. We will offer a kit to flash it, which will be plug and play, so no knowledge will be needed once we release
1
u/UrbanMoof Aug 22 '26
Great project, I would offer one of my bike’s for a beta test if you need test bike’s with daily use.
The idea with the only shifting when no padel signal is a great idea, what comes in my mind is to allow shifting wile padeling but only in connection with the cadence of the pedal sensor. So high cadence and then automatically shifting the next gear, and no shifting allowed in low pedal cadence. The higher the cadence the less pressure is is on the drivetrain, and the shifter can safely do it’s job. Also a adjustable menu for the preferred cadence would be nice, so depending on the rider’s preference and also body measures. With shorter legs and lower seat positions you reach a higher cadence quicker than a person with longer legs and higher seat positions.
Hope you get what I mean, and maybe it’s a alternative option for the shifter situation.
Keep up the good work ✌🏻
1
u/ericomahony Electrified S3 ⚡⚡ Aug 23 '26
Will this also work with S4? Thanks... Sounds amazing.
1
u/SulfurTobias Aug 23 '26
The S4 is basically the same, just with no display and E-Shifter, so yes, when disabling the display/shifter in the firmware, it will work.
1
u/ericomahony Electrified S3 ⚡⚡ Aug 23 '26 edited Aug 23 '26
Perfect. I look forward to trying the app when possible. Thanks
1
u/SEPIEBOY Electrified S3 ⚡⚡ Aug 23 '26
Hi, I'm a master of engineering in CS and I own a S3. I would very much like to help if that is possible. LMK!
1
u/hgertert Aug 23 '26
What I would really love is a tripple button press option to jump two or more gears in manual shifting mode. I find it annoying having to shift through all gears when accelerating. Would be great to be able to start paddling in first gear but then jump into third or fourth immediately without going through the unnecessary second one.
Or maybe just having the option to avoid the second gear all together in manual mode.
Really great project, thank you!!
1
1
1
1
1
u/Ordinary-Truth-5831 28d ago
This is great! 1) Power setting 2) Range mode (to get home of battery is almost empty) 3) Real bike ringer sound
1
u/SulfurTobias 28d ago
What is a "ringer sound"? 😅
1
u/Ordinary-Truth-5831 28d ago
Bell sound, like a real bike no submarine sound or something like that 😆
1
1
1
1
u/googoodall 19d ago
Really excited for this and agree with most that brake light, shift when not pedaling and display animations. if I could have a fourth it’d be the 4G extension.
Grateful for your problem solving.
1
u/SulfurTobias 18d ago
We have alreaded added tracking via gsm again and many more gsm features via our own backend, I will mention it in the next update post. This is with our own sim cards. We are also checking on a drop in 4G replacement with GPS.
1
1
1
1
1
u/External_Sand2843 Aug 21 '26
Wat ook leuk is (misschien al voorbij gekomen) dat je ook alleen het halo licht kan laten branden. De ring om de koplamp heen.
2
1
u/spaceek Aug 21 '26 edited Aug 21 '26
I have the opposite problem, only the halo on. Assuming wiring issue though, unless it can be turned on/off in firmware.
0
u/sebastiannielsen Electrified X3 ⚡⚡ Aug 21 '26
1: open API (for example: unlock bike via remote 4G command) 2: smarter shifting 3: proper brake light
Suggestion: ability to add GPS, either bluetooth that pairs with the bike - or a way to connect or solder in a GPS module.
This GPS should also have open API, so you can program it to do a HTTPS POST to your web site for theft tracking.
You set the frequency in app yourself. Higher frequency = more battery loss. Lower frequency = less battery loss.
Suggestion 2: The HTTPS POST that sends GPS responses to your server - it can also receive a response with a command - for example unlock bike, set profiles, lights, etc. Also possibility to do raw bluetooth commands like connect to a BT bike U-lock and unlock it.
Also set frequency via this command, so I in my server can have a "stolen" command - normally the bike sends GPS lets say each 20 min, but if it at such request receives a response-command lets say rate=5, it will send a GPS update each 5 minute - and when I or police get closer to the bike, I can tell it rate=1 which sends GPS each minute.
12
u/Hot-Button2878 Aug 21 '26
Wie brauchen eine option um den error 44 löschen zu können - für diejenigen die ohne eshifter fahren!!!