Skip to content

Add the five registry parts the Class A Protected Power Hub needs - #324

Merged
SammyOina merged 5 commits into
absmach:mainfrom
JeffMboya:SYN-323-hub-parts
Oct 29, 2026
Merged

SammyOina merged 5 commits into
absmach:mainfrom
JeffMboya:SYN-323-hub-parts

Conversation

@JeffMboya

@JeffMboya JeffMboya commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

What type of PR is this?

This is a feature

What does this do?

Adds mp2307_buck_ep, tps22918_sot23_6, l_power_10uh_6045, bzt52c3v3, header_1x8 with datasheet ratings, decoupling and symbols; removes tps22918_loadswitch.

Which issue(s) does this PR fix/relate to?

Have you included tests for your changes?

Yes, class_a_hub_parts.rs asserts the DBV pinout, MP2307 range and capacitors, inductor rating and symbols.

Did you document any new/modified features?

No, each part's TOML records its source datasheet.

Notes

reviewed_by set to JeffMboya, 28 Oct; #51 covers the shipped parts. KiCad has no MP2307 symbol, so none is named.

@SammyOina SammyOina left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes requested: the entries parse and structural CI passes, but these parts are not electrically or mechanically verified enough for the Class-A power hub.

  1. Add verified KiCad symbols. All five entries omit kicad_symbol, so schematic export falls back to synthetic rectangles instead of the correct library symbols. Add and verify the appropriate symbols for the header, zener, inductor, MP2307, and TPS22918.

  2. Verify the MP2307 exposed-pad footprint. registry/parts/regulators/mp2307_buck_ep.synth.toml:3 explicitly says the EP land pattern is unverified. The exposed-pad size affects thermal performance and the ground connection, so this cannot be accepted as an active regulator entry until it is checked against the exact MPS package datasheet/KiCad footprint.

  3. Resolve the TPS22918 pinout conflict. registry/parts/regulators/tps22918_sot23_6.synth.toml:3 says the pinout is from memory and not verified, while the existing tps22918_loadswitch entry assigns VOUT differently. Confirm the exact DBV datasheet/package pinout and then correct, replace, or deprecate the conflicting entry before adding another active part.

  4. Verify the inductor ratings. registry/parts/passives/l_power_10uh_6045.synth.toml:3 says the saturation and RMS current values were quoted from memory. Confirm the ratings for the exact SRN6045TA-100M part from its datasheet and record them in the operating metadata; these values are safety-critical in the buck converter.

  5. Add power/decoupling metadata. The regulator and power-path entries omit operating conditions and required decoupling. In particular, mp2307_buck_ep.synth.toml:10 declares required_decoupling = [] despite being a switching regulator. Add the appropriate input/output capacitor requirements and voltage/current limits so ERC can check the design.

All five parts are agent-authored and unreviewed. Please independently verify the symbols, footprints, pinouts, ratings, and provenance before promoting them into the shipped registry.

@JeffMboya

Copy link
Copy Markdown
Contributor Author

@SammyOina Fixed in 4c707a3: datasheet pinouts, ratings, decoupling, symbols added; KiCad has no MP2307 symbol; reviewed_by awaits #51.

@JeffMboya
JeffMboya force-pushed the SYN-323-hub-parts branch 2 times, most recently from a704fa6 to b796a7c Compare October 27, 2026 15:51

@SammyOina SammyOina left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes requested

[P1] Put datasheet URLs under [provenance]

In registry/parts/regulators/mp2307_buck_ep.synth.toml and registry/parts/regulators/tps22918_sot23_6.synth.toml, datasheet_url appears after the final [[required_decoupling]] table. TOML therefore attaches it to that decoupling record rather than to [provenance]; the RequiredDecoupling model ignores the unknown field. As a result, both parts still have no provenance datasheet URL and synth registry qualify reports E-SYNTH-QUAL-009. The header and zener entries also have no provenance URL. Move the URLs into [provenance] and add a valid source URL for every new part, as required by issue #51.

[P1] Add qualification regression coverage

The new test checks selected pins and ratings, but it does not assert provenance or run qualification for all five parts. Add a test that loads every part in this PR and verifies reviewed_by, reviewed_at, and provenance.datasheet_url, then runs the registry qualification path and fails if any of these parts produces E-SYNTH-QUAL-009 or another unexpected finding. The current green CI does not catch the misplaced URLs.

[P2] Make the zener electrical data machine-readable

bzt52c3v3 is described as a 3.3 V ADC clamp, but its structured operating conditions contain only maximum current and power. Add the nominal/breakdown or clamp-voltage and relevant test-current data needed for Synth to reason about the clamp; do not leave this behavior only in the description.

[P2] Validate the TPS22918 symbol substitution

The part uses the TPS22917DBV KiCad symbol because an exact TPS22918 symbol is unavailable. Pin-number equality alone does not prove that the substitute symbol’s names and electrical semantics are correct. Either add a validated local symbol or add explicit validation/documentation covering VIN, GND, ON, CT, QOD, and VOUT equivalence.

