{
  "version": "1.0",
  "kicad_tools_version": "0.20.0",
  "generated_at": "2026-09-10T19:03:24.012451+00:00",
  "manufacturer": "jlcpcb",
  "files": {
    "README.txt": {
      "sha256": "8735d92cfd82f379f8d105b08695117522b81b3c900a352fee01f92259cedae4",
      "size": 2460
    },
    "assembly-back.pdf": {
      "sha256": "6e87a0235daf0b21e48d0432a5c5292002e60655d8be068d9a9d0697c036dc21",
      "size": 83290
    },
    "assembly-front.pdf": {
      "sha256": "56ed6c94df47bd293ea0b82287692ebcf6279e5678fc4572cb9ed8a11ccfdc44",
      "size": 127197
    },
    "bom_jlcpcb.csv": {
      "sha256": "bcc742cd8eda3875255937f69aac3f9e1c580deb5f5b7326c666ab660aa96bdd",
      "size": 860
    },
    "check-report.json": {
      "sha256": "a78d10814489cafbbb71333c869e1ce80c485c185e6761a7ed8af2d5457006e5",
      "size": 3536
    },
    "cpl_jlcpcb.csv": {
      "sha256": "fcfd09f56fedca12282e66a638d6ea80b9ebf06e83d99b06911239e7bef5324a",
      "size": 2404
    },
    "design-source.zip": {
      "sha256": "df5ff814a81da4cb4feb6c805d1468a97405c8c8f2ef70c80c4093e610731f02",
      "size": 1100596
    },
    "engineering/README.md": {
      "sha256": "539341a88badbaaebf417c584ca02b0405d7f9bd26f89bbddc6ae1f2c2d15dd0",
      "size": 3691
    },
    "engineering/clock_spacing.py": {
      "sha256": "c4646ecba440bf22f66654faa04b67465da3045172cfa18df2d3edc853ecc35f",
      "size": 3909
    },
    "engineering/escape-coupling-scenarios.json": {
      "sha256": "93ca591868e8b924658e8977fa3e4ecbba1e8ea135f1f206e0a075c726d0e2c5",
      "size": 1736
    },
    "engineering/experiments/README.md": {
      "sha256": "c8cf83d7e3b9dc39261f17e3cc0cb91f55e65604b974989daf5e4881d191eed5",
      "size": 3032
    },
    "engineering/experiments/a10-detour-68.py.txt": {
      "sha256": "be4a91d7f3dc042bcb171f32c979342ba500195840088b40741978436d55e59f",
      "size": 9164
    },
    "engineering/experiments/aux-final.py.txt": {
      "sha256": "3d7226820be01bfa36cf8b2998124c8a217129a74ff5bb01452fef71781c5cae",
      "size": 8441
    },
    "engineering/experiments/clock-corridor.py.txt": {
      "sha256": "55cddde29f082e54013e92d6950bf23ce7368901dbc3abe8c7900f095d2334a7",
      "size": 1296
    },
    "engineering/experiments/dq14-detour-48.py.txt": {
      "sha256": "61395aba86dfa9a20df6d90bbe460dd5d46bc4f78683160f2baa82c9019f6917",
      "size": 9156
    },
    "engineering/experiments/hybrid-ports.py.txt": {
      "sha256": "7985c94b9b17c6a7b4224802a8e0589134a7788d34d54f35c12e7dd5936a9807",
      "size": 4057
    },
    "engineering/experiments/planar-ports.py.txt": {
      "sha256": "cea1f5d607c781fef3badd1af82a8db0c0798f3855703ba48850e2ff4c0f9b53",
      "size": 4340
    },
    "engineering/experiments/remove-unused-vias.py.txt": {
      "sha256": "3a02d040b7dd2bc786ee56a300d9717bb03d15452a7b4208e6193c6e50bab62c",
      "size": 1290
    },
    "engineering/experiments/route-and-tune.py.txt": {
      "sha256": "b4f2e54eb5ab8a679547ea05d655d951d4f5741fb3ea1ee9310a658a0899eaba",
      "size": 4388
    },
    "engineering/experiments/tune-local.py.txt": {
      "sha256": "bb55709770b8cd0407cbdceebdc669e4b3efa2ba1ac971e578204dddff6591e5",
      "size": 4319
    },
    "engineering/load-review.md": {
      "sha256": "7cc94e01fdd02d3edddec8c565be3c4e46751a167635ef3bba2ae9e3180b0177",
      "size": 3827
    },
    "engineering/measure_escapes.py": {
      "sha256": "b9c8210c57fda74a7695b9c8428f01436d45e44c84c5e71604c9631ef54d5598",
      "size": 3409
    },
    "engineering/package-escape-spacing.json": {
      "sha256": "6796b96f648cbaee10851ecb584916303485774ec5444effa1ebc6863774a995",
      "size": 9235
    },
    "fill-consistency.json": {
      "sha256": "032a59d1574a03687971c2972c46e9d470171dd2b20cdea2f3b96d94ff2c257a",
      "size": 37
    },
    "firmware/include/ARM-LICENSE.txt": {
      "sha256": "b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1",
      "size": 11357
    },
    "firmware/include/ST-LICENSE.md": {
      "sha256": "dadb755f51d36614173b28c5790cb4a991e8f4cc822e5b634fd66a4f4145824d",
      "size": 9757
    },
    "firmware/include/cmsis_compiler.h": {
      "sha256": "747c5edd04a88d4e228c7856750ec475908545c77464a162a305b38d9e362d82",
      "size": 10265
    },
    "firmware/include/cmsis_gcc.h": {
      "sha256": "2f92cd832b6f58e4d4803b28d7340443f5e46b0f357a307cda76a42a0e530108",
      "size": 63620
    },
    "firmware/include/cmsis_version.h": {
      "sha256": "184c19fd3ee73632edf35a0b4d49cd48be75fbf49e6ccb19d9db05fa83bea4b3",
      "size": 1680
    },
    "firmware/include/core_cm4.h": {
      "sha256": "6b355b3974b13104dac0c987aff54795a2c64e6e268c9a0e058fb3443b3406a3",
      "size": 122776
    },
    "firmware/include/mpu_armv7.h": {
      "sha256": "29206b52ee02290ed6f5a5415ebd4187de802cf176d9b3cb844390d8e5571372",
      "size": 11731
    },
    "firmware/include/stm32f429xx.h": {
      "sha256": "d0cdc158b50180069860ece77ee91e4ef59c1694361ee1beb4f7bca6fba7e2d5",
      "size": 1311476
    },
    "firmware/include/system_stm32f4xx.h": {
      "sha256": "02c067d5a135f540c03215dc834b1e60a97bbd4e55bfd3994b0c82a15ea3012a",
      "size": 2214
    },
    "firmware/sdram_demo.bin": {
      "sha256": "f45bd59464bf69b8c226e8f228a143e25ecb5a6507e1ea5e66522b390707929e",
      "size": 1276
    },
    "firmware/sdram_demo.elf": {
      "sha256": "b1cdafa140248ccdd72b12acc381b7b5c30a0813dee8283e3064d5e10d82b35b",
      "size": 724808
    },
    "firmware/sdram_demo.map": {
      "sha256": "701565885e31a17f893fb6305667b12589ab0a54f1421243d0214ce9c2a85252",
      "size": 7768
    },
    "firmware/source/README.md": {
      "sha256": "a54b484da54ea74a8af1098f614ae9b1e81bb319ebc96fd92df40fef19b71de4",
      "size": 2347
    },
    "firmware/source/build.py": {
      "sha256": "816c09e041994a7270737ec0135ec0fe3b9b128c4bee25d39613c51bd384f533",
      "size": 2799
    },
    "firmware/source/linker.ld": {
      "sha256": "f998456a20f60963eea153f1bc60e821b0edf59c8fc9fc46e86e429224d302ab",
      "size": 480
    },
    "firmware/source/main.c": {
      "sha256": "8b5fbebd25820af758516429c0c5b0da553546f7043e544c96e4a3fcf64c7572",
      "size": 7120
    },
    "firmware/vendor-manifest.json": {
      "sha256": "c31c44e7faad55f686bde1ba3c9256dfe57efa0ee9c089fd6385afa75aa3410e",
      "size": 2237
    },
    "gerbers/gerbers.zip": {
      "sha256": "4ff60c7cee154adfb5b753b97583abc7f5afc0e5cb9aa95979f373f3ed4d50d0",
      "size": 180368
    },
    "images/assembly.png": {
      "sha256": "b454d415aa45b43953b854794fff2f7c69c440b0cd9c57b25915c4be127ca90b",
      "size": 641379
    },
    "images/layer_B_Cu.png": {
      "sha256": "cedb5522a9ed489d71e6157f134fadf1b4d4c1340ce29736f3557f4a2104fa2e",
      "size": 270069
    },
    "images/layer_F_Cu.png": {
      "sha256": "5b5d5ee2b1c5087d3b979a007aca4bbf5353a245382213b168589c697d4dab48",
      "size": 311860
    },
    "images/layer_In1_Cu.png": {
      "sha256": "a67e2b7746192db2af84b724453c48c114c0d8d5143522cfe81fd1b1ae7f3b6f",
      "size": 217240
    },
    "images/layer_In2_Cu.png": {
      "sha256": "9cd1c5ff328e35169720742665ddb3fad07a9d83e62a80c8f16036a831b1399e",
      "size": 256829
    },
    "images/layer_In3_Cu.png": {
      "sha256": "4946f5ae829d97ec36b2b039e7eede1de19a57cb3a8484b13ee5d68e86807261",
      "size": 217424
    },
    "images/layer_In4_Cu.png": {
      "sha256": "6389587bc87385c0ea4de711ef6d6eac3e6a140e745e0d6e59caf64f072d409c",
      "size": 236867
    },
    "images/pcb_back.png": {
      "sha256": "45b4d8c8e310566732220e4c72768c2a476a5cc5573347aac5175de652f34791",
      "size": 335837
    },
    "images/pcb_copper.png": {
      "sha256": "bb8cededb3fe6f2f0d6c8b8e119c9dd6c5fb08fc7462b8db0d71f32a339c23f7",
      "size": 459695
    },
    "images/pcb_front.png": {
      "sha256": "e9eb451eb517de48b04950974d3fcab5edaa39a1ff8cf3cf0e205881b9465dff",
      "size": 442681
    },
    "images/schematic_matchgroup_test.png": {
      "sha256": "0fd77eca8fe556d6b51d31dfca19a04d9cc9efb7943118801d4a0a8dfc3fbb6a",
      "size": 396485
    },
    "kicad_project.zip": {
      "sha256": "16fb43ed22d470f759db9d953153e2ace9a277e36ff94b239f6bbfbe0051a837",
      "size": 448058
    },
    "lvs.json": {
      "sha256": "590e87395d997669151b91020f3a030c33cd470fb216132160e7144ff711fc4d",
      "size": 215
    },
    "manual-assembly-bom.csv": {
      "sha256": "30198f6ac99155e14cb04a604fec7dba41c0eeda6d12ae130cadae3ddecb204a",
      "size": 518
    },
    "native-drc.json": {
      "sha256": "8be9086f679ed8cbc3db25261bead69d2b04c291485a812ff4299d8af2791877",
      "size": 1214
    },
    "native-erc.json": {
      "sha256": "b7865cd8d2f82efd02054e0a462dc9d14562aacb9219305e036c0bd15c48d85b",
      "size": 988
    },
    "procurement-review.md": {
      "sha256": "ccdb8e173be8fd27e75782a4c86d6c1b13801bf37e0cb893eb8d670420d9ad25",
      "size": 9959
    },
    "procurement.json": {
      "sha256": "bf93404c4f9bbcb5f1ec27ed6457cef9b455d01d1615809763c74a378a53509d",
      "size": 5172
    },
    "report.md": {
      "sha256": "c14b57a2d27b94c9671b4bc414609cb58d8e456bd3457497b9560ce39a92e3dd",
      "size": 4984
    },
    "report.pdf": {
      "sha256": "c856b077a3a313ebc5d5744b332f128f7d5be7faed35acc84007634d61bae227",
      "size": 3956243
    },
    "schematic.pdf": {
      "sha256": "d54cce8a55e920e82c95a44efe3a6b4829a90d1cb4f392a8fc0f3b2df87e50e9",
      "size": 198729
    }
  },
  "board": {
    "name": "matchgroup_test_routed",
    "pcb_file": "matchgroup_test_routed.kicad_pcb"
  },
  "preflight": [
    {
      "name": "pcb_file",
      "status": "OK",
      "message": "PCB file parsed successfully",
      "details": "Footprints: 43"
    },
    {
      "name": "schematic_file",
      "status": "OK",
      "message": "Schematic file found: matchgroup_test.kicad_sch"
    },
    {
      "name": "schematic_footprints",
      "status": "OK",
      "message": "All schematic symbols have a footprint assigned"
    },
    {
      "name": "board_outline",
      "status": "OK",
      "message": "Board outline is closed (5 points)"
    },
    {
      "name": "footprints",
      "status": "OK",
      "message": "All 43 footprints have library footprint names"
    },
    {
      "name": "board_dimensions",
      "status": "OK",
      "message": "Board dimensions within limits (100.00 x 80.00 mm)"
    },
    {
      "name": "drill_holes",
      "status": "OK",
      "message": "Drill holes present (192 vias, 11 TH pads)"
    },
    {
      "name": "tht_in_cpl",
      "status": "OK",
      "message": "3 through-hole component(s) excluded from CPL",
      "details": "THT references: J1, J2, J3"
    },
    {
      "name": "bom_fields",
      "status": "OK",
      "message": "All 43 BOM items have required fields"
    },
    {
      "name": "bom_lcsc_values",
      "status": "OK",
      "message": "No LCSC value/package mismatches detected (43 assigned item(s) checked against local parts cache)"
    },
    {
      "name": "bom_pcb_match",
      "status": "OK",
      "message": "BOM and PCB references match (43 components)"
    },
    {
      "name": "bom_cpl_match",
      "status": "OK",
      "message": "BOM and CPL references match (40 components, 3 THT excluded)"
    },
    {
      "name": "drc",
      "status": "OK",
      "message": "DRC: 0 errors, 0 warnings"
    },
    {
      "name": "erc",
      "status": "OK",
      "message": "ERC: 0 errors, 0 warnings"
    }
  ],
  "mode": "assembly",
  "manual_assembly": [
    "J1",
    "J2",
    "J3"
  ]
}
