Products / Open source
Diagnostics want to be free.
DiagCom is our open source vehicle communication service for DoIP and UDS. Find a vehicle on the network, read and clear fault codes and run your own diagnostic sequences, all through a simple REST API.
- GPL-3.0
- C# / .NET
- DoIP · ISO 13400
- UDS · ISO 14229
Why we opened it
Talking to a vehicle should not need a closed toolbox.
The problem
The basics sit behind licences
DoIP and UDS are open ISO standards. Yet reading a fault code or a battery voltage has usually meant a proprietary tool and a licence key.
The consequence
Test rigs get locked in
Development teams, labs and CI pipelines end up shaped around a vendor instead of around the vehicle. Integration gets slower, and every new rig costs more.
Our answer
Open the basics, build on them together
In May 2024, at VECS in Gothenburg, we released DiagCom as open source. Free to use, free to study and free to improve, under GPL-3.0.
How it works
From cable to fault codes in four steps.
- 01
Plug in
Connect the vehicle to the same network with an Ethernet to OBD cable and turn the ignition on.
- 02
Find the vehicle
DiagCom listens for DoIP vehicle identification messages over UDP and returns each vehicle's IP and VIN.
- 03
Read and clear DTCs
Read and clear fault codes across all ECUs, with a physical request for any ECU that does not answer. Battery voltage is one call away.
- 04
Run your own sequences
Describe a diagnostic sequence in JSON and get raw or parsed values back. Logging per VIN is built in.
REST API · localhost:5001 · Swagger included
› GetConnectedVehicles list VINs found on the network
› ReadClearDTCs read, and optionally clear, fault codes
› ReadBatteryVoltage voltage in millivolts
› RunDiagnosticSequence your sequence, parsed results
› RawDiagnosticSequence the same, without parsing
Get started
Two ways in.
Run it as a service
Download the self-contained Windows installer from the GitHub release. DiagCom starts as a local service on port 5001, and you explore the API in Swagger.
Get the installer (opens in a new tab)→Use it as a library
Add the package to your own .NET project and call the vehicle commands directly, with or without the REST layer.
$ dotnet add package DiagCom.DoipCommunicationWhat's inside
Five packages. Found by engineers who needed them.
No ad budget and no campaign beyond the announcement. The downloads came from people searching for a DoIP stack they could use.
1,850+NuGet downloads
| Package | Role | Downloads |
|---|---|---|
| DiagCom.DoipCommunication (opens in a new tab) | Entry point for vehicle communication | 321 |
| DiagCom.Commands (opens in a new tab) | Predefined vehicle commands and connections | 334 |
| DiagCom.Uds (opens in a new tab) | Diagnostic services (ISO 14229) and retries | 381 |
| DiagCom.Doip (opens in a new tab) | DoIP request and response (ISO 13400) | 387 |
| DiagCom.Utilities (opens in a new tab) | Shared helpers | 427 |
Source: nuget.org, October 2026. Targets .NET 7 and runs on later versions.
Open source and Diadrom
Free to start. Built by the people who ship it in series production.
DiagCom · open source
- PC-side DoIP and UDS communication service
- For development, labs, test rigs and CI
- Community supported through GitHub
- GPL-3.0, free to use and modify
Diadrom products and teams
- Diagnostics running in 250,000+ serial-production vehicles
- Diag Com Stack, Bootloader and Encrypt for the ECU side
- DiagStudio for OEM and aftermarket diagnostics
- Specialists, complete teams or bounded deliveries
Not to be confused with Diag Com Stack (DCS), our embedded diagnostic communication stack for ECUs. DiagCom is the open source service that talks to the vehicle from the outside.
Stop guarding the basics. Start building on them together.
Open an issue, send a pull request or start a discussion. Found a security issue? Follow the security policy in the repository.