Overview

Circuit JSON (AKA tscircuit soup) is the name of the built low-level JSON circuit representation. It contains all the information needed to visually represent a schematic, PCB, produce Gerber files, produce bill of materials, run SPICE simulations, view warnings and more. It is designed to easily interoperate with a SQL database.

Circuit JSON is an array of objects, a tscircuit soup object looks like this:

{
  "type": "source_component",
  "ftype": "simple_resistor",
  "source_component_id": "source_component_1",
  "name": "R1"
}

Typically a component like a resistor will be made up of many soup objects. All tscircuit components (from the API reference section) have methods that convert themselves into soup. Sometimes a component will analyze the soup produce by it’s children to produce it’s own soup. For example, a <group /> will build soup for it’s children, then route traces.

Units

You can use any standard unit e.g. 0.1in or 2.54mm, these are automatically translated to the numeric value for the “default unit” after parsing.

Source

source_component_base

{
  "type": "source_component",
  "source_component_id": "source_component_1",
  "name": "C1",
  "manufacturer_part_number": "exercitation id ipsum",
  "supplier_part_numbers": {
    "in_": [
      "in cupidatat",
      "anim",
      "cupidatat",
      "do esse labore sed dolor",
      "Ut"
    ],
    "do_5": [
      "non",
      "esse culpa cillum",
      "incididunt",
      "in pariatur proident",
      "commodo"
    ],
    "voluptate_83": ["reprehenderit ut dolore officia deserunt"]
  }
}
PropertyTypeRequiredDescription
typestringYes
ftypestringNo
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo

source_group

{
  "type": "source_group",
  "source_group_id": "source_group_1"
}
PropertyTypeRequiredDescription
typestringYes
source_group_idstringYes
namestringNo

source_led

{
  "type": "source_component",
  "ftype": "led",
  "source_component_id": "source_component_1",
  "name": "L1",
  "manufacturer_part_number": "culpa dolore dolor quis",
  "supplier_part_numbers": {
    "nulla_3e7": ["ut sit aliqua qui", "dolore amet enim eiusmod"],
    "in2": [
      "nulla est enim dolore anim",
      "dolor exercitation cillum nulla",
      "proident",
      "do"
    ]
  }
}
PropertyTypeRequiredDescription
typestringYes
ftypestringYes
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo

source_net

{
  "type": "source_net",
  "source_net_id": "source_net_1",
  "name": "N1",
  "member_source_group_ids": [
    "aute esse",
    "ut Duis",
    "esse pariatur aliqua qui laborum"
  ],
  "is_power": true,
  "is_ground": true,
  "is_digital_signal": false,
  "is_analog_signal": true,
  "trace_width": 25700714.050349265
}
PropertyTypeRequiredDescription
typestringYes
source_net_idstringYes
namestringYes
member_source_group_idsarrayYes
is_powerbooleanNo
is_groundbooleanNo
is_digital_signalbooleanNo
is_analog_signalbooleanNo
trace_widthnumberNo

source_port

{
  "type": "source_port",
  "pin_number": -44141394.10892415,
  "port_hints": ["1", "left"],
  "name": "P1",
  "source_port_id": "source_port_1",
  "source_component_id": "source_component_1"
}
PropertyTypeRequiredDescription
typestringYes
pin_numbernumberNo
port_hintsarrayNo
namestringYes
source_port_idstringYes
source_component_idstringYes

source_simple_bug

@deprecated

{
  "type": "source_component",
  "ftype": "simple_bug",
  "source_component_id": "source_component_1",
  "name": "B1",
  "manufacturer_part_number": "laborum non dolor ea",
  "supplier_part_numbers": {
    "Excepteur_4": ["amet enim aliquip nulla veniam", "incididunt ipsum"],
    "qui_ab0": ["adipisicing"]
  }
}
PropertyTypeRequiredDescription
typestringYes
ftypestringYes
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo

source_simple_capacitor

