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
}