FaraEDAearly access

The board, designed
like an engineer would.

FaraEDA takes the hardware baseline and runs the whole path to a verified, fab-ready board: partition into functions, define each circuit in words before wires, select real parts, wire the connective tissue, check as it goes. Every move arrives as a reviewable card with a reason. You approve; it never just does.

01
Partition
Requirements → functions, human-approved
02
Define
Words before wires, per circuit
03
Select
Real parts from a grounded catalog
04
Connect
Nets, rails, interfaces
05
Verify
ERC + computed checks, continuously
06
Export
KiCad, Altium, Cadence, Gerber
A real screenshot

Warts and all.

This is FaraEDA mid-design on our TC5 golden project. The header says 405 blocking · 17/44 verified · synthesis incomplete because that's the truth of this design at this moment. The Synthesis Coach on the right is explaining a duplicate-block card — and advising the engineer not to blanket-merge, because the three “transceivers” are different silicon that happen to share a name.

TC5 carousel · block diagram · FaraSYS baseline v1 pinned real screenshot
FaraEDA screenshot: block diagram of the TC5 carousel controller, 20 function blocks, header showing 405 blocking cards and 17/44 verified, Synthesis Coach pane reasoning about a duplicate-block merge.

A design tool that always says yes is a liability. FaraEDA keeps a typed queue of everything unresolved — unconnected pins, open decisions, library gaps — and refuses to call the design done while any of it blocks. When it can't close the loop, it names exactly why.

Agentic, human-controlled

An agent that plans and executes. Never without you.

Give the agent a goal and it works across the board: defining circuits, choosing parts, wiring, fixing issues. Every move is a two-door confirm card with the change and the reason. Accept, reject, or edit at any granularity. Nothing lands on your board without your call, and everything is reversible.

  • A reason attached to every proposed change.
  • Accept / reject / edit — you keep authorship.
  • When the agent is blocked, it says so and names the blocker. It doesn't improvise.
◆ Agent proposes · change 14 of 27
Swap R7 → AEC-Q200 equivalent
reason: automotive target · lifecycle: active
– R7  RC0402  generic  ±5%
+ R7  CRCW0402  AEC-Q200  ±1%
RejectAccept ↵
Words before wires

Every circuit is designed in English first.

Before a single symbol is placed, each function gets a written design: what it does, which requirement asks for it, what parts it needs, how it connects. The circuit follows the words, and the words quote the requirement. That's what makes the trace real instead of decorative — and it's why a reviewer can read the design, not reverse-engineer it.

ALTITUDE 1

Functions

The baseline partitioned into named functions, human-approved.

ALTITUDE 2

Design in words

Per-circuit design spec, quoting the requirements it serves.

ALTITUDE 3

Real parts & nets

Grounded selection, typed interfaces, named nets.

ALTITUDE 4

Your tools

KiCad, Altium, Cadence, Gerber, ODB++, IPC-2581.

Grounded part selection

The agent picks from a catalog, not from memory.

Language models hallucinate part numbers. Ours isn't allowed to: selection happens from a verbatim shortlist out of a real catalog, with lifecycle, qualification, and stock surfaced right there. If the catalog has nothing suitable, you get a library-gap card — an honest hole, not an invented component.

  • AEC-Q / cert status and lifecycle flags inline at selection.
  • Off-catalog output is structurally rejected. One retry, then a gap card.
⚲  3.3V LDO · ≥500mA · SOT-23
TPS7A2033AEC-Q200activein stock
AP2112K-3.3activein stock
LP5907MFXNRNDflagged
MIC5504-3.3activein stock
Verification

The math is done by math.

Divider ratios, regulator headroom, RC constants, trace widths: anything derivable by formula is computed by a checks library, not judged by a model. ERC runs continuously. The model's own numbers land as unverified until a computation passes them — the same rule we apply to humans.

  • Always-on: pin-type ERC, rail and voltage-domain checks, requirement-conformance on typed parameters.
  • At milestones: SI / PI / thermal checkpoints.
  • Every check emits evidence that flows up to FaraSYS against the requirement it verifies.
pin-type ERCpassed
divider out vs clamp_max · computedpassed
decoupling loop C12fix proposed
signal integritycheckpointmilestone
History & control

Every change, on the record.

Each confirm card you accept becomes an entry in an immutable, diffable history: who changed what, when, and why — agent and human distinguished. For certified work, that trail is configuration-management evidence you'd otherwise assemble by hand.

  • Immutable, diffable version history.
  • Agent vs. human authorship on every change.
◷  History · branch: main
◆ agent · 2m ago
add 10µF bulk cap on 3V3 rail
+ C14  GRM188R61A106  10µF
you · 14m ago
accept R7 → AEC-Q200 equivalent
◆ agent · 1h ago
route power net (4 traces)
you · 2h ago
add BUCK 3V3 block
Works with your tools

No lock-in. Bring your stack.

Clean export to the industry formats, netlist import from the tools you're leaving behind, and an open MCP interface so your own AI assistant can drive the canvas.

KiCad
Altium
Cadence
Gerber
ODB++
IPC-2581
netlist import
◆ MCPDrive FaraEDA from Claude, Cursor, or your own agent — it speaks the Model Context Protocol.
In the family

The hardware leg of the V.

FaraEDA builds against the baseline FaraSYS publishes and owes evidence back: design disclosures traced to requirements, change requests when the requirements need to move, and check results stamped with how they ran. Its sibling FaraSW does the same for the firmware that will run on this board — same project, same spine, traces meeting at the top.