Open standards

Built on an open format,
not a black box.

Under every board in Cherry Blossom is Circuit JSON, an open, low-level circuit representation. One format renders your schematic and PCB, produces Gerbers and a BOM, runs SPICE, and carries every warning — and it is text you own.

circuit.json
[
  { "type": "source_component", "name": "U1", "ftype": "simple_chip" },
  { "type": "schematic_component", "center": { "x": 0, "y": 0 } },
  { "type": "pcb_smtpad", "shape": "rect", "width": 0.6, "height": 0.6 },
  { "type": "source_trace", "connects": ["U1.VCC", "net.V3_3"] }
]
The representation

One low-level format under everything.

Circuit JSON describes a circuit as a flat array of typed elements — source components, schematic symbols, PCB footprints, pads, nets, and traces. It is deliberately low-level: every tool that touches your design reads the same primitives, so the schematic, the board, the Gerbers, and the simulation can never disagree about what you drew. Cherry Blossom compiles your prompt down to this format, then everything else is a view of it.

See what the verification gate catches
One representation, every output

From one source of truth.

Because it all derives from the same Circuit JSON, these are not separate exports stitched together. They are the same design, seen six ways.

Render the schematic

Symbols, nets, and reference designators draw straight from the Circuit JSON. The diagram is a view of the data, not a separate file that drifts out of sync.

Render the PCB

Footprints, copper, silkscreen, and traces lay out from the same representation. Pan a real board, not a picture of one.

Produce Gerber files

Export fab-ready Gerbers and drill files. The layer stack and apertures come from the design itself, so the package you send is the board you drew.

Produce a bill of materials

Every component carries its part data, so the BOM falls out of the design — with manufacturer part numbers and second sources, ready for assembly.

Run SPICE simulations

The same netlist that defines your board feeds a SPICE engine. Check a regulator or a filter response before you commit copper.

Surface warnings

DRC and electrical-rule warnings attach to the elements that triggered them — a specific pad, a specific net — so a flag points at the exact thing to fix.

Why it matters

Open beats proprietary.

A board you cannot open is a board you do not really own. Open standards keep your work portable, reviewable, and yours.

Your design is plain, inspectable JSON

Every element — component, net, trace, pad — is a typed entry in an array. Open it in any text editor. Nothing is hidden in a binary blob.

Git-versionable by default

Because the source is text, you diff a board in a pull request and review every change line by line, the same way you review code.

Interoperable, not locked in

Circuit JSON is an open standard maintained in the open. It bridges to the established formats — Gerber, SPICE netlists, KiCad — so your work travels.

It is yours to take anywhere

The schematics, Gerbers, and BOM Cherry Blossom generates are yours to fab, audit, or hand to another tool. No export tax, no proprietary cage.

Design on a format you can read.

Free during the beta. Plain English in, verified schematic out — backed by Circuit JSON the whole way down.