{
  "type": "source_component",
  "ftype": "simple_capacitor",
  "source_component_id": "source_component_1",
  "name": "C1",
  "manufacturer_part_number": "dolor anim",
  "supplier_part_numbers": {
    "sint_7f1": [
      "est commodo qui",
      "eu minim aute",
      "culpa anim proident aliqua",
      "et veniam dolore",
      "ea"
    ],
    "irure_a": [
      "in exercitation Lorem ad sint",
      "in quis Ut exercitation",
      "consectetur pariatur in do",
      "cupidatat Excepteur esse",
      "ullamco esse"
    ]
  },
  "capacitance": "1uF"
}
PropertyTypeRequiredDescription
typestringYes
ftypestringYes
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo
capacitancestring, numberYes

source_simple_chip

{
  "type": "source_component",
  "ftype": "simple_chip",
  "source_component_id": "source_component_1",
  "name": "C1"
}
PropertyTypeRequiredDescription
typestringYes
ftypestringYes
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo

source_simple_diode

{
  "type": "source_component",
  "ftype": "simple_diode",
  "source_component_id": "source_component_1",
  "name": "D1",
  "manufacturer_part_number": "nisi consectetur esse qui",
  "supplier_part_numbers": {
    "ad8e": [
      "irure aliqua velit",
      "officia non magna",
      "eu nisi dolore consectetur",
      "incididunt",
      "ut"
    ]
  }
}
PropertyTypeRequiredDescription
typestringYes
ftypestringYes
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo

source_simple_ground

{
  "type": "source_component",
  "ftype": "simple_ground",
  "source_component_id": "source_component_1",
  "name": "G1",
  "manufacturer_part_number": "nostrud officia minim irure laboris",
  "supplier_part_numbers": {
    "dolor_3c": [
      "exercitation veniam eiusmod nisi",
      "id",
      "occaecat cillum exercitation pariatur",
      "amet nostrud proident ut occaecat",
      "aute"
    ],
    "ute98": [
      "deserunt irure enim proident dolor",
      "anim velit nisi",
      "sint eiusmod Lorem ex"
    ],
    "incididunt_e": ["culpa in sint qui", "cillum Duis dolore eu"]
  }
}
PropertyTypeRequiredDescription
typestringYes
ftypestringYes
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo

source_simple_power_source

{
  "type": "source_component",
  "ftype": "simple_power_source",
  "source_component_id": "source_component_1",
  "name": "P1",
  "manufacturer_part_number": "pariatur sint",
  "supplier_part_numbers": {
    "commodo_2d4": [
      "consequat nostrud consectetur sint",
      "est amet culpa non",
      "anim aute ipsum dolore cillum",
      "aliquip ullamco fugiat",
      "do quis in"
    ]
  },
  "voltage": "5V"
}
PropertyTypeRequiredDescription
typestringYes
ftypestringYes
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo
voltagestring, numberYes

source_simple_resistor

{
  "type": "source_component",
  "ftype": "simple_resistor",
  "source_component_id": "source_component_1",
  "name": "R1",
  "supplier_part_numbers": {
    "velit60": [
      "aute ea Ut enim est",
      "non exercitation dolore incididunt ad",
      "ea",
      "laborum laboris veniam"
    ]
  },
  "resistance": "1k"
}
PropertyTypeRequiredDescription
typestringYes
ftypestringYes
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo
resistancestring, numberYes

source_trace

{
  "type": "source_trace",
  "source_trace_id": "source_trace_1",
  "connected_source_port_ids": [
    "officia",
    "esse",
    "cupidatat voluptate veniam ipsum",
    "incididunt dolor"
  ],
  "connected_source_net_ids": [
    "Duis dolore aute deserunt et",
    "velit proident consectetur ut",
    "amet dolor pariatur in tempor",
    "proident"
  ]
}
PropertyTypeRequiredDescription
typestringYes
source_trace_idstringYes
connected_source_port_idsarrayYes
connected_source_net_idsarrayYes

Schematic

schematic_box

Draws a box on the schematic

{
  "type": "schematic_box",
  "schematic_component_id": "schematic_component_1",
  "width": "5mm",
  "height": "5mm",
  "x": "3mm",
  "y": "1mm"
}
PropertyTypeRequiredDescription
typestringYes
schematic_component_idstringYes
widthstring, numberYes
heightstring, numberYes
xstring, numberYes
ystring, numberYes

