Expand Minimize Picture-in-picture Power Device Status Voice Recognition Skip Back Skip Forward Minus Plus Play Search
Internet Explorer alert
This browser is not recommended for use with smartdevicelink.com, and may not function properly. Upgrade to a different browser to guarantee support of all features.
close alert
To Top Created with Sketch. To Top
To Bottom Created with Sketch. To Bottom
HMI Documentation


This document provides the information for integrating the SmartDeviceLink (SDL) Embedded Component (generally referred to as SDL Core) with vehicle Head Unit (HU)

SDL is a system that is installed on the HU and allows a connected application on the mobile device to utilize some vehicle functionality such as text-to-speech, voice recognition, display, hardware buttons, etc.

With SDL as the connectivity middleware in a vehicle's infotainment system, applications running on connected iOS and Android devices might be presented to the vehicle HMI.

This guideline describes:

  • The types of messages and message formats used for communication
  • The API that needs to be supported by the vehicle HMI
  • Drawings showing exemplary display layouts for illustrating expected HMI behavior
  • Sequence Diagrams showing the sequence of messages to be sent and received between SDL and the HMI
  • Examples for each function call in different message formats corresponding to the transports currently supported

How to use this guide

The SDL HMI Integration guidelines may seem daunting at first, but we're not asking you to read them from cover to cover at the start of your exploration into SDL. We recommend an implementation of SDL HMI as follows

  1. Get connected to SDL by following the Integrating Your HMI portion of the SDL Core Guides
  2. Once you're connected and registered, connect a sample app such as the iOS RPC Builder to start to understand the RPC messaging layer in SDL between core and your HMI.
  3. From there, you'll notice messages such as BasicCommunication.UpdateAppList. Use this guide to understand what those messages mean and how they can be leveraged in your HMI to provide the best possible user experience.

Abbreviations and Definitions

Abbreviations used in this document are collected in the table below

Abbreviation Meaning
ASC App Service Consumer
ASP App Service Provider
BT Bluetooth
CID Center Information Display
DID Data Identifier
DTC Diagnostic Trouble Code
ECU Electronic Control Unit
GPS Global Positioning System
GUI Graphical User Interface
HDOP Horizontal Dilution of Precision
HMI Human Machine Interface
IVI In Vehicle Infotainment
JSON JavaScript Object Notation
PDOP Positional Dilution of Position
RPC Remote Procedure Call
SDE Software Development Environment
SDL SmartDeviceLink
SEE Software Engineering Environment
TTS Text To Speech
UTC Universal Time Coordinate
VDOP Vertical Dilution of Precision
VR Voice Recognition

Previous versions of these docs

This documentation is transpiled from markdown in the sdl_hmi_integrations GitHub repository to HTML. To view the guides for previous releases, you can navigate to the releases page to view or download the markdown files.

View on GitHub.com
Previous Section Next Section