Welcome to UDS documentation!
Overview
The purpose of this project is to provide python tool to handle Unified Diagnostic Services (UDS) protocol defined by ISO-14229. The created package helps to simulate either communication side (client or server), monitoring and decode diagnostic communication.
The architecture enables to use it with various communication buses (e.g. CAN, LIN).
The most likely use cases of this package are:
communication with your vehicle (e.g. reading Diagnostic Trouble Codes)
monitoring and decoding UDS communication
performing tests against on-board ECU (server)
performing tests against OBD Tester (client)
Implementation Status
The package is currently in the early development phase, therefore only a few features are currently available. If you want to speed up the development, please visit contribution section to find out what are your options.
Features
Current implementation status of package features:
Feature |
Implementation Status |
|---|---|
UDS Messages and Packets |
Available since version 0.0.2 |
Packets Reception and Transmission |
Available since version 0.3.0 |
UDS Messages Reception and Transmission |
Available since version 1.0.0 |
Messages Segmentation |
Available since version 0.2.0 |
Packets Desegmentation |
Available since version 0.2.0 |
Client Simulation |
Available since version 3.0.0 |
Server Simulation |
Planned |
UDS Sniffer |
Planned |
UDS Messages Translator |
Available since version 2.0.0 |
Logger |
Available since version 4.0.0 |
Buses supported
Current implementation status of support for communication buses:
Bus |
Implementation Status |
|---|---|
CAN |
Full |
FlexRay |
Planned |
Ethernet |
Planned |
K-Line |
Planned |
LIN |
Planned |
OSI Model overview
An overview of features that are required to fully implement UDS protocol is presented in the table below:
OSI Layer |
Functionalities |
Implementation |
|---|---|---|
Layer 7 Application |
|
|
Layer 6 Presentation |
|
|
Layer 5 Session |
|
To be provided with Server feature. To be provided with Sniffer feature. |
Layer 4 Transport |
|
Network specific:
To be extended for other networks |
Layer 3 Network |
||
Layer 2 Data |
|
External python packages for bus handling:
To be extended for other networks |
Layer 1 Physical |
where:
OSI Layer - considered OSI Model Layer
Functionalities - functionalities required in the implementation to handle considered UDS OSI layer
Implementation - UDS package implementation that provides mentioned functionalities
License
The project is licensed under the MIT license - https://github.com/mdabrowski1990/uds/blob/main/LICENSE
Contact
group: UDS package development
discord: UDS Discord
Documentation generated
Feb 21, 2026