# 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="https://2616364922-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fji2kP9A59gwaulGOIlxw%2Fuploads%2FC9X6575Q3iWnfz9e0QBL%2Fimage.png?alt=media&#x26;token=bbf042fe-e12d-4aed-be8d-432fde867d49" 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](https://manual.simhubdash.com/device-definition-authoring/device-communication-protocols "mention"))
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&#x20;
2. Select the device and click on **Export installable definition**'&#x20;

   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.
