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",
  "ftype": "laborum quis sint",
  "source_component_id": "source_component_1",
  "name": "L1",
  "manufacturer_part_number": "occaecat irure",
  "supplier_part_numbers": {
    "veniam_2f": ["dolore et do"],
    "non99": [
      "sint eiusmod magna aliquip dolore",
      "proident commodo cupidatat sint occaecat",
      "magna",
      "Duis dolor"
    ]
  }
}
PropertyTypeRequiredDescription
typestringYes
ftypestringNo
source_component_idstringYes
namestringYes
manufacturer_part_numberstringNo
supplier_part_numbersobjectNo

source_group

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

source_led

{
  "type": "source_component",
  "ftype": "led",
  "source_component_id": "source_component_1",
  "name": "L1",
  "manufacturer_part_number": "pariatur exercitation consequat fugiat mollit",
  "supplier_part_numbers": {
    "mollit4": ["ea aute eu ipsum dolor", "in laborum", "in in dolor laborum"],
    "labore7": [
      "aliqua in labore",
      "aute aliqua ea occaecat",
      "in commodo aute"
    ],
    "aliqua_89": ["quis sint minim in", "in quis sint"]
  }
}
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 anim",
    "ad veniam",
    "aliquip culpa ut",
    "laborum"
  ],
  "trace_width": 33140997.125306666
}
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": 54838103.85665196,
  "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": "ex in aliqua",
  "supplier_part_numbers": {
    "qui_68": [
      "ut pariatur non",
      "labore",
      "exercitation aliquip consectetur ullamco dolore"
    ],
    "eiusmod_74": [
      "irure aliqua ad",
      "pariatur",
      "elit Excepteur ut dolore incididunt"
    ]
  }
}
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": "laboris aute do reprehenderit ex",
  "supplier_part_numbers": {
    "anim_8": ["dolor"],
    "ut__": []
  },
  "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",
  "manufacturer_part_number": "qui consectetur mollit",
  "supplier_part_numbers": {
    "ade": [
      "culpa",
      "do exercitation dolor ipsum qui",
      "exercitation enim",
      "ad ut non",
      "Excepteur eiusmod est esse veniam"
    ],
    "laboris_4b9": [
      "Excepteur voluptate esse adipisicing aliquip",
      "ea ut incididunt",
      "ea laborum sint cillum consequat"
    ]
  }
}
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": "nulla ut",
  "supplier_part_numbers": {
    "laborum_11": ["veniam cupidatat dolor velit Ut", "consequat sunt est"],
    "aliqua37": [
      "dolore do non aliquip aute",
      "voluptate esse",
      "aliqua sunt deserunt nostrud magna",
      "enim ipsum",
      "velit"
    ]
  }
}
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": "fugiat",
  "supplier_part_numbers": {
    "proident8b_": ["Lorem dolore quis", "deserunt labore sunt"],
    "pariatur_4b": [
      "do cupidatat dolore magna id",
      "enim dolore anim ex",
      "commodo do sit",
      "Ut"
    ]
  }
}
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": "consectetur",
  "supplier_part_numbers": {
    "dolor_0": ["adipisicing", "Duis tempor mollit esse", "dolor"]
  },
  "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": {
    "elit06": [
      "consequat mollit enim",
      "eu consequat in culpa",
      "in ut",
      "mollit Ut qui deserunt pariatur"
    ],
    "ea_": [
      "veniam incididunt dolore nulla quis",
      "proident Ut",
      "ipsum laborum proident dolore"
    ]
  },
  "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": ["voluptate dolor dolore nisi", "enim in"],
  "connected_source_net_ids": ["laboris adipisicing quis"]
}
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": 44273842.183810174,
  "pin_styles": {},
  "box_width": "ea eiusmod elit esse",
  "symbol_name": "fugiat",
  "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": "dolore"
}
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": "top",
  "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": "red",
  "is_filled": true,
  "points": [
    {
      "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": "right"
}
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"
  }
}
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"
      },
      "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",
      "to_schematic_port_id": "to_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",
  "pcb_board_id": "pcb_board_1",
  "width": "5mm",
  "height": "5mm",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "outline": [
    {
      "x": "3mm",
      "y": "1mm"
    },
    {
      "x": "3mm",
      "y": "1mm"
    },
    {
      "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": [],
  "stroke_width": "0.1mm",
  "color": "veniam laborum"
}
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_fabrication_note_text_id": "pcb_fabrication_note_text_1",
  "font": "tscircuit2024",
  "font_size": "1mm",
  "pcb_component_id": "pcb_component_1",
  "text": "Hello, World!",
  "layer": "top",
  "color": "sit ut id"
}
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": "Excepteur ut id ut"
}
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": "consequat magna in labore enim",
  "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": "ipsum sint velit laborum dolore",
  "radius_y": "esse in enim irure",
  "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"
    },
    {
      "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",
  "pcb_component_id": "pcb_component_1",
  "text": "Hello, World!",
  "layer": "top"
}
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": [
    {
      "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": "via",
      "x": "3mm",
      "y": "1mm",
      "from_layer": "top",
      "to_layer": "bottom"
    },
    {
      "route_type": "via",
      "x": "3mm",
      "y": "1mm",
      "from_layer": "top",
      "to_layer": "bottom"
    }
  ]
}
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": "in ipsum in",
  "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": "eu reprehenderit exercitation voluptate"
    }
  ]
}
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",
  "outer_diameter": "1.2mm",
  "hole_diameter": "0.08in",
  "from_layer": "top",
  "to_layer": "bottom",
  "layers": ["top", "bottom"]
}
PropertyTypeRequiredDescription
typestringYes
xstring, numberYes
ystring, numberYes
outer_diameterstring, numberNo
hole_diameterstring, numberNo
from_layerundefinedNo
to_layerundefinedNo
layersarrayYes

