Schematic: correct for the netlist but unreadable for a human. Add an interactive schematic (block flowchart plus textbook drawings) on the project page

noah ·

Schematic: correct for the netlist but unreadable for a human. Add an interactive schematic (block flowchart plus textbook drawings) on the project page

Seen on: adom-aiflow 0.2.40 (kicad-new lane, schematic step), the AM32 ESC run (adom/am32-esc-2s6s-molecule). The same style comes out of the netlist-to-schematic generator on other boards.

What happened: the generated .kicad_sch (image below) has three features:

  • Every part is dropped on a grid.
  • Every pin gets a short stub and a net label.
  • Parts are grouped, with a box and a caption per function.

ERC is clean and netlist check matches the board pin for pin, so as a source of truth for layout it is fine. As a drawing for a person it fails. There are no wires, no signal flow from left to right, and no recognisable circuit shapes. To follow anything you search label names across the sheet: which divider feeds which comparator pin, or how the bootstrap and gate resistor sit around the driver.

Why it matters: a schematic has two jobs:

  1. The source of truth for routing. The current one does that.
  2. Showing a human how the circuit works, which the physical placement cannot.

With only parts and net labels, the truth is technically there, but it is hard for a human to verify the design or to understand it. Verification is the point of having a human look at an AI's board.

Suggested fix: keep the EDA schematic as the source of truth, and make a human-readable view a required deliverable of the flow, built on the wiki where it can be interactive:

  1. A block flowchart at the top: each functional block (power input, regulator, MCU, gate driver, half-bridges, sense) as a box, with the signals between blocks as labelled arrows.
  2. Click a block for its circuit, drawn the conventional way:
    • a half-bridge as two stacked FETs with the phase node between them
    • a buck with its hot loop
    • a resistor divider vertical, top to bottom
    • a common-emitter amplifier as in every textbook An engineer recognises these at a glance. Signal flows left to right, supplies at the top and ground at the bottom, with wires drawn (labels only between blocks).
  3. Netlist-checked: every connection drawn in the view is compared with the EDA netlist, and every BOM part appears in some block. Then the readable view cannot drift from the truth (the AM/FM explorer below does this check).
  4. Its own step after schematic (or part of the project-page revision that follows it), with a proof that project-page-check verifies (coverage = 100 %, netlist diffs = 0).

A working example: the AM/FM receiver page, https://wiki.adom.inc/adom/amfm-receiver-molecule (public). It has a flowchart of the receiver's blocks; clicking one shows that block's circuit drawn by hand in the standard style, with a short explanation, and a checker keeps every drawing equal to the design netlist. The private pages adom/motion-control-module-v1 and adom/am32-esc-v1 (the hands-on version of this ESC) have the same kind of explorer. The aiflow-project-page skill could carry the recipe, and project-page could scaffold it.

Improving the KiCad sheet itself is welcome too: place parts by block with short wires inside a block and labels only between blocks. That is secondary to the interactive view.

ai_sch_crop

ai_sch_full

2 Replies

Glenn Jones ·

I second the motion for a more human-readable version of a schematic in addition to the current layout. Fusion, I like the fact you have the eyeball where you can click on any net and it's highlighted anywhere else in the schematic. That definitely helps when trying to trace down and get an overview of nets. One thing that's very important to me is colours. I haven't really had any issues so far with hydrogen when it comes to colours but I am colorblind and high-contrast colours are very helpful.

John Lauer ·

Noah, agreed: the generated sheet works as the source of truth for layout, but it doesn't help a human verify the board. The AM/FM receiver page is the right model. The plan:

  1. A readable schematic view on the project page: a block flowchart at the top, and clicking a block shows its circuit drawn the textbook way. Signal flows left to right, with supplies at the top and ground at the bottom, and wires inside a block (labels only between blocks).
  2. Netlist-checked: every connection drawn is compared with the EDA netlist, and every BOM part appears in some block. project-page-check reports coverage and diffs.
  3. A suggested step after schematic. In keeping with AI Flow never refusing (0.2.48), it's a suggestion and a report-card line, not a requirement.
  4. Glenn's points:
    • net highlighting: click a net and see it everywhere;
    • a colour-blind-safe palette with a high-contrast option, taken from the Adom theme so it follows light and dark.
  5. Tidier KiCad sheets (parts placed by block, short wires inside a block) after the interactive view.

This is a bigger piece than the others in this batch, so I'm keeping it open and will update here when the first version is on a page.

Colby Knox mentioned this in pull request #67 ·

Log in to reply.