Isaac Tools
Account

Registry and adding a part

The driver registry is one YAML file per part under packages/registry/parts/<category>/<id>.yaml. Body files name parts by id; the validator checks pins and roles against these definitions; the BOM generator turns them into a shopping list; the firmware generator renders their driver templates.

What a part declares

  • id, category, name, kind.
  • pins: the module's logical pins with direction (in means the board drives it), PWM, and bus membership.
  • Boards declare gpios instead, each with capabilities (in, out, pwm, adc, input-only, ...).
  • Drivers declare channel_pins, mapping a channel's in1 / in2 / pwm onto the driver's own pins.
  • electrical: the currents the BOM power check sums per rail.
  • supply: the AliExpress search terms, the plain search URL derived from them, the typical price, and the pack quantity. Affiliate parameters are added by the API at request time, never stored here.
  • templates: driver templates for the firmware generator.

Add a part

  1. Copy a neighbour in the same category and name the file <id>.yaml.
  2. Fill in pins (or GPIOs for a board), electrical ratings, and the AliExpress search terms.
  3. Open the search URL in a browser and confirm the first page shows the part.
  4. Run the registry tests:
pnpm --filter @isaac/registry test
  1. Open a pull request. The tests check the schema, that the URL is exactly the one derived from the search terms, and that every committed body still resolves.