Import and share

Save and share instruments using .instrument files. The file contains display code, instrument configuration and image resources, which can be used in your own dashboard after importing.

Contents of an instrument file

.instrument is a ZIP package containing manifest.json, main.jsx, and assets/. The configuration records the name, App version, HUD support, and parameters input definitions, including default values, ranges, and options; scripts and resources define appearance.

The input values filled in locally and the OBD device binding are saved separately in the App data and are not exported with the instrument package; the default text in the input definition will still be exported and should be checked before sharing. Temporary running status and $sessionStorage are also not exported.

Export and import

After saving, export the instrument from its menu, then use the system share sheet to send it or save it to Files. The recipient opens the file with CapDrive or imports it from the custom instrument menu and adds it to the page via Edit dashboard → +.

The recipient starts with the defined defaults and can enter local values in Input bindings. For the OBD input, the recipient needs to select the corresponding vehicle parameters for their device. Keep the input identifier unchanged to reuse the code. The instrument package does not include vehicle Bluetooth connectivity and does not configure parameters for the recipient.

Example: Instrument configuration

parameters below defines the basic speed, OBD coolant temperature and a numerical upper limit input.

Field meaning
identifier The input identifier determines the script field name.
kind Input type.
basicData Basic data source.
valueType Expected value type of an OBD input.
defaultValue Shareable default value.
supportsHUD Whether to support HUD.
appVersion Required app version for compatibility checking.

The manifest does not contain input values for OBD device bindings or local changes. The complete instrument package also requires scripts and resources.

{
  "formatVersion": 1,
  "title": "My instrument",
  "appVersion": "1.3.1",
  "parameters": [
    {
      "name": "Speed",
      "identifier": "speed",
      "kind": "basic",
      "basicData": "speed"
    },
    {
      "name": "Coolant",
      "identifier": "coolant",
      "kind": "obd",
      "valueType": "number"
    },
    {
      "name": "Limit",
      "identifier": "limit",
      "kind": "number",
      "defaultValue": 120,
      "minimum": 0,
      "maximum": 300
    }
  ],
  "supportsHUD": true
}