krishnax12/t113-minimal-linux
Allwinner T113-S3 dual-Cortex-A7 SoC with integrated 128MB DDR3, multi-rail decoupling, 24MHz and 32.768kHz oscillators, filtering, and exposed test points.
- Version
- 0.1.1
- License
- unset
- Stars
- 0
routing/validation.json
{
"createdAt": "2026-10-25T17:04:35.458968+00:00",
"package": "krishnax12/t113-minimal-linux",
"version": "0.1.1",
"sourceComponents": 121,
"circuitRecords": {
"schematic_sheet": 6,
"source_group": 6,
"source_net": 59,
"source_port": 468,
"source_component": 121,
"source_manually_placed_via": 25,
"source_board": 1,
"source_component_internal_connection": 5,
"source_trace": 399,
"schematic_component": 121,
"schematic_text": 111,
"schematic_group": 6,
"schematic_port": 340,
"schematic_line": 3,
"schematic_symbol": 1,
"schematic_path": 4,
"schematic_trace": 242,
"schematic_net_label": 87,
"pcb_component": 146,
"pcb_group": 5,
"pcb_board": 1,
"pcb_smtpad": 400,
"pcb_solder_paste": 408,
"pcb_silkscreen_path": 193,
"pcb_silkscreen_text": 141,
"pcb_courtyard_outline": 17,
"pcb_courtyard_rect": 93,
"pcb_plated_hole": 18,
"pcb_silkscreen_circle": 10,
"pcb_hole": 8,
"pcb_fabrication_note_path": 4,
"pcb_port": 468,
"pcb_fabrication_note_text": 1,
"cad_component": 110,
"source_project_metadata": 1,
"pcb_via": 277,
"pcb_trace": 1027,
"pcb_copper_pour": 3
},
"checks": {
"design-check": {
"passed": true,
"checks": [
{
"id": "soc_rail_GND",
"passed": true
},
{
"id": "soc_rail_VRTC1V8",
"passed": true
},
{
"id": "soc_rail_V3V3",
"passed": true
},
{
"id": "soc_rail_V0V9",
"passed": true
},
{
"id": "soc_rail_V1V5",
"passed": true
},
{
"id": "soc_rail_LDOA1V8",
"passed": true
},
{
"id": "soc_signals",
"passed": true
},
{
"id": "unused_soc_pins_nc",
"passed": true
},
{
"id": "soc_129_physical_pins",
"passed": true
},
{
"id": "sd_pinout",
"passed": true
},
{
"id": "usb_pinout",
"passed": true
},
{
"id": "uart_pinout",
"passed": true
},
{
"id": "R_FEL_CC1_5k1",
"passed": true
},
{
"id": "R_FEL_CC2_5k1",
"passed": true
},
{
"id": "cc_independent",
"passed": true
},
{
"id": "vbus_gpio_isolation",
"passed": true
},
{
"id": "input_fuse",
"passed": true
},
{
"id": "rtc_ldo",
"passed": true
},
{
"id": "rtc_before_io",
"passed": true
},
{
"id": "io_before_core_ddr",
"passed": true
},
{
"id": "pg_holds_reset",
"passed": true
},
{
"id": "reset_1v8_domain",
"passed": true
},
{
"id": "buck_divider_R101",
"passed": true
},
{
"id": "buck_divider_R103",
"passed": true
},
{
"id": "buck_divider_R105",
"passed": true
},
{
"id": "ldob_not_ddr",
"passed": true
},
{
"id": "four_layers",
"passed": true
},
{
"id": "no_circuit_errors",
"passed": true
}
],
"sourceComponents": 121,
"source": "routed.circuit.json"
},
"routing-check": {
"passed": true,
"copperItems": 2818,
"pcbTraces": 1027,
"vias": 277,
"unconnectedNets": [],
"violations": [],
"violationCounts": {},
"removableJumperChecks": [],
"inputSha256": "369223ca22718298b11cc65aac741a95842df810f53e0705b7c90c513c19c0db",
"rulesMm": {
"copperClearance": 0.15,
"padToPadClearance": 0.1,
"drillToDrillClearance": 0.15,
"nonplatedHoleClearance": 0.15,
"trackAndViaBoardEdgeClearance": 0.19,
"comparisonTolerance": 0.001
},
"scope": "Physical copper connectivity, clearances, drill spacing and board outline. Does not certify stackup, impedance, current capacity, assembly or prototype behavior."
},
"gerber-check": {
"passed": true,
"checks": [
{
"id": "F_Cu.gbr_nonempty",
"passed": true
},
{
"id": "In1_Cu.gbr_nonempty",
"passed": true
},
{
"id": "In2_Cu.gbr_nonempty",
"passed": true
},
{
"id": "B_Cu.gbr_nonempty",
"passed": true
},
{
"id": "Edge_Cuts.gbr_nonempty",
"passed": true
},
{
"id": "plated_drill_geometry",
"passed": true,
"missingAreaMm2": 0.0,
"extraAreaMm2": 0.0
},
{
"id": "nonplated_drill_geometry",
"passed": true,
"missingAreaMm2": 0.0,
"extraAreaMm2": 0.0
}
],
"parsedGerberObjects": {
"F_Cu.gbr": 1430,
"F_SilkScreen.gbr": 8454,
"F_Mask.gbr": 388,
"F_Paste.gbr": 366,
"B_Cu.gbr": 554,
"B_SilkScreen.gbr": 1781,
"B_Mask.gbr": 64,
"B_Paste.gbr": 42,
"Edge_Cuts.gbr": 196,
"In1_Cu.gbr": 559,
"In2_Cu.gbr": 577,
"F_Fab.gbr": 163
},
"parserDiagnostics": [
{
"file": "F_Paste.gbr",
"message": "<unknown>:692 \"LR270\": Unknown statement found: \"LR270\", ignoring."
},
{
"file": "F_Paste.gbr",
"message": "<unknown>:694 \"LR0\": Unknown statement found: \"LR0\", ignoring."
},
{
"file": "F_Paste.gbr",
"message": "<unknown>:696 \"LR270\": Unknown statement found: \"LR270\", ignoring."
},
{
"file": "F_Paste.gbr",
"message": "<unknown>:698 \"LR0\": Unknown statement found: \"LR0\", ignoring."
},
{
"file": "F_Paste.gbr",
"message": "<unknown>:700 \"LR270\": Unknown statement found: \"LR270\", ignoring."
},
{
"file": "F_Paste.gbr",
"message": "<unknown>:702 \"LR0\": Unknown statement found: \"LR0\", ignoring."
},
{
"file": "F_Paste.gbr",
"message": "<unknown>:704 \"LR270\": Unknown statement found: \"LR270\", ignoring."
},
{
"file": "F_Paste.gbr",
"message": "<unknown>:706 \"LR0\": Unknown statement found: \"LR0\", ignoring."
},
{
"file": "B_Paste.gbr",
"message": "<unknown>:173 \"LR270\": Unknown statement found: \"LR270\", ignoring."
},
{
"file": "B_Paste.gbr",
"message": "<unknown>:175 \"LR0\": Unknown statement found: \"LR0\", ignoring."
},
{
"file": "B_Paste.gbr",
"message": "<unknown>:177 \"LR270\": Unknown statement found: \"LR270\", ignoring."
},
{
"file": "B_Paste.gbr",
"message": "<unknown>:179 \"LR0\": Unknown statement found: \"LR0\", ignoring."
},
{
"file": "B_Paste.gbr",
"message": "<unknown>:181 \"LR270\": Unknown statement found: \"LR270\", ignoring."
},
{
"file": "B_Paste.gbr",
"message": "<unknown>:183 \"LR0\": Unknown statement found: \"LR0\", ignoring."
},
{
"file": "B_Paste.gbr",
"message": "<unknown>:185 \"LR270\": Unknown statement found: \"LR270\", ignoring."
},
{
"file": "B_Paste.gbr",
"message": "<unknown>:187 \"LR0\": Unknown statement found: \"LR0\", ignoring."
},
{
"file": "drill-L1-L4.drl",
"message": "<unknown>:18 \"G90\": G90 header statement found after end of header"
},
{
"file": "drill_npth.drl",
"message": "<unknown>:16 \"G90\": G90 header statement found after end of header"
}
],
"archiveSha256": "33356664a0e71e050bc6fa5784a69081ce83a1e575f45c6ce435b593ef54ee54",
"scope": "Gerbonara 1.6.3 syntax parsing, four copper layers, and full plated/nonplated drill geometry with 0.0002 mm coordinate tolerance. Gerbonara does not interpret the Gerber LR aperture-rotation commands in paste layers; their diagnostics are retained. This is not a fabrication or impedance certification."
},
"schematic-check": {
"passed": true,
"formalWarnings": {},
"formalErrors": {},
"solverCounts": {
"LayoutPipelineSolver": 7,
"SchematicTracePipelineSolver": 6,
"PackSolver2": 1
},
"sourceBaselineSha256": "e18372406a10ae75f3186e13f3c5e1f2950c843c15d95382eab63045a0238d9f",
"scope": "Circuit JSON warning/error records and recorded solver invocations. Runtime solver iteration diagnostics remain in source-build.log and are not included in these counts."
}
},
"schematicAndPlacementPreserved": true,
"addedRoutingSourceTraces": 64,
"filesSha256": {
"bun.lock": "ecae62dd18c3095fc11b5f9fdc86a34a25ea160f8c24bc016b5e971577a70632",
"circuits/Core.tsx": "b660772e58ed23c6460127e535646c1f1b1227579af8469fabb3f26864375dc6",
"circuits/Power.tsx": "e6b13b48e6ef2dd77024a687fa70076ed6d62b68f7225d310fa7384404dd3ca1",
"circuits/StorageDebug.tsx": "481a7462a2c59c95e2b62020911434fb3279cc5f8006d84357ed72a792c0db43",
"circuits/Usb.tsx": "12b32563be0c187efe5c9a46a0388d301390f7070dd59e8a829b4e5faa732d7a",
"circuits/UsbSense.tsx": "163c679032d1c0bb7ea0695cd6efd4fc6bf166f73bea0151850c3f83a7ba1c4a",
"circuits/helpers.tsx": "6ca6c7355a635663b16544ff0d83ad9a628c64fecea1281e906030cdd034b9d1",
"circuits/soc-pinmap.ts": "4482afac77a6406e3f7429cee7be03157975a27a444ee18390a6e68611ff4f32",
"dist/fabrication.zip": "33356664a0e71e050bc6fa5784a69081ce83a1e575f45c6ce435b593ef54ee54",
"imports/MF_MSMF110_16_2.tsx": "5a2d9b7a2fac6ef93703b708d822148e3e1f528c850c3c1f838c66f19e29702a",
"imports/MMBT3904_RANGE_100_300_.tsx": "919777ebf12bf57680c57b5cec2388a57c0f789bc8fad34918fcfe81d54a1e42",
"imports/Q13FC13500004.tsx": "be767da38f69700c38118f4f0329872bf67d1f6a57db35629201916486636bff",
"imports/T113_S3.tsx": "b308d812173bf41aa6453a1167881c7ab6ec181fc8f5cbe43a7dbb83cf63de65",
"imports/TF_01A.tsx": "8ab1bd71d375f444b6f6714e017db997ba1a281daa047704ed8715114fd82226",
"imports/TLV62569PDDCR.tsx": "706f969757e8ce045a4031653cdccb70df61caeae8242850b46e23ddce30d98a",
"imports/TPS3808G01DBVR.tsx": "0550ded6d010ab05add7392a834b31a7f6d3e26a3aa7c4b8ec21325240329a57",
"imports/TPS3808G18DBVR.tsx": "8cc3517968d5ec566ebbc52ee42a4a1b87e3b91fe6b170dcc4d5d6fd810d5e29",
"imports/TPS3808G33DBVR.tsx": "1702f372e4f8470aa21f21f9645fa5c97d2521f9038ff3641e51ebe44af03d1b",
"imports/TPS7A2018PDBVR.tsx": "745424cc52c1ce9d2a1b27203678a9442ef569fa51df8ae22d59898a2ae21283",
"imports/TS_1088_AR02016.tsx": "d9a0ec0711161a3d107d731d2835de407a8dba6e6e921a594a2eac81871ffe9e",
"imports/TYPE_C_16PIN_2MD_073_.tsx": "64276c19cfbba3a09ebcd15ddb2744f07d576e19152294a6a1b8c03e3f5af1da",
"imports/USBLC6_2SC6.tsx": "17a55d35d813d94713c5505682e7e439ff0255f9fb8cdc4aea61847c4d47711a",
"imports/X252024MRB4SI.tsx": "ac6dac3e2174b393c0e5b183073f4845d62fb43f10f2493cb90284d04871e552",
"index.circuit.tsx": "036c38e9b729c5ac12471a148cae18be57a0bb9718d7cf83ba7270803eb07760",
"package.json": "863beafec4f0882d9dd823d9d4e7f64f4ca29091e83640e8edf2521493e6d86b",
"routed.circuit.json": "369223ca22718298b11cc65aac741a95842df810f53e0705b7c90c513c19c0db",
"routing/source-baseline.json": "e18372406a10ae75f3186e13f3c5e1f2950c843c15d95382eab63045a0238d9f",
"scripts/add-pin-escapes.py": "a5c61f164a9f92a3d3f87ff80e21a0b295c2a402583f1f01b2c41a61de17a664",
"scripts/add-power-routing.mjs": "c5edfc4bf5aa35fad335b67739a01b9023804f664f01944ed6d9ba4582e7c307",
"scripts/add-usb-routing.mjs": "159833fdcaf57726cc223cfb99e5c161dd108852e693ca7db876add39ce7d5ab",
"scripts/check-design.py": "8972997b086a1e945917d92881fe3729003244207e8efc3116b6614d1cd5c221",
"scripts/check-gerbers.py": "c5e187004d6a66a313a45a48e574c6d92b19357bd1515a6bfb10583eaa3e5ef9",
"scripts/check-routing.py": "1c99a33d8f0a44a36b5619692c5be1d26b0944702fbfd710fcb096f49fec1d4c",
"scripts/check-schematic.py": "6a7bb05767101f9643cf794e92137d85832f79e1842227e318ac961c98fba69d",
"scripts/power-routing-specs.json": "e2b29ca8ce63d458d221dc55a3f45c773ae9f8bc62472ede355f2868476d6f07",
"scripts/render-previews.mjs": "fa1c86f2e6dfc0f7fbfe0ebdcac5bd43430475d5346ad7e6ff1aefaa54cee243",
"scripts/reuse-reference-routing.py": "1683255f2f4d8d759185bc5a5232153cdd68ba9e5cdf7c29fe64d64bd28beac9",
"scripts/route-remaining.py": "9f03995f1a234e0524b1fa5b3430f12789dfd305379219a36542453dd8d6dec8",
"scripts/routing_geometry.py": "49974f4df73bc57af820b5292fd0dfee2b6373983080ba8a81664175814654e2",
"scripts/usb-routing-specs.json": "0e611f54eb9825d16d3295e4522f1bf10e4ebcf521036c341d8d40ec4ad5646a",
"scripts/write-validation.py": "18956f9678a25a0f94f3dd4dd087c2f4388243ab5060dd12e290a8cb03d36948",
"tscircuit.config.json": "3e83f1a123ffe9d9c5517aad7b1e83fdf2ead3eaa2195c376ab81f72c3334062"
},
"limitations": [
"Engineering prototype; no manufactured-board boot, assembly, power-transient or signal-integrity validation.",
"Schematic zero-warning counts refer to Circuit JSON warning/error records. Runtime IRLS iteration diagnostics remain in the build log.",
"Fabricator must review filled/capped via-in-pad processing, stackup and USB impedance. Supplier pick-and-place rotations are unverified.",
"Gerbonara parser does not interpret LR aperture rotations in paste layers; its parser diagnostics are retained in gerber-check.json.",
"These checks do not certify the entire Circuit JSON schema or a production-ready assembly."
]
}