schematic_component

{
  "type": "schematic_component",
  "rotation": "90deg",
  "size": {
    "width": "5mm",
    "height": "5mm"
  },
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "source_component_id": "source_component_1",
  "schematic_component_id": "schematic_component_1",
  "pin_spacing": 93362735.23039353,
  "pin_styles": {},
  "box_width": "ex dolor aute",
  "symbol_name": "minim dolore",
  "port_arrangement": {
    "left_size": 3,
    "right_size": 3
  },
  "port_labels": {
    "1": "VCC",
    "2": "GND",
    "3": "OUT"
  }
}
PropertyTypeRequiredDescription
typestringYes
rotationstring, numberNo
sizeobjectYes
centerobjectYes
source_component_idstringYes
schematic_component_idstringYes
pin_spacingundefinedNo
pin_stylesobjectNo
box_widthundefinedNo
symbol_namestringNo
port_arrangementundefinedNo
port_labelsobjectNo

schematic_error

Defines a schematic error on the schematic

{
  "schematic_error_id": "schematic_error_1",
  "type": "schematic_error",
  "error_type": "schematic_port_not_found",
  "message": "do labore qui in ex"
}
PropertyTypeRequiredDescription
schematic_error_idstringYes
typestringYes
error_typestringYes
messagestringYes

schematic_line

{
  "type": "schematic_line",
  "schematic_component_id": "schematic_component_1",
  "x1": "1mm",
  "x2": "2mm",
  "y1": "1mm",
  "y2": "2mm"
}
PropertyTypeRequiredDescription
typestringYes
schematic_component_idstringYes
x1string, numberYes
x2string, numberYes
y1string, numberYes
y2string, numberYes

schematic_net_label

{
  "type": "schematic_net_label",
  "source_net_id": "source_net_1",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "anchor_side": "left",
  "text": "Hello, World!"
}
PropertyTypeRequiredDescription
typestringYes
source_net_idstringYes
centerobjectYes
anchor_sidestringYes
textstringYes

schematic_path

{
  "type": "schematic_path",
  "schematic_component_id": "schematic_component_1",
  "fill_color": "blue",
  "is_filled": false,
  "points": [
    {
      "x": "3mm",
      "y": "1mm"
    },
    {
      "x": "3mm",
      "y": "1mm"
    }
  ]
}
PropertyTypeRequiredDescription
typestringYes
schematic_component_idstringYes
fill_colorstringNo
is_filledbooleanNo
pointsarrayYes

schematic_port

Defines a port on a schematic component

{
  "type": "schematic_port",
  "schematic_port_id": "schematic_port_1",
  "source_port_id": "source_port_1",
  "schematic_component_id": "schematic_component_1",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "facing_direction": "up"
}
PropertyTypeRequiredDescription
typestringYes
schematic_port_idstringYes
source_port_idstringYes
schematic_component_idstringNo
centerobjectYes
facing_directionstringNo

schematic_text

{
  "type": "schematic_text",
  "schematic_component_id": "schematic_component_1",
  "schematic_text_id": "schematic_text_1",
  "text": "Hello, World!",
  "position": {
    "x": "3mm",
    "y": "1mm"
  },
  "rotation": "90deg",
  "anchor": "left"
}
PropertyTypeRequiredDescription
typestringYes
schematic_component_idstringYes
schematic_text_idstringYes
textstringYes
positionobjectYes
rotationnumberNo
anchorstringNo

schematic_trace

{
  "type": "schematic_trace",
  "schematic_trace_id": "schematic_trace_1",
  "source_trace_id": "source_trace_1",
  "edges": [
    {
      "from": {
        "x": "3mm",
        "y": "1mm"
      },
      "to": {
        "x": "3mm",
        "y": "1mm"
      },
      "from_schematic_port_id": "from_schematic_port_1",
      "to_schematic_port_id": "to_schematic_port_1"
    },
    {
      "from": {
        "x": "3mm",
        "y": "1mm"
      },
      "to": {
        "x": "3mm",
        "y": "1mm"
      },
      "from_schematic_port_id": "from_schematic_port_1"
    }
  ]
}
PropertyTypeRequiredDescription
typestringYes
schematic_trace_idstringYes
source_trace_idstringYes
edgesarrayYes

