gokul/usb3-sd-hub

Engineering draft: four-layer, computer-powered USB 3 hub with one USB-C host socket, two USB-C and two USB-A accessory sockets, and a full-size SD slot. Board and three schematic previews are available. Routing and production checks are incomplete; not fabrication ready.

Version
0.1.5
License
MIT
Stars
0

verification/issues/schema-offsets-repro.circuit.json

PCBPCB preview for verification/issues/schema-offsets-repro.circuit.json
SchematicSchematic preview for verification/issues/schema-offsets-repro.circuit.json
[
  {
    "type": "source_project_metadata",
    "source_project_metadata_id": "source_project_metadata_0",
    "software_used_string": "@tscircuit/core@0.0.2125"
  },
  {
    "type": "source_group",
    "source_group_id": "source_group_0",
    "was_automatically_named": true,
    "parent_source_group_id": "source_group_1"
  },
  {
    "type": "source_group",
    "source_group_id": "source_group_1",
    "is_subcircuit": true,
    "was_automatically_named": true,
    "subcircuit_id": "subcircuit_source_group_1"
  },
  {
    "type": "source_port",
    "source_port_id": "source_port_0",
    "name": "pin1",
    "pin_number": 1,
    "port_hints": [
      "pin1",
      "anode",
      "pos",
      "left",
      "1"
    ],
    "source_component_id": "source_component_0",
    "subcircuit_id": "subcircuit_source_group_1"
  },
  {
    "type": "source_port",
    "source_port_id": "source_port_1",
    "name": "pin2",
    "pin_number": 2,
    "port_hints": [
      "pin2",
      "cathode",
      "neg",
      "right",
      "2"
    ],
    "source_component_id": "source_component_0",
    "subcircuit_id": "subcircuit_source_group_1"
  },
  {
    "type": "source_component",
    "source_component_id": "source_component_0",
    "ftype": "simple_resistor",
    "name": "R1",
    "resistance": 1000,
    "display_resistance": "1kΩ",
    "are_pins_interchangeable": true,
    "source_group_id": "source_group_0"
  },
  {
    "type": "source_board",
    "source_board_id": "source_board_0",
    "source_group_id": "source_group_1"
  },
  {
    "type": "source_pin_missing_trace_warning",
    "source_pin_missing_trace_warning_id": "source_pin_missing_trace_warning_0",
    "message": "Port pin1 on R1 is missing a trace",
    "source_component_id": "source_component_0",
    "source_port_id": "source_port_0",
    "subcircuit_id": "subcircuit_source_group_1",
    "warning_type": "source_pin_missing_trace_warning"
  },
  {
    "type": "source_pin_missing_trace_warning",
    "source_pin_missing_trace_warning_id": "source_pin_missing_trace_warning_1",
    "message": "Port pin2 on R1 is missing a trace",
    "source_component_id": "source_component_0",
    "source_port_id": "source_port_1",
    "subcircuit_id": "subcircuit_source_group_1",
    "warning_type": "source_pin_missing_trace_warning"
  },
  {
    "type": "pcb_component",
    "pcb_component_id": "pcb_component_0",
    "center": {
      "x": 0,
      "y": 0
    },
    "width": 1.56,
    "height": 0.64,
    "layer": "top",
    "rotation": 0,
    "source_component_id": "source_component_0",
    "subcircuit_id": "subcircuit_source_group_1",
    "do_not_place": false,
    "obstructs_within_bounds": true,
    "is_allowed_to_be_off_board": false,
    "pcb_group_id": "pcb_group_0",
    "position_mode": "relative_to_group_anchor",
    "positioned_relative_to_pcb_group_id": "pcb_group_0",
    "display_offset_x": 0,
    "display_offset_y": 0,
    "pin1_location": "topside_left"
  },
  {
    "type": "pcb_group",
    "pcb_group_id": "pcb_group_0",
    "subcircuit_id": "subcircuit_source_group_1",
    "name": "unnamed_group1",
    "anchor_position": {
      "x": 0,
      "y": 0
    },
    "center": {
      "x": 0,
      "y": 0
    },
    "width": 1.56,
    "height": 0.64,
    "pcb_component_ids": [],
    "source_group_id": "source_group_0",
    "anchor_alignment": null
  },
  {
    "type": "pcb_board",
    "pcb_board_id": "pcb_board_0",
    "source_board_id": "source_board_0",
    "subcircuit_id": "subcircuit_source_group_1",
    "center": {
      "x": 0,
      "y": 0
    },
    "thickness": 1.4,
    "num_layers": 2,
    "width": 20,
    "height": 20,
    "material": "fr4",
    "min_trace_width": 0.1,
    "min_via_hole_diameter": 0.2,
    "min_via_pad_diameter": 0.3,
    "min_via_hole_edge_to_via_hole_edge_clearance": 0.1,
    "min_trace_to_hole_edge_clearance": 0.2,
    "min_trace_to_pad_edge_clearance": 0.1,
    "min_pad_edge_to_pad_edge_clearance": 0.1,
    "min_plated_hole_drill_edge_to_drill_edge_clearance": 0.15,
    "min_board_edge_clearance": 0.2
  },
  {
    "type": "pcb_smtpad",
    "pcb_smtpad_id": "pcb_smtpad_0",
    "pcb_component_id": "pcb_component_0",
    "pcb_port_id": "pcb_port_0",
    "layer": "top",
    "shape": "rect",
    "width": 0.54,
    "height": 0.64,
    "port_hints": [
      "1",
      "left"
    ],
    "is_covered_with_solder_mask": false,
    "x": -0.51,
    "y": 0,
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0"
  },
  {
    "type": "pcb_solder_paste",
    "pcb_solder_paste_id": "pcb_solder_paste_0",
    "layer": "top",
    "shape": "rect",
    "width": 0.378,
    "height": 0.44799999999999995,
    "x": -0.51,
    "y": 0,
    "pcb_component_id": "pcb_component_0",
    "pcb_smtpad_id": "pcb_smtpad_0",
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0"
  },
  {
    "type": "pcb_smtpad",
    "pcb_smtpad_id": "pcb_smtpad_1",
    "pcb_component_id": "pcb_component_0",
    "pcb_port_id": "pcb_port_1",
    "layer": "top",
    "shape": "rect",
    "width": 0.54,
    "height": 0.64,
    "port_hints": [
      "2",
      "right"
    ],
    "is_covered_with_solder_mask": false,
    "x": 0.51,
    "y": 0,
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0"
  },
  {
    "type": "pcb_solder_paste",
    "pcb_solder_paste_id": "pcb_solder_paste_1",
    "layer": "top",
    "shape": "rect",
    "width": 0.378,
    "height": 0.44799999999999995,
    "x": 0.51,
    "y": 0,
    "pcb_component_id": "pcb_component_0",
    "pcb_smtpad_id": "pcb_smtpad_1",
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0"
  },
  {
    "type": "pcb_silkscreen_path",
    "pcb_silkscreen_path_id": "pcb_silkscreen_path_0",
    "pcb_component_id": "pcb_component_0",
    "layer": "top",
    "route": [
      {
        "x": -0.153641,
        "y": 0.38
      },
      {
        "x": 0.153641,
        "y": 0.38
      }
    ],
    "stroke_width": 0.12,
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0"
  },
  {
    "type": "pcb_silkscreen_path",
    "pcb_silkscreen_path_id": "pcb_silkscreen_path_1",
    "pcb_component_id": "pcb_component_0",
    "layer": "top",
    "route": [
      {
        "x": -0.153641,
        "y": -0.38
      },
      {
        "x": 0.153641,
        "y": -0.38
      }
    ],
    "stroke_width": 0.12,
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0"
  },
  {
    "type": "pcb_silkscreen_text",
    "pcb_silkscreen_text_id": "pcb_silkscreen_text_0",
    "anchor_alignment": "center",
    "anchor_position": {
      "x": 0,
      "y": 1.22
    },
    "font": "tscircuit2024",
    "font_size": 0.4,
    "layer": "top",
    "text": "R1",
    "ccw_rotation": 0,
    "pcb_component_id": "pcb_component_0",
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0"
  },
  {
    "type": "pcb_courtyard_rect",
    "pcb_courtyard_rect_id": "pcb_courtyard_rect_0",
    "pcb_component_id": "pcb_component_0",
    "layer": "top",
    "center": {
      "x": 0,
      "y": 0
    },
    "width": 1.86,
    "height": 0.94,
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0"
  },
  {
    "type": "pcb_port",
    "pcb_port_id": "pcb_port_0",
    "pcb_component_id": "pcb_component_0",
    "layers": [
      "top"
    ],
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0",
    "x": -0.51,
    "y": 0,
    "source_port_id": "source_port_0"
  },
  {
    "type": "pcb_port",
    "pcb_port_id": "pcb_port_1",
    "pcb_component_id": "pcb_component_0",
    "layers": [
      "top"
    ],
    "subcircuit_id": "subcircuit_source_group_1",
    "pcb_group_id": "pcb_group_0",
    "x": 0.51,
    "y": 0,
    "source_port_id": "source_port_1"
  },
  {
    "type": "cad_component",
    "cad_component_id": "cad_component_0",
    "position": {
      "x": 0,
      "y": 0,
      "z": 0.7
    },
    "rotation": {
      "x": 0,
      "y": 0,
      "z": 0
    },
    "pcb_component_id": "pcb_component_0",
    "source_component_id": "source_component_0",
    "model_origin_alignment": "center_of_component_on_board_surface",
    "anchor_alignment": "center_of_component_on_board_surface",
    "footprinter_string": "res0402"
  },
  {
    "type": "source_missing_manufacturer_part_number_warning",
    "source_missing_manufacturer_part_number_warning_id": "source_missing_manufacturer_part_number_warning_0",
    "source_component_id": "source_component_0",
    "subcircuit_id": "subcircuit_source_group_1",
    "warning_type": "source_missing_manufacturer_part_number_warning",
    "message": "<resistor#0 name=\".R1\" /> is missing a manufacturer part number and could not be resolved to a supplier part. Specify mpn, manufacturerPartNumber, or mfn, provide supplierPartNumbers, or configure a parts engine to select a part. If this part will not be assembled, mark it doNotPlace."
  }
]