One file describes a device's I/O — so design tools never re-key a spec sheet again.
OpenDeviceIO (ODIO) is an open, machine-readable format for a hardware device's connectors, signals, power, physical characteristics, and compliance. Manufacturers publish an .odio.json alongside their support documents; AV/IT design software imports it to render back panels, route signals, and total power and heat load.
The problem
AV and control-systems designers — and the CAD tools they use (AVCAD, D-Tools, XTEN-AV, Stardraw, and others) — have no universal, machine-readable source of truth for a device's connectors, signals, power, and control. That data lives in PDF spec sheets and gets re-keyed by hand into every tool's product database, with errors.
ODIO defines a single file a manufacturer can publish alongside a product's support documents, describing the device's externally observable I/O accurately enough to draw with.
extron/dtp2-t-211@a · device{ "$schema": "https://opendeviceio.org/schema/v0.1/device.schema.json", "odioVersion": "0.1.0", "id": "extron/dtp2-t-211@a", "device": { "manufacturer": "Extron", "model": "DTP2 T 211" }, "ports": [ { "id": "hdmi-in-1", "label": "HDMI INPUT 1", "direction": "input", "connector": "hdmi-type-a", "link": { "type": "hdmi", "standard": "hdmi-2.0", "bandwidthGbps": 18 }, "signals": [ { "domain": "video", "transport": "hdmi", "maxResolution": "4096x2160" }, { "domain": "audio", "transport": "lpcm", "maxChannelsPerCircuit": 8 } ] } ] }
The three-layer port model
A device's ports are the heart of the format. Each port cleanly separates three concerns, so one connector can carry many concurrent flows (one RJ45 carrying Dante + AES67 + general LAN), and physical pole count stays separate from the number of independent signal circuits.
Connector
The physical jack only — rj45, xlr-3-f, 3.5mm-trs, hdmi-type-a, phoenix. Pole count lives here.
Link
The physical pipe the connector provides: 1 GbE with 802.3at PoE, USB with a 60 W PD budget, single-mode fiber. Link-level facts once per port.
Signals
One or more concurrent logical flows, each in its domain — video, audio, control, network, data, power.
Explore
Whitepaper
→Motivation, the data model, bundles & cables, governance and licensing, and the roadmap.
Authoring guide
→Produce a conformant .odio.json by hand, with the SDK, or via the Genie importer — and how to validate it.
Device registry
→A searchable, freely downloadable library of device, bundle, and cable files.
Device schema
→The canonical JSON Schema for a device document (v0.1).
Bundle schema
→Kits / assemblies: a part number containing devices, sub-assemblies, and cables.
Cable schema
→First-class cables: typed ends, the signals they carry, length and termination.