Pcb

pcb_board

Defines the board outline of the PCB

{
  "type": "pcb_board",
  "width": "5mm",
  "height": "5mm",
  "center": {
    "x": "3mm",
    "y": "1mm"
  }
}
PropertyTypeRequiredDescription
typestringYes
pcb_board_idstringNo
widthstring, numberYes
heightstring, numberYes
centerobjectYes
outlinearrayNo

pcb_component

Defines a component on the PCB

{
  "type": "pcb_component",
  "pcb_component_id": "pcb_component_1",
  "source_component_id": "source_component_1",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "layer": "top",
  "rotation": "90deg",
  "width": "5mm",
  "height": "5mm"
}
PropertyTypeRequiredDescription
typestringYes
pcb_component_idstringNo
source_component_idstringYes
centerobjectYes
layerundefinedYes
rotationstring, numberYes
widthundefinedYes
heightundefinedYes

pcb_fabrication_note_path

Defines a fabrication path on the PCB for fabricators or assemblers

{
  "type": "pcb_fabrication_note_path",
  "pcb_fabrication_note_path_id": "pcb_fabrication_note_path_1",
  "pcb_component_id": "pcb_component_1",
  "layer": "top",
  "route": [
    {
      "x": "3mm",
      "y": "1mm"
    },
    {
      "x": "3mm",
      "y": "1mm"
    },
    {
      "x": "3mm",
      "y": "1mm"
    },
    {
      "x": "3mm",
      "y": "1mm"
    }
  ],
  "stroke_width": "0.1mm",
  "color": "consequat eu aliqua ut"
}
PropertyTypeRequiredDescription
typestringYes
pcb_fabrication_note_path_idstringNo
pcb_component_idstringYes
layerstringYes
routearrayYes
stroke_widthundefinedYes
colorstringNo

pcb_fabrication_note_text

Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators

{
  "type": "pcb_fabrication_note_text",
  "pcb_component_id": "pcb_component_1",
  "text": "Hello, World!",
  "layer": "top"
}
PropertyTypeRequiredDescription
typestringYes
pcb_fabrication_note_text_idstringNo
fontstringNo
font_sizestring, numberNo
pcb_component_idstringYes
textstringYes
layerstringYes
anchor_positionobjectNo
anchor_alignmentstringNo
colorstringNo

pcb_placement_error

Defines a placement error on the PCB

{
  "pcb_error_id": "pcb_error_1",
  "type": "pcb_error",
  "error_type": "pcb_placement_error",
  "message": "anim id"
}
PropertyTypeRequiredDescription
pcb_error_idstringYes
typestringYes
error_typestringYes
messagestringYes

pcb_port

Defines a port on the PCB

{
  "type": "pcb_port",
  "pcb_port_id": "pcb_port_1",
  "source_port_id": "source_port_1",
  "pcb_component_id": "pcb_component_1",
  "x": "3mm",
  "y": "1mm",
  "layers": ["top", "bottom"]
}
PropertyTypeRequiredDescription
typestringYes
pcb_port_idstringYes
source_port_idstringYes
pcb_component_idstringYes
xstring, numberYes
ystring, numberYes
layersarrayYes

pcb_port_not_matched_error

Defines a trace error on the PCB

{
  "pcb_error_id": "pcb_error_1",
  "type": "pcb_error",
  "error_type": "pcb_port_not_matched_error",
  "message": "in qui in",
  "pcb_component_ids": ["pcb_component_1"]
}
PropertyTypeRequiredDescription
pcb_error_idstringYes
typestringYes
error_typestringYes
messagestringYes
pcb_component_idsarrayYes

pcb_silkscreen_circle

Defines a silkscreen circle on the PCB

{
  "type": "pcb_silkscreen_circle",
  "pcb_silkscreen_circle_id": "pcb_silkscreen_circle_1",
  "pcb_component_id": "pcb_component_1",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "radius": "5mm",
  "layer": "top"
}
PropertyTypeRequiredDescription
typestringYes
pcb_silkscreen_circle_idstringYes
pcb_component_idstringYes
centerobjectYes
radiusundefinedYes
layerstringYes

