abse/gameboy-advance
Validates and exports a four-layer Game Boy–style PCB assembly with RP2350 MCU, 32MB flash, USB-C, LCD and speaker connectors, battery buck-boost power, buttons, and verified routing, connectivity, clearances, CAD models, and physical DRC.
- Version
- 0.0.39
- License
- unset
- Stars
- 0
mechanical/assembly-access-checks.json
[
{
"screw": "pcb-screw-0",
"stage": "PCB before mating front",
"shaft_mm": 4,
"hits": [],
"pass": true
},
{
"screw": "pcb-screw-1",
"stage": "PCB before mating front",
"shaft_mm": 4,
"hits": [],
"pass": true
},
{
"screw": "pcb-screw-2",
"stage": "PCB before mating front",
"shaft_mm": 4,
"hits": [],
"pass": true
},
{
"screw": "pcb-screw-3",
"stage": "PCB before mating front",
"shaft_mm": 4,
"hits": [],
"pass": true
},
{
"screw": "lcd-screw-0",
"stage": "front before caps/paddles and PCB",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"screw": "lcd-screw-1",
"stage": "front before caps/paddles and PCB",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"screw": "lcd-screw-2",
"stage": "front before caps/paddles and PCB",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"screw": "lcd-screw-3",
"stage": "front before caps/paddles and PCB",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"screw": "lcd-screw-4",
"stage": "front before caps/paddles and PCB",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"screw": "speaker-screw-0",
"stage": "front before caps/paddles and PCB",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"screw": "speaker-screw-1",
"stage": "front before caps/paddles and PCB",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"screw": "keeper-screw-0",
"stage": "rear before PCB",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"screw": "keeper-screw-1",
"stage": "rear before PCB",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"screw": "case-screw-0",
"stage": "exterior after closing",
"shaft_mm": 4,
"hits": [],
"pass": true
},
{
"screw": "case-screw-1",
"stage": "exterior after closing",
"shaft_mm": 4,
"hits": [],
"pass": true
},
{
"screw": "case-screw-2",
"stage": "exterior after closing",
"shaft_mm": 4,
"hits": [],
"pass": true
},
{
"screw": "case-screw-3",
"stage": "exterior after closing",
"shaft_mm": 4,
"hits": [],
"pass": true
},
{
"part": "button-y",
"operation": "Rear-loaded cap insertion",
"hits": [],
"pass": true
},
{
"part": "button-x",
"operation": "Rear-loaded cap insertion",
"hits": [],
"pass": true
},
{
"part": "button-b",
"operation": "Rear-loaded cap insertion",
"hits": [],
"pass": true
},
{
"part": "button-a",
"operation": "Rear-loaded cap insertion",
"hits": [],
"pass": true
},
{
"part": "button-select",
"operation": "Rear-loaded cap insertion",
"hits": [],
"pass": true
},
{
"part": "button-start",
"operation": "Rear-loaded cap insertion",
"hits": [],
"pass": true
},
{
"part": "dpad",
"operation": "Rear-loaded cap insertion",
"hits": [],
"pass": true
},
{
"part": "shoulder-l",
"operation": "Shoulder flange insertion after LCD retainer",
"path_yz": [
[
0.7,
-6.0
],
[
0.7,
-5.75
],
[
0.7,
-5.5
],
[
0.7,
-5.25
],
[
0.7,
-5.0
],
[
0.7,
-4.75
],
[
0.7,
-4.5
],
[
0.7,
-4.25
],
[
0.7,
-4.0
],
[
0.7,
-3.75
],
[
0.7,
-3.5
],
[
0.7,
-3.25
],
[
0.7,
-3.0
],
[
0.7,
-2.75
],
[
0.7,
-2.5
],
[
0.7,
-2.25
],
[
0.7,
-2.0
],
[
0.7,
-1.75
],
[
0.7,
-1.5
],
[
0.7,
-1.25
],
[
0.7,
-1.0
],
[
0.7,
-0.75
],
[
0.7,
-0.5
],
[
0.7,
-0.25
],
[
0.7,
0.0
],
[
0.7,
0
],
[
0.6,
0
],
[
0.49999999999999994,
0
],
[
0.3999999999999999,
0
],
[
0.29999999999999993,
0
],
[
0.19999999999999996,
0
],
[
0.09999999999999987,
0
],
[
-1.1102230246251565e-16,
0
]
],
"hits": [],
"pass": true
},
{
"part": "shoulder-r",
"operation": "Shoulder flange insertion after LCD retainer",
"path_yz": [
[
0.7,
-6.0
],
[
0.7,
-5.75
],
[
0.7,
-5.5
],
[
0.7,
-5.25
],
[
0.7,
-5.0
],
[
0.7,
-4.75
],
[
0.7,
-4.5
],
[
0.7,
-4.25
],
[
0.7,
-4.0
],
[
0.7,
-3.75
],
[
0.7,
-3.5
],
[
0.7,
-3.25
],
[
0.7,
-3.0
],
[
0.7,
-2.75
],
[
0.7,
-2.5
],
[
0.7,
-2.25
],
[
0.7,
-2.0
],
[
0.7,
-1.75
],
[
0.7,
-1.5
],
[
0.7,
-1.25
],
[
0.7,
-1.0
],
[
0.7,
-0.75
],
[
0.7,
-0.5
],
[
0.7,
-0.25
],
[
0.7,
0.0
],
[
0.7,
0
],
[
0.6,
0
],
[
0.49999999999999994,
0
],
[
0.3999999999999999,
0
],
[
0.29999999999999993,
0
],
[
0.19999999999999996,
0
],
[
0.09999999999999987,
0
],
[
-1.1102230246251565e-16,
0
]
],
"hits": [],
"pass": true
},
{
"insert": "pcb-insert-0",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "pcb-insert-1",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "pcb-insert-2",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "pcb-insert-3",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "lcd-insert-0",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "lcd-insert-1",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "lcd-insert-2",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "lcd-insert-3",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "lcd-insert-4",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "speaker-insert-0",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "speaker-insert-1",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "keeper-insert-0",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "keeper-insert-1",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "case-insert-0",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "case-insert-1",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "case-insert-2",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
},
{
"insert": "case-insert-3",
"operation": "Slim heat-set tip access into bare shell",
"shaft_mm": 3,
"hits": [],
"pass": true
}
]