Contribute
The database is a set of YAML files in git. Everything — new devices, findings, claims — arrives as a pull request, by hand or through the MCP server.
Pull request workflow
- Fork the repository (or use "Edit this record on GitHub" on any device page).
- Add or edit
data/devices/<vendor>/<model>.yaml. The id is<vendor-slug>/<model-slug>, lowercasea-z 0-9 -. - Run
npm install && npm run validate: every record is checked againstschema/device.schema.json. - Open the pull request. Say what you checked yourself and what an AI tool produced.
A curated file overrides an imported record with the same id: to enrich a device that came from another database, create its curated file — device pages for imported records link to a prefilled one.
Record format
A real record, data/devices/ryze/tello.yaml:
id: ryze/tello
vendor: Ryze Tech
model: Tello
aliases: [DJI Tello]
category: drone
identifiers:
ble_names: []
status: controllable
vendor_support: degraded
summary: >-
Small Wi-Fi drone with an official text command SDK over UDP. Community libraries
also cover the undocumented binary protocol used by the vendor app (video, telemetry).
interfaces:
- name: Tello SDK text commands
transport: wifi
status: documented
confidence: high
notes: UDP 8889 commands, 8890 state, 11111 video
projects:
- name: DJITelloPy
url: https://github.com/damiafuentes/DJITelloPy
kind: library
license: MIT
provenance:
sources: [curated]
ai_assisted: false
updated: 2026-10-17The specification describes every field; the JSON Schema is normative.
Status levels
- Unknown — Listed, nothing public is known yet.
- In progress — Someone holds a live claim; no usable result yet.
- Partial protocol — Part of the protocol is documented (e.g. telemetry, not control).
- Controllable — Fully drivable by open code over the stock firmware.
- Open firmware — A free replacement firmware exists.
Claims: say you are on it
Before you start reverse engineering a device, add a claim. It shows the device asIn progress on the site and in agents' lookups, with your contact, so nobody starts the same job in parallel. Claims expire (90 days at most); renew or publish.
claims:
- who: Jane Doe
contact: https://github.com/janedoe
scope: BLE control protocol
since: 2026-10-17
expires: 2026-11-16
agent: claude-codeAgents do this with the claim_device tool.
Verification levels
AI-produced protocol descriptions can be confidently wrong. Each interface carries aconfidence (low, medium, high), and each record a verification list:
hardware-replay— a replayable test (script, capture replay) was run on a real device, with the firmware version stated. Only this earns the Verified on hardware badge.manual— someone tried it by hand on a real device.none— not verified; desk research or captures only.
verification:
- method: hardware-replay
by: Jane Doe
date: 2026-11-10
firmware: "1.4.2"
notes: tests/replay_takeoff_land.py passes on two unitsSet provenance.ai_assisted: true whenever an AI tool wrote part of the record, and list the tools.
What we accept
Protocol descriptions, original open-source code and links — never firmware images, vendor code or keys, and nothing that defeats a safety function (Remote ID, geofencing, radio limits…). Read the content policy.
News posts
Add news/YYYY-MM-DD-slug.md with title, date, summary and tags in the frontmatter.