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/switch-cup-fit.json
{
"assumptions": {
"actuator_top_mm": 10.3,
"cup_roof_mm": 10.45,
"released_gap_mm": 0.15,
"nominal_switch_travel_mm": 0.25,
"maximum_cap_travel_mm": 0.45,
"stem_maximum_model_diameter_mm": 3.2,
"cavity_diameter_mm": 4.8,
"requires_physical_travel_and_tolerance_fit_test": true
},
"checks": [
{
"switch": "SW_UP",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_UP",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_UP",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.00048456721278005615,
"pass": true
},
{
"switch": "SW_UP",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_UP",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_UP",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_UP",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_DOWN",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_DOWN",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_DOWN",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.0004845671974083952,
"pass": true
},
{
"switch": "SW_DOWN",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_DOWN",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_DOWN",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_DOWN",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_LEFT",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_LEFT",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_LEFT",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.0004845672818829254,
"pass": true
},
{
"switch": "SW_LEFT",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_LEFT",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_LEFT",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_LEFT",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_RIGHT",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_RIGHT",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_RIGHT",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.00048456723758637395,
"pass": true
},
{
"switch": "SW_RIGHT",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_RIGHT",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_RIGHT",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_RIGHT",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_Y",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_Y",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_Y",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_Y",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_Y",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_Y",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_Y",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_A",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_A",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_A",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_A",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_A",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_A",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_A",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_X",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_X",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_X",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_X",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_X",
"target": "cap vs centered lcd-body",
"cap_travel_mm": 0,
"lateral_shift_mm": -0.15,
"overlap_mm3": 0.0,
"pass_": true
},
{
"switch": "SW_X",
"target": "cap vs centered touch-glass",
"cap_travel_mm": 0,
"lateral_shift_mm": -0.15,
"overlap_mm3": 0.0,
"pass_": true
},
{
"switch": "SW_X",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_X",
"target": "cap vs centered lcd-body",
"cap_travel_mm": 0.15,
"lateral_shift_mm": -0.15,
"overlap_mm3": 0.0,
"pass_": true
},
{
"switch": "SW_X",
"target": "cap vs centered touch-glass",
"cap_travel_mm": 0.15,
"lateral_shift_mm": -0.15,
"overlap_mm3": 0.0,
"pass_": true
},
{
"switch": "SW_X",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_X",
"target": "cap vs centered lcd-body",
"cap_travel_mm": 0.4,
"lateral_shift_mm": -0.15,
"overlap_mm3": 0.0,
"pass_": true
},
{
"switch": "SW_X",
"target": "cap vs centered touch-glass",
"cap_travel_mm": 0.4,
"lateral_shift_mm": -0.15,
"overlap_mm3": 0.0,
"pass_": true
},
{
"switch": "SW_X",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_X",
"target": "cap vs centered lcd-body",
"cap_travel_mm": 0.45,
"lateral_shift_mm": -0.15,
"overlap_mm3": 0.0,
"pass_": true
},
{
"switch": "SW_X",
"target": "cap vs centered touch-glass",
"cap_travel_mm": 0.45,
"lateral_shift_mm": -0.15,
"overlap_mm3": 0.0,
"pass_": true
},
{
"switch": "SW_B",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_B",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_B",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_B",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_B",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_B",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_B",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_SELECT",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_SELECT",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_SELECT",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_SELECT",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_SELECT",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_SELECT",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_SELECT",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_START",
"target": "shell clearance",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_START",
"target": "released cup",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_START",
"target": "nominal 0.25mm actuation",
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_START",
"target": "cap guide travel",
"cap_travel_mm": 0,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_START",
"target": "cap guide travel",
"cap_travel_mm": 0.15,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_START",
"target": "cap guide travel",
"cap_travel_mm": 0.4,
"overlap_mm3": 0.0,
"pass": true
},
{
"switch": "SW_START",
"target": "cap guide travel",
"cap_travel_mm": 0.45,
"overlap_mm3": 0.0,
"pass": true
}
]
}