UDS Blockset

A Simulink UDS Blockset to add diagnostics services to your models. Enabling you to generate production code directly from your Simulink model.

  • You can add diagnostics trouble codes (DTCs) to be triggered from your model.
  • Complex routine control functions can be modelled and managed from within the Simulink environment.
  • You can drop a read/write by identifier block on any Simulink signal. This enables you to see and control your entire model over diagnostics.
  • Security access blocks enable you to choose what is allowed at the different security levels.
  • Tester present is fully managed, so you do not have to worry about this at all.
  • Comes with many examples to get you going fast. Copy and paste them into your models to gives you UDS in your ECU.
  • You can be well supported throughout your project, we can provide support, training and integration services. Whatever you need to be successful, on time and error free.

In summary the UDS Blockset empowers you to do easy and efficient development of Unified Diagnostics Services, ISO 14229, within the model based development environment.


Simulink UDS Blockset Architecture

Simulink UDS Blockset Architecture



A case-study of a telematics ECU development using the UDS Blockset.

A case-study of a battery fan controller delivered faster than ever incorporating the UDS Blockset.

As seen on the Mathworks website.

Contact us to arrange a live-web demo where we can walk you around a real production model. It will give you the information you need to decide if the UDS Blockset can help your project.

Services Supported

The current list of services fully supported with the UDS stack and complete with Simulink and Target Package support for the Embedded Coder are as follows.

  • 0x10 – Diagnostic Session Control: Enable different diagnostics sessions
  • 0x11 – ECU Reset: Reset the ECU, typically used after changing ECU data
  • 0x27 – Security Access: Restrict access to data and services
  • 0x3E – Tester Present: Keep diagnostic sessions alive while no activity is occurring
  • 0x22 – Read Data By Identifier: Request data from the ECU
  • 0x2E – Write Data By Identifier: Write data to the ECU
  • 0x31 – Routine Control: Run functions within the ECU (e.g., execute tests, reset odometer)
  • 0x34 – Request Download: Reprogram the ECU (implemented within Embed Bootloader)
  • 0x36 – Transfer Data: Manage reprogramming (implemented within Embed Bootloader)
  • 0x37 – Request Transfer Exit: Exit reprogramming (implemented within Embed Bootloader)
  • 0x14 – Clear Diagnostic Information: Clear diagnostic trouble codes within the ECU
  • 0x19 – Read DTC Information: Read diagnostic trouble codes from an ECU. Including snapshots and extended data.
  • 0x2F – Input Output Control By Identifier: Force ECU inputs/outputs and return control to ECU

More services are being added as needed, please get in touch if you have any particular requirements.

On-the-Road Now

The Embed UDS blocksets and software components have been developed according to Automotive SPICE (HIS) and are full production quality. They have been used in the following projects and are on the road now.

Hybrid Climate Interface Controller

A climate interface unit for a hybrid electric vehicle interfacing with a LIN electric compressor as well as 2 CAN networks. This has UDS and a CAN bootloader.

Freeescale MPC5646 using Green Hills Compiler

EV Battery Fan Controller

A battery fan controller for a lithium battery in a full electric vehicle. This is in production today using the Embed CAN stack, UDS blockset and application all fully developed in Simulink. This is also described in more detail in our case study.

Freescale HS12 using CodeWarrior compiler.


A line-fit vehicle immobiliser for SAIC which is on the road today in a mass produced vehicle. In this application the Embed CAN-TP and complete diagnostics stack sat on top of the Mentor Graphics CAN stack (i.e. In the figure above the Embed CAN Stack was replaced with the Mentor Graphics CAN stack).

Freescale HS12 using IAR compiler.

Stolen Vehicle Tracker

A stolen vehicle tracker that is line-fit to Aston Martin cars and after-market fit to Jaguars and Land Rovers and Range Rovers.

ATMEL ARM7 using IAR compiler.

Fleet Management Telematics ECU

An after-market fit ECU to report position and salient CAN data over the air to truck fleet managers. As well as the standard UDS Services this ECU also has a UDS Bootloader to reflash the ECU over CAN or via the mobile phone network using GSM. This is featured in our case study section, UDS on a production telematics unit.

Freescale MPC5516 using CodeWarrior and GNU compilers.


A HVAC ECU for an electric vehicle with full UDS services.

Freescale MPC5554 using GNU compiler.

Cabin Switch Module

A switch module to monitor many switches and report switch events on the CAN bus.

Freescale Kinetis KEO6 using IAR compiler.