UBDS — Universal Board Description Standard
Every board listing on DevBoardFinder is powered by a single YAML file that follows UBDS — the Universal Board Description Standard. It is open-source, vendor-neutral, and version-controlled. Anyone can contribute a board, fix a spec, or build on the data.
Field reference
These columns appear on every board row. Optional fields are marked "no" under required.
| field | type | required | description |
|---|---|---|---|
| slug | string | yes | Stable ID, lowercase-kebab. Primary key. |
| name | string | yes | Human-readable board name. |
| manufacturer | string | yes | Canonical company name. |
| board_type | string[] | yes | MCU, SBC, SoM, FPGA, AI, SDR, … |
| series | string? | no | Board series or product line. |
| parent_board | string? | no | Slug of parent board if variant. |
| hardware_version | string? | no | Hardware revision string. |
| status | enum | yes | active | discontinued | upcoming | prototype |
| release_date | date? | no | Manufacturing release date. |
| end_of_life_date | date? | no | End of life date. |
| difficulty_level | enum? | no | beginner | intermediate | advanced |
| ecosystem_size | enum? | no | small | medium | large | niche |
| architecture | string? | no | CPU architecture (e.g. ARM Cortex-M4F). |
| total_cores | int? | no | Total CPU cores across all clusters. |
| max_clock_mhz | int? | no | Highest CPU clock in MHz. |
| ram_kb | int? | no | Onboard RAM in kilobytes. |
| flash_kb | int? | no | Onboard flash in kilobytes. |
| wireless | string[] | no | wifi, ble, lora, thread, zigbee, … |
| frameworks | string[] | no | arduino, zephyr, esp-idf, … |
| languages | string[] | no | c, cpp, rust, micropython, … |
| form_factor | string[] | no | feather, qwiic, nucleo, jetson, … |
| use_cases | string[] | no | iot, robotics, vision, prototyping, … |
| certifications | string[] | no | Regulatory certifications (FCC, CE, etc.). |
| tags | string[] | no | Free-form discovery tags. |
| product_url | url | yes | Canonical manufacturer product page. |
| raw_spec | jsonb | yes | Full UBDS YAML object as JSON. |
Value taxonomy
board_type values: MCU, SBC, SoM, Carrier, Expansion, FPGA, AI, SDR, Industrial, DSP, Other.
status values: active, discontinued (eol), upcoming, prototype.
difficulty_level values: beginner, intermediate, advanced. Editorial — reflects software ecosystem and documentation maturity, not silicon complexity.
Contribution guide
Adding a board takes five steps: fork the ubds-database repo, create a YAML file in boards/ using the minimal template, validate with dbf validate, open a PR, and respond to review.
For the full walkthrough, see the CONTRIBUTING.md guide.