> For the complete documentation index, see [llms.txt](https://manual.simhubdash.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.simhubdash.com/device-definition-authoring/getting-started-device-definition-authoring.md).

# Getting started - Device definition authoring

### Introduction

A **device definition** describes how a hardware device behaves and appears inside SimHub.

It defines:

* The **hardware interface** (HID, Serial, Named Protocol, etc.)
* The **available features** (LEDs, screens, encoders, buttons, etc.)
* Default parameters such as:
  * LED mappings and colors
  * Brightness profiles
  * Screen layout
  * Default telemetry bindings

A definition transforms a raw hardware device into a ready-to-use SimHub device with proper names, visuals, and defaults, once installed the end user can instantiate it as any other device.

***

### Creating a New Definition

1. Open **Descriptor Builder**\
   → *Devices → Utilities → Device definition authoring tools -> New*<br>

   <figure><img src="/files/xA1JFIPRt4Rkawr9kuk6" alt=""><figcaption></figcaption></figure>
2. Fill the **device description**:
   * Brand and product name
   * Thumbnail image
3. Choose the **hardware interface**:
   * Serial, HID, or custom named protocol (see [Device communication protocols](/device-definition-authoring/device-communication-protocols.md))
4. Add **features**:
   * LEDs, screens, encoders, buttons, etc.
5. Define **logical → physical mappings** for LEDs or buttons.

***

### Distribution Formats

| Format                 | Extension | Purpose                               |
| ---------------------- | --------- | ------------------------------------- |
| **Project**            | `.shdd`   | Editable, for collaboration or backup |
| **Installable device** | `.shdp`   | Read-only, for end-user distribution  |

***

### Exporting Your Definition

To share your work:

1. Open the authoring tool
2. Select the device and click on **Export installable definition**'

   It will create a `.shdp` file which can be installed by any user wuing "installed devices" menu.

### Managing Installed Definitions

Installed definitions can be viewed or removed from:

> **Devices → Installed Devices**

This view is intentionally simple — it only lists user-installed third-party definitions.
