Skip to content

Class A, case 1: MCU + SWD/JTAG + crystal + reset + status LED - #270

Open
JeffMboya wants to merge 2 commits into
absmach:mainfrom
JeffMboya:SYN-263-irrigation-controller
Open

JeffMboya wants to merge 2 commits into
absmach:mainfrom
JeffMboya:SYN-263-irrigation-controller

Conversation

@JeffMboya

@JeffMboya JeffMboya commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

What type of PR is this?

This is a feature.

What does this do?

Adds qualification/class-a/irrigation-controller/: an 86-component, 83.9 x 67.0 mm board an agent produced and compacted, with its run.

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

Resolves #263, #260. Related Issue #39, #280.

Have you included tests for your changes?

No. The board is data; the README compares four exports, three from empty directories, by hash.

Did you document any new/modified feature?

Yes. The README gives measurements, open items and reproducibility; agent-run/ holds the prompt, resumes, calls and report.

Notes

Stacked on #326 (eight parts). Needs #266 and Synth PRs #335, #337, #339, #341, #343, #345, #348, #350, #352.

@SammyOina

Copy link
Copy Markdown
Collaborator

Changes requested — not ready for Class-A qualification

[P1] Correct the MP2307 power stage. The source uses R2 = 10 kΩ and R9 = 3.01 kΩ, which sets approximately 4.0 V with the MP2307’s 0.925 V feedback reference, not 3.3 V. That exceeds the STM32G030’s 3.6 V maximum and risks the connected sensors. The COMP network is also incorrect: C4 is connected between FB and COMP, with no COMP-to-GND compensation network. Please correct the divider and compensation topology against the MP2307 datasheet, then rerun voltage and ERC checks.

[P1] Use correctly rated input protection. D2 is the registry part tvs_array_5v, but it is connected across the 12 V protected rail. Verify the standoff and clamping ratings and replace it with a protection device suitable for the actual 12 V rail. Q1’s claimed VGS protection is also not across source and gate: D1 is connected between gate and ground while Q1’s source is on the protected input. Correct the topology and verify reverse-polarity and gate-stress behavior.

[P1] Apply the declared netclasses. POWER, VALVE, and I2C are declared but assigned to no nets, so the valve power paths and other critical signals are routed with default geometry rather than the stated widths and clearances. Apply the classes explicitly and rerun routing and DRC.

[P1] Address the return-path failure. The README records 105 layer changes without a ground-return via within 1.53 mm on a two-layer board carrying switching valve currents, analog probe inputs, and I2C. This is a signal-integrity and EMI design problem, not just a limitation to document. Add ground stitching/return paths or justify a different stackup and rerun the board review.

[P2] Bring the schematic and BOM to qualification quality. Twelve decoupling placements are reported far from their devices, a junction exceeds the readable wire limit, and the functional region boxes overlap. Correct the schematic layout rather than accepting these as limitations. Twenty parts also lack distributor identity, so the BOM is not orderable as presented.

[P2] Complete reproducibility evidence. The README documents only one local export/router run. Add repeated artifact comparisons and independent PCB review evidence before treating this as Class-A qualification material.

@JeffMboya

Copy link
Copy Markdown
Contributor Author

@SammyOina re your review: fixed divider, COMP, Q1/D1, TVS, netclasses, schematic. Still open: return-path vias (#280), BOM identities, independent review. Pushed in 5faa6c9.

@JeffMboya

Copy link
Copy Markdown
Contributor Author

@SammyOina re BOM identities: those 14 registry parts are generic placeholders, so nobody picked a real orderable product for them. I didn't invent part numbers.

@JeffMboya

Copy link
Copy Markdown
Contributor Author

@SammyOina re BOM identities: fixed. Every part now names a manufacturer number, LCSC where found; APDS-9301 has none. Per-value fuse and inductor added. Pushed in e9b3a4d.

@JeffMboya

Copy link
Copy Markdown
Contributor Author

@SammyOina re your review: agent-made now. Return-path warnings 105→1, classes applied, regions disjoint, exports hash-match. Open: reset button, via sizes, BOM, TVS clamp. Pushed in 74011e1.

@JeffMboya JeffMboya changed the title SYN-263 - The Class A irrigation controller Add the irrigation controller as the Class A integration board Oct 26, 2026
@JeffMboya JeffMboya changed the title Add the irrigation controller as the Class A integration board Class A, case 1: MCU + SWD/JTAG + crystal + reset + status LED Oct 26, 2026
…hored

The final run of the Class A irrigation controller imported four parts from
KiCad's symbols and authored four. Each carries the footprint_dimensions the
registry requires, taken from its footprint's courtyard in the installed KiCad
library: the importer and synth_author_part write none for four of them.
header_1x5 is byte for byte the part the I2C sensor node's PR adds.
One prompt, one agent driving synth mcp, an empty workspace and an empty user
registry. After its release export the agent compacted the layout with
synth_compact_layout: seven attempts, each exported through the release gates,
kept the tightest that routed (83.9 x 67.0 mm). The source and sidecar are the
agent's; the README records what was measured on the exported files, KiCad
10.0.6 DRC (0 errors), every connector flush with the edge, and three exports
into empty directories that match the agent's own.
@JeffMboya
JeffMboya force-pushed the SYN-263-irrigation-controller branch from 82437dd to b3e7348 Compare October 27, 2026 06:10
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 irrigation controller as the Class A integration board

2 participants