pcb_silkscreen_line

Defines a silkscreen line on the PCB

{
  "type": "pcb_silkscreen_line",
  "pcb_silkscreen_line_id": "pcb_silkscreen_line_1",
  "pcb_component_id": "pcb_component_1",
  "x1": "1mm",
  "y1": "1mm",
  "x2": "2mm",
  "y2": "2mm",
  "layer": "top"
}
PropertyTypeRequiredDescription
typestringYes
pcb_silkscreen_line_idstringYes
pcb_component_idstringYes
stroke_widthstring, numberNo
x1string, numberYes
y1string, numberYes
x2string, numberYes
y2string, numberYes
layerstringYes

pcb_silkscreen_oval

Defines a silkscreen oval on the PCB

{
  "type": "pcb_silkscreen_oval",
  "pcb_silkscreen_oval_id": "pcb_silkscreen_oval_1",
  "pcb_component_id": "pcb_component_1",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "radius_x": "laborum id aute commodo Excepteur",
  "radius_y": "nisi",
  "layer": "top"
}
PropertyTypeRequiredDescription
typestringYes
pcb_silkscreen_oval_idstringYes
pcb_component_idstringYes
centerobjectYes
radius_xundefinedYes
radius_yundefinedYes
layerstringYes

pcb_silkscreen_path

Defines a silkscreen path on the PCB

{
  "type": "pcb_silkscreen_path",
  "pcb_silkscreen_path_id": "pcb_silkscreen_path_1",
  "pcb_component_id": "pcb_component_1",
  "layer": "top",
  "route": [
    {
      "x": "3mm",
      "y": "1mm"
    },
    {
      "x": "3mm",
      "y": "1mm"
    }
  ],
  "stroke_width": "0.1mm"
}
PropertyTypeRequiredDescription
typestringYes
pcb_silkscreen_path_idstringYes
pcb_component_idstringYes
layerstringYes
routearrayYes
stroke_widthundefinedYes

pcb_silkscreen_rect

Defines a silkscreen rect on the PCB

{
  "type": "pcb_silkscreen_rect",
  "pcb_silkscreen_rect_id": "pcb_silkscreen_rect_1",
  "pcb_component_id": "pcb_component_1",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "width": "5mm",
  "height": "5mm",
  "layer": "top"
}
PropertyTypeRequiredDescription
typestringYes
pcb_silkscreen_rect_idstringYes
pcb_component_idstringYes
centerobjectYes
widthundefinedYes
heightundefinedYes
layerstringYes

pcb_silkscreen_text

Defines silkscreen text on the PCB

{
  "type": "pcb_silkscreen_text",
  "font": "tscircuit2024",
  "font_size": "1mm",
  "pcb_component_id": "pcb_component_1",
  "text": "Hello, World!",
  "layer": "top",
  "anchor_position": {
    "x": "3mm",
    "y": "1mm"
  },
  "anchor_alignment": "bottom_left"
}
PropertyTypeRequiredDescription
typestringYes
fontstringNo
font_sizestring, numberNo
pcb_component_idstringYes
textstringYes
layerstringYes
anchor_positionobjectNo
anchor_alignmentstringNo

pcb_text

Defines text on the PCB

{
  "type": "pcb_text",
  "text": "Hello, World!",
  "x": "3mm",
  "y": "1mm",
  "align": "bottom-left",
  "width": "5mm",
  "height": "5mm",
  "lines": 1
}
PropertyTypeRequiredDescription
typestringYes
textstringYes
xstring, numberYes
ystring, numberYes
alignstringYes
widthstring, numberYes
heightstring, numberYes
linesnumberYes

pcb_trace

