Log UDS data

UDS (Unified Diagnostic Services) is a protocol often used in automotives, incl. electric cars.

In this section we provide tips on how to log UDS data with your CANedge.

Note

We strongly recommend that you read our UDS intro before proceeding


Configure your device

To request UDS data, you need to know what CAN request frames to send. In contrast to OBD2, this is proprietary information and thus only known if you are the OEM or if the information has been reverse engineered.

In our EV data pack, we provide Configuration Files that may be used for the following EVs:

  1. Nissan EVs (e.g. Nissan Leaf)
  2. Hyundai/Kia EVs (e.g. Kona, EV6, Ioniq)
  3. VW EVs (e.g. ID.3, ID.4, Skoda Enyaq Audi Q4)

For UDS requests, you typically need to send a ‘Single Frame’ (SF) request followed by a ‘Flow Control’ (FC) frame to trigger a multi-frame response from the vehicle. This can be done as illustrated in below picture, where the Flow Control frame is delayed slightly vs. the Single Frame:

uds-transmit-list-single-frame-flow-control

Request and record UDS data

To record the UDS data, see the section on OBD2 data (the principles are the same). As with OBD2 logging, we recommend ensuring that you do not transmit data while the vehicle is powered off - e.g. by setting up a control signal.


Decode multi-frame data (ISO TP)

UDS often involves multi-frame responses as per ISO TP, which means that data has to be reassembled before it can be correctly DBC decoded. To DBC decode multi-frame data, you can use the MF4 decoders. If you use our latest OBD/UDS DBC files, they are already modified for use with the MF4 decoders.

Example: UDS data from a Kia EV6 visualized via :ref:`Grafana-Athena <ref-dashboards>`.

uds-ev6-electric-car-grafana-dashboard