Keil Logo

MDK Middleware

Learning Platform

Microcontrollers offer a wide range of peripherals to meet today's embedded design requirements. However, implementing applications that efficiently utilize these interfaces presents software developers with real challenges. Flexible and easy-to-use middleware components are essential to unleash the power of communication and interface peripherals in modern microcontrollers.

Middleware Components

MDK Middleware provides royalty-free, tightly-coupled software components that are specifically designed for communication peripherals in microcontrollers. It is provided as part of the MDK-Professional or MDK-Plus editions in binary format. The Middleware Software Pack includes the following components:

  • The Network component includes services, protocol sockets, and physical communication interfaces for creating TCP/IP networking applications. It supports IPv4/IPv6 dual-stack networking and can be used with ARM mbed TLS to provide secure communication using SSL/TLS.
  • The USB component supports USB Device and USB Host communication using standard USB device classes.
  • The File System component lets you create, save, read, and modify files in storage devices such as RAM, Flash, SD/SDHC/MMC memory cards, or USB memory devices.
  • The Graphics component enables you to develop flexible graphical user interfaces (GUI) for LCD displays.
  • mbed software components enable Internet of Things (IoT) applications. mbed TLS provides secure communication using SSL/TLS, while mbed Client connects your device to an mbed Device Server.

Notes Note

  • Source code of the middleware is available as separate product.
Middleware Network Component USB Component File System Component Graphic Component mbed Components
Middleware Component MDK Edition
Professional Plus
File System


Network IPv4

Network IPv4/IPv6

USB Device

USB Host

mbed TLS

mbed Client


Every device that is connected to a network is a potential target of a cyber attack. This also counts for devices that are not connected to public networks - a private network might get hacked and all devices attached to it compromised. Thus, the industry has a strong drive towards safety and security. Dedicated vulnerability tests enable you to check your equipment throughout the development stage.

One of these tests is the Achilles Test Platform by GE Digital. The Network component has been checked with the Achilles Test Software (ATS) and passes Level 1 tests. Thus, all Arm Cortex-M based microcontrollers using the Network component, should pass the Achilles Level 1 certification.

CMSIS-Driver Validation

MDK Middleware uses the CMSIS-Driver API. The CMSIS-Driver Validation Software Pack can help you to verify the setup and configuration of the CMSIS-Driver interfaces in your application. It also helps to debug the underlying hardware and to run speed tests on communication peripherals.

Notes Note

  • CMSIS-Drivers are available for a wide range of device families. Please check for availability of those drivers in the Device Database, ask the device vendor or contact ARM support.
CMSIS-Driver Validation

Middleware Application Templates


This video introduces four example projects that show the usage of MDK Middleware in an application. Although each project is available for a certain development board only, it is an easy task to migrate it to one of the other boards as well (if the hardware requirements are met).

Click on the examples below for detailed workbooks with step-by-step instructions:

Touch Screen Display


Output a text file from a USB memory stick.

Data Acquisition


Show live sensor data on a web interface using latest web technologies.

Audio Recorder


Use a MicroSD card to store audio tracks. Control the audio recording and playback with a web interface.

Data Logger


Record digital and analogue inputs and read data via USB device interface.

  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.