ShiboSoftwareDev/linux-gameboy-advance

Restores PCB assembly metadata by assigning part numbers and 3D CAD models, removing test-point bodies, and validating top-side SMT solder-paste features without altering copper or pads.

Version
1.0.17
License
unset
Stars
0

verification.json

{
  "circuitPath": "dist/index/circuit.json",
  "generatedAt": "2026-10-02T19:43:50.844Z",
  "board": {
    "title": "F1C100S Linux Game Boy Advance",
    "widthMm": 144.5,
    "heightMm": 82,
    "copperLayers": 4
  },
  "routing": {
    "pcbTraces": 435,
    "pcbVias": 522,
    "viaHoleDiameterMm": 0.3,
    "viaPadDiameterMm": 0.45,
    "minimumFinishedHoleGapMm": 0.202524,
    "closestViaPair": [
      "pcb_via_380",
      "pcb_via_382"
    ],
    "reviewedViaHoleToCopperGapMm": 0.54,
    "reviewedViaNearestTrace": "saved_fanout_pcb_group_0_0",
    "buckOutputCapLinksMm": 0.5,
    "backlightPowerLinksMm": 0.5
  },
  "mechanical": {
    "batteryCableEdgeCut": {
      "widthMm": 5,
      "overallLengthMm": 11,
      "depthIntoBoardMm": 9.5,
      "closedEnd": "rounded"
    },
    "shoulderSwitches": "TS66135ZJ 022 low-profile right-angle housing, 13.5 mm switch height, 9.6 mm board-edge stem protrusion",
    "bootHeader": {
      "center": {
        "x": -55,
        "y": 23
      },
      "outsideLandscapeLcdEnvelope": true
    },
    "startSelectYmm": -19,
    "microSdEdge": "right recessed access bay",
    "microSdEdgeClearanceMm": 0.399,
    "batteryConnectorFacesCutout": true,
    "batteryCableBendCorridorMm": 5.951,
    "powerSwitch": {
      "center": {
        "x": -61.5,
        "y": -32.5
      },
      "side": "lower-left, matching AGB-001 bottom control strip",
      "edgeRecessMm": 7.4,
      "enclosureActuation": "guarded slider"
    },
    "rearServiceConnectors": {
      "uart": {
        "center": {
          "x": -18,
          "y": 37
        },
        "layer": "bottom",
        "pinout": [
          "RX",
          "GND",
          "TX"
        ]
      },
      "i2c": {
        "center": {
          "x": -28,
          "y": 37
        },
        "layer": "bottom",
        "pinout": [
          "GND",
          "3V3",
          "SDA",
          "SCL"
        ]
      },
      "spi": {
        "center": {
          "x": 22,
          "y": 37
        },
        "layer": "bottom",
        "pinout": [
          "GND",
          "3V3",
          "SCLK",
          "MOSI",
          "MISO",
          "CS"
        ]
      }
    }
  },
  "display": {
    "part": "ER-TFT035IPS-6",
    "widthMm": 84.96,
    "heightMm": 55.5,
    "orientation": "landscape",
    "fpcConnectorSide": "right",
    "connectorRotationDeg": 270,
    "assemblyModel": "er-tft035ips-6-realistic.glb",
    "backlightDriver": "AP3031KTR-G1",
    "regulatedBacklightCurrentMa": 100
  },
  "power": {
    "labeledBatteryRangeV": [
      4.8,
      6.4
    ]
  },
  "models": {
    "f1c100s": "C1511928",
    "spiFlash": "C97521",
    "shoulderSwitch": "C33543626",
    "screen": "er-tft035ips-6-realistic.glb",
    "fittedPartsWithRenderableModels": 120,
    "missingRenderableModels": []
  },
  "audio": {
    "speakerConnector": "J_SPK",
    "output": "PAM8403 mono bridge SPK+/SPK- for an internal 4-8 ohm speaker"
  },
  "assembly": {
    "fittedComponents": 120,
    "uniqueJlcpcbPartNumbers": 51,
    "missingJlcpcbPartNumbers": []
  },
  "controls": 12,
  "errorsByType": {},
  "emittedErrors": 0
}