Misc

any_circuit_element

{
  "type": "pcb_text",
  "text": "Hello, World!",
  "x": "3mm",
  "y": "1mm",
  "align": "bottom-left",
  "width": "5mm",
  "height": "5mm",
  "lines": 1
}

any_source_component

{
  "type": "source_component",
  "ftype": "led",
  "source_component_id": "source_component_1",
  "name": "L1",
  "manufacturer_part_number": "eiusmod deserunt do",
  "supplier_part_numbers": {
    "nisi_": [],
    "commodo4": ["dolore velit magna fugiat dolor"],
    "aute8": [
      "deserunt ullamco veniam officia id",
      "in non ut aliqua enim",
      "elit",
      "dolore eu mollit irure deserunt"
    ],
    "sunt_f6": ["sunt ad", "anim"],
    "elit_393": ["ea"]
  }
}

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": 54724207.30254486
  }
}
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_diameter": "0.08in",
  "x": "3mm",
  "y": "1mm"
}

pcb_keepout

{
  "type": "pcb_keepout",
  "shape": "rect",
  "center": {
    "x": "3mm",
    "y": "1mm"
  },
  "width": "5mm",
  "height": "5mm",
  "pcb_keepout_id": "pcb_keepout_1",
  "layers": ["top", "bottom"],
  "description": "ex"
}

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_port_id": "pcb_port_1",
  "pcb_plated_hole_id": "pcb_plated_hole_1"
}

pcb_route_hint

{
  "x": "3mm",
  "y": "1mm",
  "via": false
}
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": "labore deserunt"
}
PropertyTypeRequiredDescription
xstring, numberYes
ystring, numberYes
zstring, numberYes

position

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

position3

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

resistance

"1k"

rotation

"90deg"

route_hint_point

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

schematic_pin_styles

{
  "laboris_f6": {
    "left_margin": "nisi Duis ex magna",
    "right_margin": "id exercitation sint",
    "top_margin": "reprehenderit eiusmod"
  },
  "anim_5": {
    "left_margin": 90169713.17957193,
    "right_margin": "et eiusmod reprehenderit ullamco",
    "top_margin": "culpa id aliqua qui pariatur",
    "bottom_margin": 28342957.582621694
  }
}

size

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

supplier_name

"jlcpcb"

time

"60s"

visible_layer

"bottom"

voltage

"5V"