An open YAML schema for describing embedded development boards — their components, capabilities, and provenance. One record per board. Plain files, diffable in git.
UBDS is a flat-file, human-readable schema for describing any embedded development board. Every record lives as a YAML file in the public repository, keyed by slug and (since v1.2) nested under its manufacturer_slug. This lets tooling — search, comparison, AI assistants — work against a single source of truth.
Plain YAML. Diffable in git. No database dump required.
Every record cites its provenance in meta.sources with a meta.last_verified date.
Confidence is explicit. Missing is not pretending.
The minimum viable UBDS record. Six top-level keys are required —ubds_version, name, slug, manufacturer, board_type, and meta — plus two nested keys inside meta (sources and product_url). The rest are recommended or optional.
| Key | Type | Requirement | Description |
|---|---|---|---|
ubds_version | string | required | Schema version. Must match ^1\.\d+$ (currently "1.2"). |
name | string | required | Display name as printed on the board / product page. |
slug | string | required | URL-safe kebab-case identifier. Unique across the database. |
manufacturer | string | required | Canonical vendor name. |
manufacturer_slug | string | recommended | kebab-case pointer to manufacturers/<slug>.yaml (v1.2+). |
board_type | array | required | One or more of MCU, SBC, SoM, Carrier, Expansion, FPGA, AI, SDR, Industrial, DSP, Other. |
| Key | Type | Requirement | Description |
|---|---|---|---|
processing | array | recommended | Array of processing elements (MCU/SoC/GPU/NPU/FPGA). Omit for carriers. |
interfaces | array | recommended | Physical connectors with connector + classification + protocols. |
pin_headers | array | recommended | Exposed peripheral pin headers (40-pin, mikroBUS, etc.). |
wireless | array | optional | Array of {protocol, version, ...}; empty if no wireless. |
power | object | optional | Input voltage range, provided rails, consumption profiles. |
physical | object | optional | dimensions_mm, weight_g, form_factor, mounting_holes. |
software | object | optional | languages/frameworks/os/ai_ml_tools/ides with support_level. |
| Key | Type | Requirement | Description |
|---|---|---|---|
meta | object | required | Provenance block. sources[] and product_url are required sub-keys. |
meta.sources | array | required | At least one verifiable source URL. |
meta.product_url | string | required | Canonical manufacturer product page (not a reseller). |
meta.confidence | object | optional | Per-section verification level: low | medium | high. |
Commerce separation: records must NOT include a top-level pricing key. Pricing lives in a separate board_sellers table outside the spec.
A minimal, valid UBDS v1.2 file looks like this:
# Minimal valid UBDS v1.2 record — Espressif ESP32-S3-DevKitC-1
ubds_version: "1.2"
name: "ESP32-S3-DevKitC-1"
slug: "esp32-s3-devkitc-1"
manufacturer: "Espressif"
manufacturer_slug: espressif
board_type:
- MCU
status: active
processing:
- name: "ESP32-S3"
part_number: "ESP32-S3-WROOM-1"
role: primary
integrated: true
type: mcu
cpu_cores:
- architecture: "Xtensa LX7"
bit_width: 32
count: 2
clock_mhz: 240
memory:
ram_kb: 512
flash_kb: 8192
wireless:
- protocol: WiFi
version: "4"
standard: "802.11b/g/n"
- protocol: Bluetooth
version: "5.0"
features: [BLE]
meta:
sources:
- "https://www.espressif.com/en/products/devkits/esp32-s3-devkitc-1"
product_url: "https://www.espressif.com/en/products/devkits/esp32-s3-devkitc-1"
last_verified: "2026-04-05"
data_completeness: complete
confidence:
processing: high
wireless: high
Confidence is recorded under meta.confidence as a map from section name to one of three levels — low, medium, high. Sections include processing, interfaces, wireless, software, power, and others enumerated by meta.confidence_skipped.
Sourced from the manufacturer's datasheet or product page. Cross-checked by at least one reviewer.
Sourced from a reputable distributor or community wiki. Not independently verified.
Inferred from related records or a single anecdotal source. Treat as a placeholder.
UBDS follows semver at the schema level. Breaking changes require a major bump and a migration note. The current schema is v1.2 (released 2026-04-30); see the CHANGELOG for the v1.0 → v1.1 → v1.1.1 → v1.2 history. The metadata block remains in v1.2 for back-compat and is slated for removal in v1.3.