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
PCB
Schematic
[
{
"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."
}
]