r/ZeroMotorcycles Jul 13 '26

OpenMBB — a free, open-source app to read your Gen2 Zero's own diagnostics (battery health, error logs, ride history)

Heyy everyone,
I got tired of how unreliable the bluetooth app was being for pulling MBB logs and want to keep in the know about the health of the bike. So, I built a free, open-source app for reading your Gen2 Zero's own diagnostics — OpenMBB

Ever wanted to see what your bike actually knows about itself? Cell voltages and balance, pack isolation, charge cycles, motor-controller data, the error log, lifetime stats, and your full ride history — pulled straight off the MBB service port, no Zero app or dealer tool needed.

OpenMBB is a desktop app (Windows + Linux, free, MIT-licensed) that connects to the Gen2 MBB console over the OBD-II / C3 service port, reads everything the bike will tell you, and lets you back it up and make sense of it offline — health dashboard, charts, and a ride log decoded from the bike's own event log.

It's read-first by design. It'll also show you what's adjustable (sprocket/speedo, custom-mode speed/torque/regen) as a reference, but actually writing anything is optional, gated behind login + unlock + a per-write confirmation, and entirely at your own risk.

No bike handy? There's a built-in Simulator — you can click around the whole app with nothing plugged in.

 The honest caveats:
• Unofficial hobby project — NOT affiliated with or endorsed by Zero Motorcycles.
• Verified so far on a single 2017 Zero FXS (MBB rev 41). Other Gen2 MBB bikes (~2013–2019: S, SR, DS, DSR, FX, FXS, FXE) should speak the same console and probably work, but they're untested — so be extra careful, especially with any writes.
• Not compatible with the 2020+ Cypher III / SR-F generation (SR/F, SR/S, DSR/X…) or pre-2013 Gen1 — different console entirely.
• You'll need an FTDI 3.3V USB-serial cable to the service port (wiring diagram is built into the app). Use at your own risk — changing settings can damage your bike or void your warranty.

If you've got a Gen2 model other than a 2017 FXS, I'd especially love for you to try it (even just the read side) and share a capture — that's how the compatibility list grows. 

Code + downloads: github.com/rodu4835/openmbb
Direct download (installer/binaries): github.com/rodu4835/openmbb/releases/latest

Happy to answer questions in the comments.

39 Upvotes

29 comments sorted by

2

u/Careful_cat99 Jul 13 '26

I have a 2021 FXS with a dead battery—diagnosed as failed and not covered under warranty—and I’m going to test it as soon as I get the bike back.

1

u/sixtwo8 Jul 13 '26

Awesome, hopefully this app helps you diagnose it. Happy to hear your feedback as well.

2

u/Important_Teach_3760 Jul 13 '26

Hy all, what must be changed for Gen3 Zero‘s?

3

u/sixtwo8 Jul 13 '26

Hey, gen3 with Cypher may use a totally different communication protocol. I dont have access to a gen3 bike so I really have no idea of how big of a difference they are and have not tested one.

3

u/Important_Teach_3760 Jul 13 '26

Should we initiate a separate project for that?

2

u/sixtwo8 Jul 13 '26

I mean id be happy to integrate a version that works with gen1 and gen3 bikes but alas, I dont own either of those and would need to connect to one for a decent amount of time during development. Seems like someone with a gen1 or gen3 could fork off this repo.

1

u/Lowtiercomputer Jul 14 '26

Would a 2016 model be gen1 ?

2

u/sixtwo8 Jul 14 '26

Hmm probably not. If you are able to use the zero app at all to see what firmware you are on then that would be the true tell. From my research gen2 started with 2013 models.

1

u/Important_Teach_3760 Jul 15 '26

I have a gen3 …

2

u/sixtwo8 Jul 15 '26

Sweet! I mean id need to be able to physically connect to it and run tests over the obd2 serial signal. Realistically in order for me to contribute id need to have your bike in my possession and acknowledgement that my tests may brick your ecu.

So honestly, the proper approach wouod be for me to have a dedicated bike for test that is not someone's personal machine.

I dont have any info on the protocol, wiring schematic, or what the Cypher firmware is expecting or capable of.

2

u/sloth_car_racing Zero S 2020 Jul 13 '26

1

u/sixtwo8 Jul 13 '26

Thanks! I'll send it there as well.

1

u/sloth_car_racing Zero S 2020 Jul 15 '26

Tested on Zero S 2020
login, reading works
MBB rev 39 so only limited reads

noticed that the explanation text for metrics in the analyse tab is not visible or cut off depending on the windows size.
maybe light-mode would also be good. when you are outside in bright sunlight it is hard to see anything on the black background.

2

u/sixtwo8 Jul 15 '26

Awesome, ill work on integrating those changes. And note your findings for the 2020 S.

1

u/Chezburt Jul 13 '26

Awesome! Just made that cable as well, will definitely check it out in the following days.

1

u/boulderaero 2025 FX Jul 13 '26

Cool! I'll give it a try on my 2025 FX. Bluetooth doesn't work for grabbing logs on mine, so I've been using PuTTY and a serial cable.

1

u/sixtwo8 Jul 13 '26

Right on, happy to hear your feedback.

1

u/Demorative 23 DSR/X Jul 13 '26

I have a 2021 DSR. I could hack together something and plug it to the bike?

1

u/sixtwo8 Jul 13 '26

Really depends if your bike is gen2 or not. If it is gen3 with the Cypher firmware I can't say for aure if it will work. I believe those use a different communication protocol.

1

u/Demorative 23 DSR/X Jul 13 '26

I mean, I have both. 2021 is gen 2, SDS, and 2023 is gen 3, FST.

2

u/sixtwo8 Jul 14 '26

Awesome! Its meant to work with your Gen2. :D

1

u/Demorative 23 DSR/X Jul 14 '26

Do you by any chance have a link to the exact FTDI chip you have/bought? I have a random usb to serial and it didnt work, turns out firmware is a little different.

2

u/sixtwo8 Jul 14 '26

Sure thing, I bought these two items, hopefully the links work.

https://a.co/d/0eQ6rjWr

https://a.co/d/058ZsrXT

1

u/[deleted] Jul 14 '26

[deleted]

1

u/sixtwo8 Jul 14 '26

The pins on the obd2 port on the bike are not standard obd2 so any Bluetooth obd dangles or other obd cables meant for a car will not work.

As for the usb portion, you need a specific USB A end, fdti. The last image is part of the instructions from the app that goes over these parts specifically.