{
  "type": "pcb_trace",
  "pcb_trace_id": "pcb_trace_1",
  "route_thickness_mode": "interpolated",
  "route": [
    {
      "route_type": "wire",
      "x": "3mm",
      "y": "1mm",
      "width": "5mm",
      "start_pcb_port_id": "start_pcb_port_1",
      "end_pcb_port_id": "end_pcb_port_1",
      "layer": "top"
    },
    {
      "route_type": "wire",
      "x": "3mm",
      "y": "1mm",
      "width": "5mm",
      "end_pcb_port_id": "end_pcb_port_1",
      "layer": "top"
    },
    {
      "route_type": "via",
      "x": "3mm",
      "y": "1mm",
      "from_layer": "top",
      "to_layer": "bottom"
    },
    {
      "route_type": "wire",
      "x": "3mm",
      "y": "1mm",
      "width": "5mm",
      "start_pcb_port_id": "start_pcb_port_1",
      "end_pcb_port_id": "end_pcb_port_1",
      "layer": "top"
    },
    {
      "route_type": "wire",
      "x": "3mm",
      "y": "1mm",
      "width": "5mm",
      "start_pcb_port_id": "start_pcb_port_1",
      "end_pcb_port_id": "end_pcb_port_1",
      "layer": "top"
    }
  ]
}
PropertyTypeRequiredDescription
typestringYes
source_trace_idstringNo
pcb_component_idstringNo
pcb_trace_idstringYes
route_thickness_modestringNo
should_round_cornersbooleanNo
routearrayYes

pcb_trace_error

Defines a trace error on the PCB

{
  "pcb_error_id": "pcb_error_1",
  "type": "pcb_error",
  "error_type": "pcb_trace_error",
  "message": "esse nostrud",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "pcb_trace_id": "pcb_trace_1",
  "source_trace_id": "source_trace_1",
  "pcb_component_ids": ["pcb_component_1"],
  "pcb_port_ids": ["pcb_port_1", "pcb_port_2"]
}
PropertyTypeRequiredDescription
pcb_error_idstringYes
typestringYes
error_typestringYes
messagestringYes
centerobjectNo
pcb_trace_idstringYes
source_trace_idstringYes
pcb_component_idsarrayYes
pcb_port_idsarrayYes

pcb_trace_hint

A hint that can be used to generate a PCB trace

{
  "pcb_trace_hint_id": "pcb_trace_hint_1",
  "type": "pcb_trace_hint",
  "pcb_port_id": "pcb_port_1",
  "pcb_component_id": "pcb_component_1",
  "route": [
    {
      "x": "3mm",
      "y": "1mm",
      "via": false,
      "to_layer": "bottom",
      "trace_width": 29179354.518070206
    }
  ]
}
PropertyTypeRequiredDescription
pcb_trace_hint_idstringYes
typestringYes
pcb_port_idstringYes
pcb_component_idstringYes
routearrayYes

pcb_via

Defines a via on the PCB

{
  "type": "pcb_via",
  "x": "3mm",
  "y": "1mm",
  "layers": ["top", "bottom"]
}
PropertyTypeRequiredDescription
typestringYes
xstring, numberYes
ystring, numberYes
outer_diameterstring, numberNo
hole_diameterstring, numberNo
from_layerundefinedNo
to_layerundefinedNo
layersarrayYes

Misc

any_circuit_element

{
  "schematic_error_id": "schematic_error_1",
  "type": "schematic_error",
  "error_type": "schematic_port_not_found",
  "message": "commodo"
}

any_source_component

{
  "type": "source_component",
  "ftype": "simple_diode",
  "source_component_id": "source_component_1",
  "name": "D1",
  "manufacturer_part_number": "in enim",
  "supplier_part_numbers": {
    "anim_bb": [
      "incididunt nulla Duis",
      "pariatur consectetur cupidatat",
      "fugiat Excepteur"
    ]
  }
}

cad_component

Defines a component on the PCB

{
  "type": "cad_component",
  "cad_component_id": "cad_component_1",
  "pcb_component_id": "pcb_component_1",
  "source_component_id": "source_component_1",
  "position": {
    "x": "3mm",
    "y": "1mm",
    "z": 97839368.19161832
  },
  "rotation": "90deg",
  "size": {
    "x": "3mm",
    "y": "1mm",
    "z": 21254537.386721
  },
  "layer": "top",
  "footprinter_string": "commodo",
  "model_obj_url": "ullamco cupidatat deserunt et",
  "model_stl_url": "consequat laboris quis ad sed",
  "model_3mf_url": "Duis in amet elit",
  "model_jscad": {}
}
PropertyTypeRequiredDescription
typestringYes
cad_component_idstringYes
pcb_component_idstringYes
source_component_idstringYes
positionobjectYes
rotationobjectNo
sizeobjectNo
layerundefinedNo
footprinter_stringstringNo
model_obj_urlstringNo
model_stl_urlstringNo
model_3mf_urlstringNo
model_jscadundefinedNo

