spec2schematic

n8n community node that turns a text netlist/spec into a schematic (SVG + lint findings) or a DXF drawing, via the hosted spec2schematic service.

Package Information

Released: 3 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.0
Author: Salih Ibrahim Uslucan

Documentation

n8n-nodes-spec2schematic

An n8n community node that turns a text netlist/spec into
a schematic (SVG) or a DXF drawing — by calling the hosted
spec2schematic service.
Drop it into a workflow to generate diagrams from structured data, attach a DXF
to a ticket, or lint a netlist as part of an automation.

Installation · Operations · Usage ·
Options · Limitations

What it does

spec2schematic takes a small YAML netlist
(components + the nets that connect their ports) and renders it to a schematic.
This node wraps its HTTP API so an n8n workflow can do the same without writing
any HTTP or code:

  • Generate Schematic (SVG) — returns the rendered svg string plus any
    lint findings (e.g. an unconnected port, a duplicated net).
  • Generate Drawing (DXF) — returns a downloadable DXF CAD file as
    binary data, ready to write to disk, email, or push to storage.
  • List Examples — returns the service's built-in example specs, one item
    each, so you can see the exact input shape.

No credentials are required — the demo service is public. Point the node at your
own instance with the Base URL option (see Options).

Installation

Community nodes can be installed from the n8n UI:

  1. Go to Settings → Community Nodes.
  2. Select Install.
  3. Enter n8n-nodes-spec2schematic and confirm.

Or install manually into your n8n instance:

npm install n8n-nodes-spec2schematic

See the n8n docs on installing community nodes.

Operations

Operation HTTP call Output
Generate Schematic (SVG) POST /api/generate json: { svg, lint[] }
Generate Drawing (DXF) POST /api/generate/dxf binary: the .dxf file
List Examples GET /api/examples one item per example: { name, spec }

Usage

Input format. The Spec field takes the service's YAML netlist. A minimal
voltage divider:

name: voltage-divider
components:
  - id: VIN
    type: source
    ports: [pos, neg]
  - id: R1
    type: resistor
    ports: [a, b]
  - id: R2
    type: resistor
    ports: [a, b]
nets:
  - name: VIN+
    connects: [VIN.pos, R1.a]
  - name: MID
    connects: [R1.b, R2.a]
  - name: GND
    connects: [VIN.neg, R2.b]

Run the List Examples operation once to pull three ready-made specs
(divider, dol_starter, tank_level) you can copy from.

Example workflow — spec → DXF file on disk:

Manual Trigger
   └─▶ spec2schematic (Generate Drawing (DXF))     ← paste the YAML into "Spec"
          └─▶ Read/Write Files from Disk (Write)    ← binary field "data"

The DXF is placed in the binary field named in Put Output File in Field
(default data), with a filename derived from the spec's name:
(e.g. voltage-divider.dxf). Wire that binary field into a Write Files,
Send Email, or storage node.

Screenshot placeholder — add a picture of the node in a workflow here.

Errors. A malformed spec comes back from the service as HTTP 422 and is
raised as a node error with the service's message. Enable Continue On Fail
to get an { error: ... } item instead of stopping the workflow.

Options

Option Default Notes
Base URL https://spec2schematic.onrender.com Point at a self-hosted spec2schematic instance.

Limitations

  • Demo service cold start. The default hosted instance runs on a free tier
    that sleeps after ~15 minutes idle; the first request after that can take
    30–50s to wake. Self-host for anything latency-sensitive.
  • Spec format is the service's own YAML, not a standard EDA netlist (KiCad,
    SPICE, etc.). Use List Examples to see the shape.
  • Rendering quality matches the upstream service — this node is a thin,
    honest wrapper; it does not add or reinterpret geometry.

Compatibility

  • n8n nodes API version 1. Tested with Node.js 18+.
  • Verified end-to-end against the live service (npm run smoke): List Examples,
    SVG generation, DXF binary download, and error handling.

Resources

License

MIT

Discussion