@JeffMboya

Copy link
Copy Markdown
Contributor Author

@SammyOina Fixed in f21e75f: datasheet_url under [provenance] for all five, Vz stated, symbol stand-in documented, qualification test added.

@SammyOina SammyOina left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes requested — Class-A power-hub part metadata is still incomplete

CI is green and the earlier provenance and pinout findings were addressed, but the registry data still does not encode enough electrical information for the Class-A power hub.

  1. Complete the MP2307 power-network requirements. mp2307_buck_ep declares only the three input capacitors. It does not model the required output capacitor or the BS–SW bootstrap capacitor. The MP2307 datasheet specifies the output capacitor and a 0.1–1 µF bootstrap capacitor. The registry marks bs as required, but nothing machine-checkable ensures the bootstrap network exists. Add the missing requirements, or extend the registry schema to represent a cross-net bootstrap capacitor, and add tests that fail when these components are omitted.

  2. Make the Zener voltage machine-readable. bzt52c3v3 puts Vz 3.1–3.5 V at Izt 5 mA only in its description; the structured operating metadata contains only current and power. Synth cannot reason about the clamp voltage from prose. Add structured nominal/minimum/maximum voltage and test it against the manufacturer data.

  3. Do not silently present the MP2307 symbol fallback as a normal KiCad symbol. The active regulator has no kicad_symbol, so schematic export falls back to a generated representation. Provide a validated local symbol including the exposed pad, or make the fallback explicit in export and qualification evidence so downstream users know the symbol is synthetic.

  4. Resolve the generic header identity. header_1x8 is an active registry part with no MPN or LCSC number and only a reseller URL. Mark it explicitly as generic/non-orderable, or provide an exact orderable identity with authoritative provenance.

The current tests prove pin maps and basic ratings, but do not catch the missing MP2307 output/bootstrap network or the unstructured Zener voltage. These electrical constraints need to be machine-checkable before this is complete Class-A power-hub registry data.

@JeffMboya

Copy link
Copy Markdown
Contributor Author

@SammyOina f8e2ff1: MP2307 bootstrap and output capacitors are machine-checked, Zener voltage is data, header_1x8 is Harwin M20-9990846, symbol fallback is listed in release.json.

…d libraries

mp2307_buck_ep: pin map, 4.75-23 V, 3 A, 2 W and the 3.15-3.45 x 2.26-2.56 mm
exposed pad (matches the EP2.41x3.3mm footprint) from MP2307 Rev 1.9; 2 x 10 uF
and 100 nF on IN. KiCad has no MP2307 symbol and MP2303ADN lacks the exposed-pad
pin, so none is named.
tps22918_sot23_6: pinout 1 VIN 2 GND 3 ON 4 CT 5 QOD 6 VOUT, 1-5.5 V, 2 A, 1 uF
on VIN, symbol Power_Management:TPS22917DBV (identical map). The older
tps22918_loadswitch put VOUT on pad 5 with a 3.5-15 V range and nothing used
it, so it is removed.
l_power_10uh_6045: Irms 3.2 A, Isat 4.6 A, DCR 52 mOhm, height 4.2 mm from the
Bourns SRN6045TA datasheet; symbol Device:L.
bzt52c3v3: Device:D_Zener, 500 mW. header_1x8: Connector_Generic:Conn_01x08.
class_a_hub_parts.rs asserts symbols, pinout, ratings and decoupling.
reviewed_by and reviewed_at are set on each part's provenance, from the review done on 2026-10-28, so a design built from them no longer raises W-SYNTH-PART-UNVERIFIED. The shipped seed parts are not covered; that stays with absmach#51.
… parts

datasheet_url moves under [provenance] for the buck and load switch,
the other three parts gain one, the zener states Vz and Izt, and the
TPS22917 symbol stand-in is documented.
…-checkable

The MP2307 declares its bootstrap capacitor (BS to SW, from its datasheet's
0.01 uF or more) and its output capacitor behind the inductor as
required_decoupling rules. A rule can now name the pin its capacitor returns to
(to) and the series part it sits behind (through), and E-SYNTH-POWER-001 and
-006 check both. The loader refuses a decoupling rule that names a pin the part
does not have; that found bq24074 rules on pins vin and vout that the part
calls in and out, so they were never checked, and are fixed. The BZT52C3V3's
clamp voltage is nominal, minimum and maximum data with its test current, and
the release manifest lists the parts whose schematic symbol is drawn from the
registry pin map. header_1x8 is the Harwin M20-9990846 with Harwin's own
document as its datasheet.
@JeffMboya

Copy link
Copy Markdown
Contributor Author

@SammyOina rebased onto main as e7bc013; CI is green on it. The fixes are the ones in my earlier reply.

@SammyOina
SammyOina merged commit 2bb611e into absmach:main Oct 29, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add the five registry parts the Class A Protected Power Hub needs

2 participants