capacitance

"1uF"

current

"1A"

distance

"10mm"

inductance

"1mH"

layer_ref

"top"

layer_string

"bottom"

length

"1m"

pcb_hole

Defines a hole on the PCB

{
  "pcb_hole_id": "pcb_hole_1",
  "type": "pcb_hole",
  "hole_shape": "round",
  "hole_width": "1mm",
  "hole_height": "1mm",
  "x": "3mm",
  "y": "1mm"
}

pcb_keepout

{
  "type": "pcb_keepout",
  "shape": "circle",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "radius": "5mm",
  "pcb_keepout_id": "pcb_keepout_1",
  "layers": ["top", "bottom"],
  "description": "aliqua laborum ullamco"
}

pcb_plated_hole

Defines a plated hole on the PCB

{
  "type": "pcb_plated_hole",
  "shape": "circle",
  "outer_diameter": "1.2mm",
  "hole_diameter": "0.08in",
  "x": "3mm",
  "y": "1mm",
  "layers": ["top", "bottom"],
  "port_hints": ["1", "left"],
  "pcb_component_id": "pcb_component_1",
  "pcb_plated_hole_id": "pcb_plated_hole_1"
}

pcb_route_hint

{
  "x": "3mm",
  "y": "1mm",
  "via": true,
  "via_to_layer": {
    "name": "P1"
  }
}
PropertyTypeRequiredDescription
xstring, numberYes
ystring, numberYes
viabooleanNo
via_to_layerundefinedNo

pcb_route_hints

[
  {
    "x": "5mm",
    "y": "6mm",
    "via": false
  }
]

pcb_smtpad

Defines an SMT pad on the PCB

{
  "pcb_smtpad_id": "pcb_smtpad_1",
  "type": "pcb_smtpad",
  "shape": "rect",
  "x": "3mm",
  "y": "1mm",
  "width": "5mm",
  "height": "5mm",
  "layer": "top",
  "port_hints": ["1", "left"],
  "pcb_component_id": "pcb_component_1",
  "pcb_port_id": "pcb_port_1"
}

point

{
  "x": "3mm",
  "y": "1mm"
}
PropertyTypeRequiredDescription
xstring, numberYes
ystring, numberYes

point3

{
  "x": "3mm",
  "y": "1mm",
  "z": -76323084.49027786
}
PropertyTypeRequiredDescription
xstring, numberYes
ystring, numberYes
zstring, numberYes

position

{
  "x": "3mm",
  "y": "1mm"
}
PropertyTypeRequiredDescription
xstring, numberYes
ystring, numberYes

position3

{
  "x": "3mm",
  "y": "1mm",
  "z": 40116288.04740775
}
PropertyTypeRequiredDescription
xstring, numberYes
ystring, numberYes
zstring, numberYes

resistance

"1k"

rotation

"90deg"

route_hint_point

{
  "x": "3mm",
  "y": "1mm",
  "to_layer": "bottom",
  "trace_width": 46665910.013412684
}
PropertyTypeRequiredDescription
xstring, numberYes
ystring, numberYes
viabooleanNo
to_layerundefinedNo
trace_widthstring, numberNo

schematic_pin_styles

{
  "quis0": {
    "left_margin": -4408656.335038647,
    "right_margin": "nisi ullamco mollit ad aliquip",
    "top_margin": 3100953.615015283,
    "bottom_margin": -62822363.50467563
  }
}

size

{
  "width": "5mm",
  "height": "5mm"
}
PropertyTypeRequiredDescription
widthnumberYes
heightnumberYes

supplier_name

"digikey"

time

"60s"

visible_layer

"top"

voltage

"5V"