finds.dev← search

// the find

KoffeinFlummi/rustbucket

★ 59 · Rust · GPL-3.0 · updated Nov 2020

Access your car's diagnostics with a BeagleBone Blue and Rust.

A Rust tool for reading OBD2 diagnostics via a BeagleBone Blue, targeting older VAG vehicles (VW, Audi, Skoda) that use legacy K-line protocols like KWP1281 rather than CAN. Fills a real gap — most open-source OBD tools assume modern CAN-based vehicles and ignore the mess of pre-2006 European cars. For someone with a Golf Mk4 sitting in the garage, this is the tool that actually works.

- KWP1281 and KWP2000 support is rare in open-source tooling — the protocol is poorly documented and most projects skip it entirely. Having it implemented in Rust with actual tested VAG ECUs is genuinely useful.

- Includes KiCAD schematics and Gerber files for the K-line level converter PCB. You can just send the files to JLCPCB and have boards in two weeks rather than hand-wiring the level shift circuit.

- Honest test matrix: documents exactly which ECUs were tested, at which baud rates, and what worked versus what didn't. The airbag warning is warranted — KWP1281 airbag controllers have a history of bricking on third-party tools.

- Cross-compilation setup for ARMv7 is documented and the .cargo/config handles the target automatically. Building on the BeagleBone itself is painful given its CPU.

- Abandoned since November 2020 with known open bugs — the README itself notes multi-frame CAN messages don't work (VIN reads, more than 2 DTCs). That's a hard limit for any serious diagnostic use on the Golf Mk7.

- BeagleBone Blue only. The CAN transceiver integration is the whole reason this works easily, but if you have a BeagleBone Black or want to use a Raspberry Pi with a MCP2515 hat, you're rewriting the hardware layer.

- ISO 9141 is not implemented, which knocks out a chunk of non-VAG vehicles from that era. The table flags it as 'not implemented, but technically supported by the hardware' — that work was never done.

- The MOSFET schematic design for K-line level shifting is self-described as 'horrendously inefficient' and the author admits not knowing if it's protecting the BeagleBone GPIO pins correctly. For a tool that involves talking to airbag controllers, that's a concerning disclaimer.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →