Freediag porting post-mortem

It took a week, what did we learn? What is left to do?

What is Freediag?

Freediag is a free tool for grabbing diagnostic codes from cars over OBDII connections. Before the days of cheap diagnostic readers, it was a homebrew option for home mechanics and hobbyists.

The Work

Working with Fable, 8 milestones were developed. The final report as part of this work deals with milestones 1-7. Milestone 8 is mostly nits, final formatting, and cleanup.

For a full breakdown, including costs, findings, and interactive bug browser, go here

Future work may continue. Freediag lacks many more modern features and the architecture reflects the C source code. If there is ongoing interest, perhaps freediag will continue to live on, or I may try it out on my own cars.

Source of the port is available here under the original license.

The Caveats

Freediag was developed against mostly older cars predating widespread adoption of CAN for OBD-II. I have no current way of testing the new freediag against older cars. What Fable did do is test the Rust executable against the C executable using the existing replay harnesses and samples already in the repo. Mismatches were treated as bugs unless the code itself had obvious issues or the standards said otherwise.

I currently lack a way to test the code, or a compatible car. But this has been such an interesting process I may grab a cheap adapter, and see if I can get information out of my cars. Maybe even add a TUI or a GUI.

Future Questions

The estimated final cost ( by Fable ), based on published api cost numbers was $2,771

The cost reported by /usage in Claude Code was $1771, I don't know if the accounting is different but it is odd the difference is exactly $1,000.

The porting work was done entirely with a 20x Max Plan, utilizing 1-2 5 hour sprints a day. There was plenty of room inside each 5 hr window to also continue working on other tasks with other claude instances.

Of course, there is always a cost / speed tradeoff. Running more agents in a workflows, using API spending, could speed up the porting more. But porting 30,000 lines of C-code in a week is impressive.

And Anthropic announced the general availability of Opus 5 last week. Given its strong agentic coding abilities and results on ARC-AGI-3, it may be 'smart' enough to use as PM, and keep Fable 5 as an experienced engineer only to be used on the hardest cases. Current feedback seems mixed, and Fable has proven to be an affordable reviewer. So manybe things will be kept as-is.

Wabi-sabi — beauty in the mend

Let’s stitch your systems into something that holds.

Book an assessment