mohan-bee/flight-controller-v2

A 64 mm STM32F405 flight-controller PCB with ICM-42688 IMU, SPI flash, USB-C/ESD, battery buck and 3.3 V regulation, four motor outputs, service I/O, and PETG standoff mounting hardware.

Version
0.1.0
License
ISC
Stars
0

validation/publish-native-checks.json

{
  "status": "pass",
  "netlist": [],
  "schematic": [],
  "placement": [
    {
      "type": "pcb_component_missing_courtyard_warning",
      "pcb_component_missing_courtyard_warning_id": "pcb_component_missing_courtyard_warning_pcb_component_6",
      "warning_type": "pcb_component_missing_courtyard_warning",
      "message": "J_USB has no courtyard",
      "pcb_component_id": "pcb_component_6",
      "source_component_id": "source_component_6",
      "subcircuit_id": "subcircuit_source_group_0"
    },
    {
      "type": "pcb_component_missing_courtyard_warning",
      "pcb_component_missing_courtyard_warning_id": "pcb_component_missing_courtyard_warning_pcb_component_15",
      "warning_type": "pcb_component_missing_courtyard_warning",
      "message": "J_BAT has no courtyard",
      "pcb_component_id": "pcb_component_15",
      "source_component_id": "source_component_15",
      "subcircuit_id": "subcircuit_source_group_0"
    },
    {
      "type": "pcb_component_missing_courtyard_warning",
      "pcb_component_missing_courtyard_warning_id": "pcb_component_missing_courtyard_warning_pcb_component_55",
      "warning_type": "pcb_component_missing_courtyard_warning",
      "message": "J_SWD has no courtyard",
      "pcb_component_id": "pcb_component_55",
      "source_component_id": "source_component_55",
      "subcircuit_id": "subcircuit_source_group_0"
    },
    {
      "type": "pcb_component_missing_courtyard_warning",
      "pcb_component_missing_courtyard_warning_id": "pcb_component_missing_courtyard_warning_pcb_component_57",
      "warning_type": "pcb_component_missing_courtyard_warning",
      "message": "J_AUX has no courtyard",
      "pcb_component_id": "pcb_component_57",
      "source_component_id": "source_component_57",
      "subcircuit_id": "subcircuit_source_group_0"
    },
    {
      "type": "pcb_component_missing_courtyard_warning",
      "pcb_component_missing_courtyard_warning_id": "pcb_component_missing_courtyard_warning_pcb_component_58",
      "warning_type": "pcb_component_missing_courtyard_warning",
      "message": "J_M1 has no courtyard",
      "pcb_component_id": "pcb_component_58",
      "source_component_id": "source_component_58",
      "subcircuit_id": "subcircuit_source_group_0"
    },
    {
      "type": "pcb_component_missing_courtyard_warning",
      "pcb_component_missing_courtyard_warning_id": "pcb_component_missing_courtyard_warning_pcb_component_61",
      "warning_type": "pcb_component_missing_courtyard_warning",
      "message": "J_M2 has no courtyard",
      "pcb_component_id": "pcb_component_61",
      "source_component_id": "source_component_61",
      "subcircuit_id": "subcircuit_source_group_0"
    },
    {
      "type": "pcb_component_missing_courtyard_warning",
      "pcb_component_missing_courtyard_warning_id": "pcb_component_missing_courtyard_warning_pcb_component_64",
      "warning_type": "pcb_component_missing_courtyard_warning",
      "message": "J_M3 has no courtyard",
      "pcb_component_id": "pcb_component_64",
      "source_component_id": "source_component_64",
      "subcircuit_id": "subcircuit_source_group_0"
    },
    {
      "type": "pcb_component_missing_courtyard_warning",
      "pcb_component_missing_courtyard_warning_id": "pcb_component_missing_courtyard_warning_pcb_component_67",
      "warning_type": "pcb_component_missing_courtyard_warning",
      "message": "J_M4 has no courtyard",
      "pcb_component_id": "pcb_component_67",
      "source_component_id": "source_component_67",
      "subcircuit_id": "subcircuit_source_group_0"
    }
  ],
  "routing": [
    {
      "type": "pcb_trace_warning",
      "pcb_trace_warning_id": "pcb_trace_warning_source_trace_246",
      "warning_type": "pcb_trace_warning",
      "message": "Trace [.U5 > .pin3 to .U5 > .pin1] is routed thinner than requested (requested: 0.25mm, actual: 0.15mm).",
      "center": {
        "x": -11.835253248774658,
        "y": 8.795233456506566
      },
      "source_trace_id": "source_trace_246",
      "pcb_trace_id": "source_net_47_mst5_0",
      "pcb_component_ids": [
        "pcb_component_4"
      ],
      "pcb_port_ids": [
        "pcb_port_89",
        "pcb_port_91"
      ]
    },
    {
      "type": "pcb_trace_style_warning",
      "pcb_trace_style_warning_id": "pcb_trace_style_warning_source_net_11_mst31_0_0_1",
      "warning_type": "pcb_trace_style_warning",
      "styling_issue_type": "long_segment_at_odd_angle",
      "pcb_trace_id": "source_net_11_mst31_0",
      "source_trace_id": "source_trace_123",
      "subcircuit_id": "subcircuit_source_group_0",
      "layer": "top",
      "start_route_index": 0,
      "end_route_index": 1,
      "segment_start": {
        "x": 6,
        "y": -21.4625
      },
      "segment_end": {
        "x": 0.30748012224427496,
        "y": -19.554622429854554
      },
      "center": {
        "x": 3.1537400611221376,
        "y": -20.508561214927276
      },
      "segment_length": 6.003730455417543,
      "minimum_segment_length": 5,
      "angle_degrees": 161.47115645206338,
      "nearest_allowed_angle_degrees": 180,
      "angle_deviation_degrees": 18.528843547936617,
      "angle_tolerance_degrees": 4,
      "message": ".C_OUT2 > .pin2 to net.GND has a 6.00 mm segment on top at 161.47°, 18.53° from the nearest allowed direction (180°). Prefer a multiple of 45° for segments longer than 5 mm (tolerance 4°)."
    }
  ]
}