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/manifest.json
{
"revision": "R13 assembly access review",
"units": "mm",
"pcb_revision": "R8 edge-mounted USB-C, microSD, power and volume; supplier B3F-3152 shoulders; 0.3/0.45 mm through vias",
"pcb_size": [
144.5,
89.55,
1.6
],
"body_size": [
157,
93,
36.650000000000006
],
"grip_depth_mm": [
23.55,
35.35
],
"display_active_centre_x_mm": 0,
"battery_transition": "continuous smooth loft",
"grip_style": "shallow subtractive finger grooves, unchanged compact outline",
"main_body_depth_mm": 23.55,
"battery_bay_depth_mm": 36.65,
"wall": 2.4,
"mounting_holes": [
[
-50,
-32
],
[
50,
-32
],
[
-60,
31
],
[
60,
31
]
],
"parts": [
{
"id": "rear-shell",
"label": "Rear shell / plain sides and central battery bay",
"color": [
75,
83,
98
],
"group": "rear",
"explode": [
0,
0,
-40
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/rear-shell.glb",
"stl": "cad/rear-shell.stl",
"step": "cad/rear-shell.step",
"bounds": [
[
-78.5,
-46.5,
-23.10000000000002
],
[
78.5,
46.5,
2.2
]
],
"solids": 1,
"volume_mm3": 94495.31906608758,
"valid": true
},
{
"id": "battery-door",
"label": "Plain battery cover / integral bending-plastic edge tab",
"color": [
90,
98,
113
],
"group": "door",
"explode": [
0,
-25,
-68
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/battery-door.glb",
"stl": "cad/battery-door.stl",
"step": "cad/battery-door.step",
"bounds": [
[
-34.001692299671205,
-39.40000010000001,
-23.101692299671207
],
[
34.001692299671205,
35.10000010000001,
-19.49999989999999
]
],
"solids": 1,
"volume_mm3": 10438.908845889135,
"valid": true
},
{
"id": "lcd-body",
"label": "ER-TFT035IPS-6 bare LCD reference",
"color": [
170,
177,
183
],
"group": "display",
"explode": [
0,
0,
22
],
"printable": false,
"provenance": "Current user-supplied ER-TFT035IPS-6 PDF page8: BL83 x54.5, LCD thickness2.3; landscape",
"glb": "cad/lcd-body.glb",
"stl": "cad/lcd-body.stl",
"step": "cad/lcd-body.step",
"bounds": [
[
-39.2200001,
-11.850000100000004,
7.499999899999995
],
[
43.7800001,
42.6500001,
9.800000100000005
]
],
"solids": 1,
"volume_mm3": 10404.050000000003,
"valid": true
},
{
"id": "touch-glass",
"label": "Verified 84.96 x56.54 mm capacitive glass",
"color": [
27,
31,
39
],
"group": "display",
"explode": [
0,
0,
22
],
"printable": false,
"provenance": "Current IPS PDF page8: CTP84.96 x56.54 +/-0.2, complete stack3.95 +/-0.25mm",
"glb": "cad/touch-glass.glb",
"stl": "cad/touch-glass.stl",
"step": "cad/touch-glass.step",
"bounds": [
[
-40.480000100000005,
-12.870000100000004,
9.799999899999992
],
[
44.480000100000005,
43.67000010000001,
11.450000100000008
]
],
"solids": 1,
"volume_mm3": 7926.0033599999915,
"valid": true
},
{
"id": "active-area",
"label": "73.44 x 48.96 viewing area",
"color": [
34,
86,
109
],
"group": "display",
"explode": [
0,
0,
22
],
"printable": false,
"provenance": "Manufacturer active area; provisional centering",
"glb": "cad/active-area.glb",
"stl": "cad/active-area.stl",
"step": "cad/active-area.step",
"bounds": [
[
-36.7200001,
-9.080000100000003,
11.449999899999998
],
[
36.7200001,
39.880000100000004,
11.490000100000003
]
],
"solids": 1,
"volume_mm3": 143.82489599999693,
"valid": true
},
{
"id": "aa-holder",
"label": "MPD BH4AAW / four AA cells in one column",
"color": [
28,
30,
34
],
"group": "battery",
"explode": [
0,
0,
-18
],
"printable": false,
"provenance": "Unmodified manufacturer STEP, rigid placement only; supplier CAD is a filled mounting envelope, not internal cell geometry; nominal 57.15 x 61.72 x 15.88 mm, drawing +/-0.5 mm",
"glb": "cad/aa-holder.glb",
"stl": "cad/aa-holder.stl",
"step": "cad/aa-holder.step",
"bounds": [
[
-28.57661192018681,
-33.86261192018683,
-19.249611920186826
],
[
28.57661192018684,
27.86261192018682,
-3.4994812040005314
]
],
"solids": 1,
"volume_mm3": 55149.09729782397,
"valid": true
},
{
"id": "aa-0",
"label": "AA cell 1 / column orientation",
"color": [
204,
156,
64
],
"group": "battery",
"explode": [
0,
0,
-18
],
"printable": false,
"provenance": "Standard AA maximum diameter14.5 x length50.5 mm; row centres illustrate manufacturer four-cell arrangement",
"glb": "cad/aa-0.glb",
"stl": "cad/aa-0.stl",
"step": "cad/aa-0.step",
"bounds": [
[
-25.253244965944607,
-33.11243370406909,
-19.70324496594461
],
[
25.253244965944607,
-18.607566295930912,
-5.199999899999989
]
],
"solids": 1,
"volume_mm3": 8339.063174642832,
"valid": true
},
{
"id": "aa-1",
"label": "AA cell 2 / column orientation",
"color": [
204,
156,
64
],
"group": "battery",
"explode": [
0,
0,
-18
],
"printable": false,
"provenance": "Standard AA maximum diameter14.5 x length50.5 mm; row centres illustrate manufacturer four-cell arrangement",
"glb": "cad/aa-1.glb",
"stl": "cad/aa-1.stl",
"step": "cad/aa-1.step",
"bounds": [
[
-25.253244965944603,
-17.872433704069085,
-19.703244965944606
],
[
25.253244965944603,
-3.3675662959309123,
-5.199999899999991
]
],
"solids": 1,
"volume_mm3": 8339.063174642832,
"valid": true
},
{
"id": "aa-2",
"label": "AA cell 3 / column orientation",
"color": [
204,
156,
64
],
"group": "battery",
"explode": [
0,
0,
-18
],
"printable": false,
"provenance": "Standard AA maximum diameter14.5 x length50.5 mm; row centres illustrate manufacturer four-cell arrangement",
"glb": "cad/aa-2.glb",
"stl": "cad/aa-2.stl",
"step": "cad/aa-2.step",
"bounds": [
[
-25.253244965944603,
-2.632433704069087,
-19.703244965944606
],
[
25.253244965944603,
11.872433704069087,
-5.199999899999992
]
],
"solids": 1,
"volume_mm3": 8339.063174642832,
"valid": true
},
{
"id": "aa-3",
"label": "AA cell 4 / column orientation",
"color": [
204,
156,
64
],
"group": "battery",
"explode": [
0,
0,
-18
],
"printable": false,
"provenance": "Standard AA maximum diameter14.5 x length50.5 mm; row centres illustrate manufacturer four-cell arrangement",
"glb": "cad/aa-3.glb",
"stl": "cad/aa-3.stl",
"step": "cad/aa-3.step",
"bounds": [
[
-25.253244965944607,
12.607566295930912,
-19.70324496594461
],
[
25.253244965944607,
27.112433704069087,
-5.19999989999999
]
],
"solids": 1,
"volume_mm3": 8339.063174642832,
"valid": true
},
{
"id": "speaker",
"label": "Same Sky CMS-23558N-L152B / 8 ohm 1 W",
"color": [
34,
38,
44
],
"group": "speaker",
"explode": [
0,
0,
18
],
"printable": false,
"provenance": "Datasheet envelope: nominal 23 mm diameter x 5.5 mm, maximum 23.2 mm diameter x 5.8 mm including drawing tolerances; simplified reference not vendor CAD",
"glb": "cad/speaker.glb",
"stl": "cad/speaker.stl",
"step": "cad/speaker.step",
"bounds": [
[
-35.6000001,
-40.60389386651054,
5.944808114488632
],
[
-12.394808114488633,
-17.396106133489457,
11.755191885511367
]
],
"solids": 1,
"volume_mm3": 2451.8497033088465,
"valid": true
},
{
"id": "speaker-retainer",
"label": "Front speaker retaining ring / two M2 screws",
"color": [
104,
115,
134
],
"group": "mounts",
"explode": [
0,
0,
12
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/speaker-retainer.glb",
"stl": "cad/speaker-retainer.stl",
"step": "cad/speaker-retainer.step",
"bounds": [
[
-39.01197945617379,
-42.50469344471003,
5.038020543826206
],
[
-10.495344307193433,
-15.494415416248742,
5.861979456173795
]
],
"solids": 1,
"volume_mm3": 302.72530036874736,
"valid": true
},
{
"id": "lcd-retainer-lower",
"label": "LCD lower/left retainer / three M2 screws",
"color": [
104,
115,
134
],
"group": "mounts",
"explode": [
0,
0,
12
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/lcd-retainer-lower.glb",
"stl": "cad/lcd-retainer-lower.stl",
"step": "cad/lcd-retainer-lower.step",
"bounds": [
[
-46.201153606659865,
-20.601075014109966,
5.9927237945766665
],
[
51.60101706962633,
40.50000010000003,
7.201153606659863
]
],
"solids": 1,
"volume_mm3": 746.8380801679292,
"valid": true
},
{
"id": "lcd-retainer-upper",
"label": "LCD upper/right retainer / two M2 screws",
"color": [
104,
115,
134
],
"group": "mounts",
"explode": [
0,
0,
12
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/lcd-retainer-upper.glb",
"stl": "cad/lcd-retainer-upper.stl",
"step": "cad/lcd-retainer-upper.step",
"bounds": [
[
-17.300000100000013,
35.39884114932921,
5.992723794576664
],
[
71.60072558107372,
44.30000010000003,
8.100000100000013
]
],
"solids": 1,
"volume_mm3": 252.8157908814656,
"valid": true
},
{
"id": "front-shell",
"label": "Front shell / LCD bezel",
"color": [
209,
211,
216
],
"group": "front",
"explode": [
0,
0,
38
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/front-shell.glb",
"stl": "cad/front-shell.stl",
"step": "cad/front-shell.step",
"bounds": [
[
-78.50836400913616,
-46.50549928089695,
0.9916359908638384
],
[
78.50836400913616,
46.50836400913616,
13.555499280896948
]
],
"solids": 1,
"volume_mm3": 33464.369091601206,
"valid": true
},
{
"id": "battery-clip-m1",
"label": "MPD holder end keeper / M2 flat head",
"color": [
104,
115,
134
],
"group": "mounts",
"explode": [
0,
0,
-10
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/battery-clip-m1.glb",
"stl": "cad/battery-clip-m1.stl",
"step": "cad/battery-clip-m1.step",
"bounds": [
[
-37.00000010000001,
-7.000000100000007,
-3.5004831798403218
],
[
-27.99999989999999,
1.0000001000000072,
-1.4927237945766714
]
],
"solids": 1,
"volume_mm3": 132.83477970914186,
"valid": true
},
{
"id": "battery-clip-1",
"label": "MPD holder end keeper / M2 flat head",
"color": [
104,
115,
134
],
"group": "mounts",
"explode": [
0,
0,
-10
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/battery-clip-1.glb",
"stl": "cad/battery-clip-1.stl",
"step": "cad/battery-clip-1.step",
"bounds": [
[
27.99999989999999,
-7.000000100000007,
-3.500483179840329
],
[
37.00000010000001,
1.0000001000000072,
-1.4927237945766714
]
],
"solids": 1,
"volume_mm3": 132.83477970914186,
"valid": true
},
{
"id": "button-y",
"label": "Y captive cup cap / supplier actuator inside",
"color": [
153,
75,
104
],
"group": "buttons",
"explode": [
0,
0,
40
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/button-y.glb",
"stl": "cad/button-y.stl",
"step": "cad/button-y.step",
"bounds": [
[
53.69999989999998,
-1.3019469832552855,
8.897404007244301
],
[
65.3025959927557,
10.301946983255286,
15.05232745212579
]
],
"solids": 1,
"volume_mm3": 519.2675665265497,
"valid": true
},
{
"id": "button-x",
"label": "X captive cup cap / supplier actuator inside",
"color": [
153,
75,
104
],
"group": "buttons",
"explode": [
0,
0,
40
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/button-x.glb",
"stl": "cad/button-x.stl",
"step": "cad/button-x.step",
"bounds": [
[
44.797687056246744,
-10.800205047084761,
8.89744880541954
],
[
55.80255119458046,
0.8002050470847608,
15.05231294375325
]
],
"solids": 1,
"volume_mm3": 515.4404273840179,
"valid": true
},
{
"id": "button-b",
"label": "B captive cup cap / supplier actuator inside",
"color": [
153,
75,
104
],
"group": "buttons",
"explode": [
0,
0,
40
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/button-b.glb",
"stl": "cad/button-b.stl",
"step": "cad/button-b.step",
"bounds": [
[
63.19999989999998,
-10.801946983255286,
8.897404007244301
],
[
74.8025959927557,
0.8019469832552855,
15.05232745212579
]
],
"solids": 1,
"volume_mm3": 519.2675665265497,
"valid": true
},
{
"id": "button-a",
"label": "A captive cup cap / supplier actuator inside",
"color": [
153,
75,
104
],
"group": "buttons",
"explode": [
0,
0,
40
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/button-a.glb",
"stl": "cad/button-a.stl",
"step": "cad/button-a.step",
"bounds": [
[
53.69999989999998,
-20.301946983255288,
8.897404007244301
],
[
65.3025959927557,
-8.698053016744714,
15.05232745212579
]
],
"solids": 1,
"volume_mm3": 519.2675665265497,
"valid": true
},
{
"id": "button-select",
"label": "SELECT captive cup cap / supplier actuator inside",
"color": [
58,
64,
78
],
"group": "buttons",
"explode": [
0,
0,
40
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/button-select.glb",
"stl": "cad/button-select.stl",
"step": "cad/button-select.step",
"bounds": [
[
-10.800000100000009,
-34.4016113137285,
8.897851574960809
],
[
-1.1978515749608092,
-24.798388686271498,
15.051700857322693
]
],
"solids": 1,
"volume_mm3": 283.36537416849205,
"valid": true
},
{
"id": "button-start",
"label": "START captive cup cap / supplier actuator inside",
"color": [
58,
64,
78
],
"group": "buttons",
"explode": [
0,
0,
40
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/button-start.glb",
"stl": "cad/button-start.stl",
"step": "cad/button-start.step",
"bounds": [
[
0.1999998999999923,
-34.4016113137285,
8.897851574960809
],
[
9.802148425039192,
-24.798388686271498,
15.051700857322693
]
],
"solids": 1,
"volume_mm3": 283.3653741684921,
"valid": true
},
{
"id": "dpad",
"label": "Captive D-pad / four hollow actuator cups",
"color": [
53,
59,
72
],
"group": "buttons",
"explode": [
0,
0,
40
],
"printable": true,
"provenance": "Designed locally",
"glb": "cad/dpad.glb",
"stl": "cad/dpad.stl",
"step": "cad/dpad.step",
"bounds": [
[
-72.6000001,
-14.600000100000013,
1.4993285484252492
],
[
-43.39999989999998,
14.600000100000013,
15.050000100000014
]
],
"solids": 1,
"volume_mm3": 2376.909646392464,
"valid": true
},
{
"id": "volume-wheel",
"label": "RK10J12E002L wheel drawing reference",
"color": [
55,
60,
68
],
"group": "controls",
"explode": [
0,
0,
0
],
"printable": false,
"provenance": "ALPS dimensioned wheel diameter 14 / thickness 0.9; ALPS page2: wheel0.9 mm thick within1.8 mm seated assembly; wheel centre PCB+.8+1.35=2.15 mm",
"glb": "cad/volume-wheel.glb",
"stl": "cad/volume-wheel.stl",
"step": "cad/volume-wheel.step",
"bounds": [
[
15.099999899999993,
33.4726502133126,
1.6968669259845157
],
[
29.103133074015485,
47.477349786687405,
2.6031330740154845
]
],
"solids": 1,
"volume_mm3": 138.54423602330988,
"valid": true
},
{
"id": "shoulder-l",
"label": "Broad corner shoulder paddle / B3F-3152 plunger",
"color": [
128,
135,
150
],
"group": "controls",
"explode": [
0,
0,
10
],
"printable": true,
"provenance": "Existing supplier STEP/OBJ B3F-3152; 0.25 mm nominal switch travel, captive broad paddle; validate return on prototype",
"glb": "cad/shoulder-l.glb",
"stl": "cad/shoulder-l.stl",
"step": "cad/shoulder-l.step",
"bounds": [
[
-68.00000010000025,
42.39867929120205,
1.0994922400986287
],
[
-39.99999989999982,
49.20050775990137,
6.701320708797951
]
],
"solids": 1,
"volume_mm3": 616.348250643457,
"valid": true
},
{
"id": "shoulder-pad-l",
"label": "Shoulder silicone plunger pad / 0.4 mm",
"color": [
116,
161,
151
],
"group": "gaskets",
"explode": [
0,
0,
10
],
"printable": false,
"provenance": "Cut 0.4 mm silicone pad; 0.01 mm nominal clearance to supplier actuator",
"glb": "cad/shoulder-pad-l.glb",
"stl": "cad/shoulder-pad-l.stl",
"step": "cad/shoulder-pad-l.step",
"bounds": [
[
-55.20000010000001,
45.75999989999999,
3.5999998999999896
],
[
-52.79999989999999,
46.16000010000001,
6.00000010000001
]
],
"solids": 1,
"volume_mm3": 2.304000000000015,
"valid": true
},
{
"id": "shoulder-r",
"label": "Broad corner shoulder paddle / B3F-3152 plunger",
"color": [
128,
135,
150
],
"group": "controls",
"explode": [
0,
0,
10
],
"printable": true,
"provenance": "Existing supplier STEP/OBJ B3F-3152; 0.25 mm nominal switch travel, captive broad paddle; validate return on prototype",
"glb": "cad/shoulder-r.glb",
"stl": "cad/shoulder-r.stl",
"step": "cad/shoulder-r.step",
"bounds": [
[
39.99999989999994,
42.39867929120205,
1.0994922400986287
],
[
68.00000010000011,
49.20050775990137,
6.701320708797948
]
],
"solids": 1,
"volume_mm3": 616.3482506434624,
"valid": true
},
{
"id": "shoulder-pad-r",
"label": "Shoulder silicone plunger pad / 0.4 mm",
"color": [
116,
161,
151
],
"group": "gaskets",
"explode": [
0,
0,
10
],
"printable": false,
"provenance": "Cut 0.4 mm silicone pad; 0.01 mm nominal clearance to supplier actuator",
"glb": "cad/shoulder-pad-r.glb",
"stl": "cad/shoulder-pad-r.stl",
"step": "cad/shoulder-pad-r.step",
"bounds": [
[
52.79999989999999,
45.75999989999999,
3.5999998999999896
],
[
55.20000010000001,
46.16000010000001,
6.00000010000001
]
],
"solids": 1,
"volume_mm3": 2.304000000000015,
"valid": true
},
{
"id": "dpad-pivot-pad",
"label": "D-pad insulating pivot pad / 0.7 mm",
"color": [
116,
161,
151
],
"group": "gaskets",
"explode": [
0,
0,
10
],
"printable": false,
"provenance": "Cut 4 mm diameter insulating silicone/PET stack; check clearance on actual PCB before bonding",
"glb": "cad/dpad-pivot-pad.glb",
"stl": "cad/dpad-pivot-pad.stl",
"step": "cad/dpad-pivot-pad.step",
"bounds": [
[
-60.00000010000001,
-2.0006714390535474,
0.7991047645669996
],
[
-55.999104764567,
2.0006714390535474,
1.5008952354330003
]
],
"solids": 1,
"volume_mm3": 8.796459430051423,
"valid": true
},
{
"id": "lcd-foam",
"label": "LCD border foam / 0.5 mm stock compressed to 0.3",
"color": [
116,
161,
151
],
"group": "gaskets",
"explode": [
0,
0,
12
],
"printable": false,
"provenance": "Die-cut closed-cell foam on inactive rear border; no force on visible active area",
"glb": "cad/lcd-foam.glb",
"stl": "cad/lcd-foam.stl",
"step": "cad/lcd-foam.step",
"bounds": [
[
-39.10000010000001,
-12.550000100000002,
7.199999899999992
],
[
43.70000010000001,
42.5000001,
7.500000100000007
]
],
"solids": 7,
"volume_mm3": 22.200000000000024,
"valid": true
},
{
"id": "lcd-front-foam",
"label": "Front inactive-border foam / display clamp",
"color": [
116,
161,
151
],
"group": "gaskets",
"explode": [
0,
0,
12
],
"printable": false,
"provenance": "Cut soft 0.8 mm foam pads; nominal front compression to 0.5 mm with rear 0.5 mm stock compressed to 0.3 mm. Combined 1.3 mm free stock covers the 0.55 to 1.05 mm border-clamp gap from LCD stack tolerance. Verify compression force on hardware.",
"glb": "cad/lcd-front-foam.glb",
"stl": "cad/lcd-front-foam.stl",
"step": "cad/lcd-front-foam.step",
"bounds": [
[
-39.7500001,
-12.200000100000002,
11.449999899999993
],
[
43.800000100000005,
42.800000100000005,
11.950000100000006
]
],
"solids": 8,
"volume_mm3": 52.00000000000006,
"valid": true
},
{
"id": "speaker-gasket",
"label": "Front speaker rim gasket / 0.4 mm foam",
"color": [
116,
161,
151
],
"group": "gaskets",
"explode": [
0,
0,
12
],
"printable": false,
"provenance": "Foam only on fixed frame rim, keep diaphragm clear",
"glb": "cad/speaker-gasket.glb",
"stl": "cad/speaker-gasket.stl",
"step": "cad/speaker-gasket.step",
"bounds": [
[
-35.550000100000005,
-40.5538770830342,
11.744830492874458
],
[
-12.444830492874457,
-17.446122916965802,
12.155169507125542
]
],
"solids": 1,
"volume_mm3": 54.227030793613395,
"valid": true
},
{
"id": "lcd-screw-0",
"label": "M2 x 4 flat-head retainer screw / Phillips PH0",
"color": [
182,
186,
194
],
"group": "lcd-fasteners",
"explode": [
0,
0,
14
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/lcd-screw-0.glb",
"stl": "cad/lcd-screw-0.stl",
"step": "cad/lcd-screw-0.step",
"bounds": [
[
-45.50635714570132,
-19.906994917802187,
6.092792475637335
],
[
-41.69279247563734,
-16.093005082197813,
10.100447667716502
]
],
"solids": 1,
"volume_mm3": 14.393730178593252,
"valid": true
},
{
"id": "lcd-screw-1",
"label": "M2 x 4 flat-head retainer screw / Phillips PH0",
"color": [
182,
186,
194
],
"group": "lcd-fasteners",
"explode": [
0,
0,
14
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/lcd-screw-1.glb",
"stl": "cad/lcd-screw-1.stl",
"step": "cad/lcd-screw-1.step",
"bounds": [
[
47.09364285429868,
-19.906994917802187,
6.092792475637335
],
[
50.90720752436266,
-16.093005082197813,
10.100447667716505
]
],
"solids": 1,
"volume_mm3": 14.393730178593252,
"valid": true
},
{
"id": "lcd-screw-2",
"label": "M2 x 4 flat-head retainer screw / Phillips PH0",
"color": [
182,
186,
194
],
"group": "lcd-fasteners",
"explode": [
0,
0,
14
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/lcd-screw-2.glb",
"stl": "cad/lcd-screw-2.stl",
"step": "cad/lcd-screw-2.step",
"bounds": [
[
-45.50635714570132,
35.59300508219782,
6.092792475637338
],
[
-41.69279247563734,
39.40699491780218,
10.100447667716503
]
],
"solids": 1,
"volume_mm3": 14.393730178593254,
"valid": true
},
{
"id": "lcd-screw-3",
"label": "M2 x 4 flat-head retainer screw / Phillips PH0",
"color": [
182,
186,
194
],
"group": "lcd-fasteners",
"explode": [
0,
0,
14
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/lcd-screw-3.glb",
"stl": "cad/lcd-screw-3.stl",
"step": "cad/lcd-screw-3.step",
"bounds": [
[
60.09364285429868,
37.89300508219782,
6.092792475637338
],
[
63.90720752436266,
41.70699491780218,
10.100447667716505
]
],
"solids": 1,
"volume_mm3": 14.393730178593252,
"valid": true
},
{
"id": "lcd-screw-4",
"label": "M2 x 4 flat-head retainer screw / Phillips PH0",
"color": [
182,
186,
194
],
"group": "lcd-fasteners",
"explode": [
0,
0,
14
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/lcd-screw-4.glb",
"stl": "cad/lcd-screw-4.stl",
"step": "cad/lcd-screw-4.step",
"bounds": [
[
67.09364285429892,
36.09300508219806,
6.092792475637578
],
[
70.90720752436243,
39.90699491780194,
10.10044766771651
]
],
"solids": 1,
"volume_mm3": 14.39373017859327,
"valid": true
},
{
"id": "keeper-screw-0",
"label": "M2 x 5 flat-head keeper screw / Phillips PH0",
"color": [
182,
186,
194
],
"group": "rear-fasteners",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/keeper-screw-0.glb",
"stl": "cad/keeper-screw-0.stl",
"step": "cad/keeper-screw-0.step",
"bounds": [
[
-34.40720752436266,
-4.906994917802181,
-6.600439263491207
],
[
-30.59364285429868,
-1.0930050821978186,
-1.5927924756373382
]
],
"solids": 1,
"volume_mm3": 17.53532283218283,
"valid": true
},
{
"id": "keeper-screw-1",
"label": "M2 x 5 flat-head keeper screw / Phillips PH0",
"color": [
182,
186,
194
],
"group": "rear-fasteners",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/keeper-screw-1.glb",
"stl": "cad/keeper-screw-1.stl",
"step": "cad/keeper-screw-1.step",
"bounds": [
[
30.59279247563734,
-4.906994917802181,
-6.600439263491209
],
[
34.40635714570132,
-1.0930050821978186,
-1.5927924756373382
]
],
"solids": 1,
"volume_mm3": 17.53532283218283,
"valid": true
},
{
"id": "pcb-screw-0",
"label": "M3 PCB screw / nominal / Phillips PH1",
"color": [
160,
163,
170
],
"group": "fasteners",
"explode": [
0,
0,
25
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/pcb-screw-0.glb",
"stl": "cad/pcb-screw-0.stl",
"step": "cad/pcb-screw-0.step",
"bounds": [
[
-52.800000100000005,
-34.80093997467496,
-4.700671451574756
],
[
-47.198746710393806,
-29.19906002532504,
3.7012532896061976
]
],
"solids": 1,
"volume_mm3": 97.65970819341146,
"valid": true
},
{
"id": "pcb-screw-1",
"label": "M3 PCB screw / nominal / Phillips PH1",
"color": [
160,
163,
170
],
"group": "fasteners",
"explode": [
0,
0,
25
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/pcb-screw-1.glb",
"stl": "cad/pcb-screw-1.stl",
"step": "cad/pcb-screw-1.step",
"bounds": [
[
47.199999899999995,
-34.80093997467496,
-4.700671451574756
],
[
52.801253289606194,
-29.19906002532504,
3.7012532896061976
]
],
"solids": 1,
"volume_mm3": 97.65970819341146,
"valid": true
},
{
"id": "pcb-screw-2",
"label": "M3 PCB screw / nominal / Phillips PH1",
"color": [
160,
163,
170
],
"group": "fasteners",
"explode": [
0,
0,
25
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/pcb-screw-2.glb",
"stl": "cad/pcb-screw-2.stl",
"step": "cad/pcb-screw-2.step",
"bounds": [
[
-62.800000100000005,
28.19906002532504,
-4.7006714515747525
],
[
-57.198746710393806,
33.80093997467496,
3.7012532896061967
]
],
"solids": 1,
"volume_mm3": 97.65970819341152,
"valid": true
},
{
"id": "pcb-screw-3",
"label": "M3 PCB screw / nominal / Phillips PH1",
"color": [
160,
163,
170
],
"group": "fasteners",
"explode": [
0,
0,
25
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/pcb-screw-3.glb",
"stl": "cad/pcb-screw-3.stl",
"step": "cad/pcb-screw-3.step",
"bounds": [
[
57.199999899999995,
28.19906002532504,
-4.7006714515747525
],
[
62.801253289606194,
33.80093997467496,
3.7012532896061967
]
],
"solids": 1,
"volume_mm3": 97.65970819341152,
"valid": true
},
{
"id": "pcb-insert-0",
"label": "CNC Kitchen M3 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/pcb-insert-0.glb",
"stl": "cad/pcb-insert-0.stl",
"step": "cad/pcb-insert-0.step",
"bounds": [
[
-52.310362995130205,
-34.31036299513021,
-6.509219150594086
],
[
-47.689637004869795,
-29.68963700486979,
-0.7961340125969771
]
],
"solids": 1,
"volume_mm3": 40.7541140712959,
"valid": true
},
{
"id": "pcb-insert-1",
"label": "CNC Kitchen M3 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/pcb-insert-1.glb",
"stl": "cad/pcb-insert-1.stl",
"step": "cad/pcb-insert-1.step",
"bounds": [
[
47.689637004869795,
-34.31036299513021,
-6.509219150594086
],
[
52.310362995130205,
-29.68963700486979,
-0.7961340125969771
]
],
"solids": 1,
"volume_mm3": 40.7541140712959,
"valid": true
},
{
"id": "pcb-insert-2",
"label": "CNC Kitchen M3 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/pcb-insert-2.glb",
"stl": "cad/pcb-insert-2.stl",
"step": "cad/pcb-insert-2.step",
"bounds": [
[
-62.31036299513022,
28.68963700486979,
-6.5092191505940855
],
[
-57.689637004869795,
33.31036299513021,
-0.7961340125969774
]
],
"solids": 1,
"volume_mm3": 40.7541140712959,
"valid": true
},
{
"id": "pcb-insert-3",
"label": "CNC Kitchen M3 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/pcb-insert-3.glb",
"stl": "cad/pcb-insert-3.stl",
"step": "cad/pcb-insert-3.step",
"bounds": [
[
57.68963700486978,
28.68963700486979,
-6.5092191505940855
],
[
62.310362995130205,
33.31036299513021,
-0.7961340125969774
]
],
"solids": 1,
"volume_mm3": 40.7541140712959,
"valid": true
},
{
"id": "lcd-insert-0",
"label": "CNC Kitchen M2 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/lcd-insert-0.glb",
"stl": "cad/lcd-insert-0.stl",
"step": "cad/lcd-insert-0.step",
"bounds": [
[
-45.41265733166011,
-19.81265733166009,
7.196432844147144
],
[
-41.787342668339896,
-16.18734266833991,
10.213191905419315
]
],
"solids": 1,
"volume_mm3": 10.800665450997652,
"valid": true
},
{
"id": "lcd-insert-1",
"label": "CNC Kitchen M2 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/lcd-insert-1.glb",
"stl": "cad/lcd-insert-1.stl",
"step": "cad/lcd-insert-1.step",
"bounds": [
[
47.1873426683399,
-19.81265733166009,
7.196432844147138
],
[
50.8126573316601,
-16.18734266833991,
10.21319190541931
]
],
"solids": 1,
"volume_mm3": 10.80066545099767,
"valid": true
},
{
"id": "lcd-insert-2",
"label": "CNC Kitchen M2 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/lcd-insert-2.glb",
"stl": "cad/lcd-insert-2.stl",
"step": "cad/lcd-insert-2.step",
"bounds": [
[
-45.41265733166011,
35.6873426683399,
7.196432844147145
],
[
-41.787342668339896,
39.3126573316601,
10.213191905419317
]
],
"solids": 1,
"volume_mm3": 10.800665450997661,
"valid": true
},
{
"id": "lcd-insert-3",
"label": "CNC Kitchen M2 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/lcd-insert-3.glb",
"stl": "cad/lcd-insert-3.stl",
"step": "cad/lcd-insert-3.step",
"bounds": [
[
60.1873426683399,
37.9873426683399,
7.196432844147139
],
[
63.8126573316601,
41.612657331660095,
10.213191905419311
]
],
"solids": 1,
"volume_mm3": 10.800665450997657,
"valid": true
},
{
"id": "lcd-insert-4",
"label": "CNC Kitchen M2 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/lcd-insert-4.glb",
"stl": "cad/lcd-insert-4.stl",
"step": "cad/lcd-insert-4.step",
"bounds": [
[
67.18734266833991,
36.187342668339895,
7.1964328441471315
],
[
70.81265733166009,
39.81265733166009,
10.21319190541932
]
],
"solids": 1,
"volume_mm3": 10.800665450997672,
"valid": true
},
{
"id": "speaker-insert-0",
"label": "CNC Kitchen M2 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/speaker-insert-0.glb",
"stl": "cad/speaker-insert-0.stl",
"step": "cad/speaker-insert-0.step",
"bounds": [
[
-40.8126573316601,
-30.81265733166009,
5.946432844147138
],
[
-37.1873426683399,
-27.18734266833991,
8.96319190541931
]
],
"solids": 1,
"volume_mm3": 10.800665450997668,
"valid": true
},
{
"id": "speaker-screw-0",
"label": "M2 x4 flat-head speaker screw / Phillips PH0",
"color": [
182,
186,
194
],
"group": "speaker-fasteners",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/speaker-screw-0.glb",
"stl": "cad/speaker-screw-0.stl",
"step": "cad/speaker-screw-0.step",
"bounds": [
[
-40.90635714570132,
-30.906994917802187,
5.042792475637335
],
[
-37.09279247563734,
-27.093005082197813,
9.050447667716506
]
],
"solids": 1,
"volume_mm3": 14.393730178593252,
"valid": true
},
{
"id": "speaker-insert-1",
"label": "CNC Kitchen M2 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/speaker-insert-1.glb",
"stl": "cad/speaker-insert-1.stl",
"step": "cad/speaker-insert-1.step",
"bounds": [
[
-14.312657331660093,
-41.112657331660095,
5.946432844147144
],
[
-10.687342668339907,
-37.4873426683399,
8.96319190541931
]
],
"solids": 1,
"volume_mm3": 10.8006654509976,
"valid": true
},
{
"id": "speaker-screw-1",
"label": "M2 x4 flat-head speaker screw / Phillips PH0",
"color": [
182,
186,
194
],
"group": "speaker-fasteners",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/speaker-screw-1.glb",
"stl": "cad/speaker-screw-1.stl",
"step": "cad/speaker-screw-1.step",
"bounds": [
[
-14.406357145701318,
-41.20699491780218,
5.042792475637339
],
[
-10.592792475637339,
-37.39300508219782,
9.050447667716504
]
],
"solids": 1,
"volume_mm3": 14.393730178593257,
"valid": true
},
{
"id": "keeper-insert-0",
"label": "CNC Kitchen M2 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/keeper-insert-0.glb",
"stl": "cad/keeper-insert-0.stl",
"step": "cad/keeper-insert-0.step",
"bounds": [
[
-34.3126573316601,
-4.812657331660096,
-6.513191905419309
],
[
-30.687342668339912,
-1.187342668339908,
-3.496432844147141
]
],
"solids": 1,
"volume_mm3": 10.800665450997672,
"valid": true
},
{
"id": "keeper-insert-1",
"label": "CNC Kitchen M2 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
-8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/keeper-insert-1.glb",
"stl": "cad/keeper-insert-1.stl",
"step": "cad/keeper-insert-1.step",
"bounds": [
[
30.68734266833991,
-4.812657331660092,
-6.513191905419308
],
[
34.3126573316601,
-1.187342668339908,
-3.4964328441471375
]
],
"solids": 1,
"volume_mm3": 10.800665450997663,
"valid": true
},
{
"id": "case-insert-0",
"label": "CNC Kitchen M2.5 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/case-insert-0.glb",
"stl": "cad/case-insert-0.stl",
"step": "cad/case-insert-0.step",
"bounds": [
[
-76.81201202619168,
-31.312012026191674,
0.9963769131042001
],
[
-72.18798797380832,
-26.687987973808326,
5.013793991129118
]
],
"solids": 1,
"volume_mm3": 34.03016693918193,
"valid": true
},
{
"id": "case-screw-0",
"label": "M2.5 x16 enclosure screw / Phillips PH1",
"color": [
182,
186,
194
],
"group": "case-fasteners",
"explode": [
0,
0,
-15
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/case-screw-0.glb",
"stl": "cad/case-screw-0.stl",
"step": "cad/case-screw-0.step",
"bounds": [
[
-76.86054004165992,
-31.361328865047838,
-9.661591825793693
],
[
-72.13840817420632,
-26.638671134952162,
6.350559559645637
]
],
"solids": 1,
"volume_mm3": 80.86867853545259,
"valid": true
},
{
"id": "case-insert-1",
"label": "CNC Kitchen M2.5 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/case-insert-1.glb",
"stl": "cad/case-insert-1.stl",
"step": "cad/case-insert-1.step",
"bounds": [
[
-76.81201202619168,
26.687987973808326,
0.9963769131042001
],
[
-72.18798797380832,
31.312012026191674,
5.013793991129118
]
],
"solids": 1,
"volume_mm3": 34.03016693918193,
"valid": true
},
{
"id": "case-screw-1",
"label": "M2.5 x16 enclosure screw / Phillips PH1",
"color": [
182,
186,
194
],
"group": "case-fasteners",
"explode": [
0,
0,
-15
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/case-screw-1.glb",
"stl": "cad/case-screw-1.stl",
"step": "cad/case-screw-1.step",
"bounds": [
[
-76.86054004165992,
26.638671134952162,
-9.661591825793693
],
[
-72.13840817420632,
31.361328865047838,
6.350559559645637
]
],
"solids": 1,
"volume_mm3": 80.86867853545253,
"valid": true
},
{
"id": "case-insert-2",
"label": "CNC Kitchen M2.5 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/case-insert-2.glb",
"stl": "cad/case-insert-2.stl",
"step": "cad/case-insert-2.step",
"bounds": [
[
72.18798797380832,
-31.312012026191674,
0.9963769131042001
],
[
76.81201202619168,
-26.687987973808326,
5.013793991129118
]
],
"solids": 1,
"volume_mm3": 34.03016693918193,
"valid": true
},
{
"id": "case-screw-2",
"label": "M2.5 x16 enclosure screw / Phillips PH1",
"color": [
182,
186,
194
],
"group": "case-fasteners",
"explode": [
0,
0,
-15
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/case-screw-2.glb",
"stl": "cad/case-screw-2.stl",
"step": "cad/case-screw-2.step",
"bounds": [
[
72.13945995834008,
-31.361328865047838,
-9.661591825793693
],
[
76.86159182579368,
-26.638671134952162,
6.350559559645637
]
],
"solids": 1,
"volume_mm3": 80.86867853545259,
"valid": true
},
{
"id": "case-insert-3",
"label": "CNC Kitchen M2.5 heat-set insert",
"color": [
183,
139,
49
],
"group": "inserts",
"explode": [
0,
0,
8
],
"printable": false,
"provenance": "Manufacturer STEP, unmodified apart from rigid pose; installation bore and blind depth from CNC Kitchen2025 table",
"glb": "cad/case-insert-3.glb",
"stl": "cad/case-insert-3.stl",
"step": "cad/case-insert-3.step",
"bounds": [
[
72.18798797380832,
26.687987973808326,
0.9963769131042001
],
[
76.81201202619168,
31.312012026191674,
5.013793991129118
]
],
"solids": 1,
"volume_mm3": 34.03016693918193,
"valid": true
},
{
"id": "case-screw-3",
"label": "M2.5 x16 enclosure screw / Phillips PH1",
"color": [
182,
186,
194
],
"group": "case-fasteners",
"explode": [
0,
0,
-15
],
"printable": false,
"provenance": "ISO screw envelope with simplified cross drive; threads omitted. Use real cross-recessed machine screws, not the former plain-head CAD envelopes.",
"glb": "cad/case-screw-3.glb",
"stl": "cad/case-screw-3.stl",
"step": "cad/case-screw-3.step",
"bounds": [
[
72.13945995834008,
26.638671134952162,
-9.661591825793693
],
[
76.86159182579368,
31.361328865047838,
6.350559559645637
]
],
"solids": 1,
"volume_mm3": 80.86867853545255,
"valid": true
},
{
"id": "speaker-lead-red",
"label": "Factory speaker red lead / 152 mm",
"color": [
205,
52,
54
],
"group": "cables",
"explode": [
0,
0,
5
],
"printable": false,
"provenance": "CMS-23558N-L152B drawing: UL1571 28 AWG, 152 +/-5 mm; 0.8 mm OD conservative SH-compatible insulation envelope; actual JST-SH plug CAD unavailable",
"glb": "cad/speaker-lead-red.glb",
"stl": "cad/speaker-lead-red.stl",
"step": "cad/speaker-lead-red.step",
"bounds": [
[
-25.20039983335967,
-42.902816642719756,
1.8014313083062976
],
[
11.603880409429033,
-19.949465898829622,
6.650578860446268
]
],
"solids": 469,
"volume_mm3": 107.82340726832051,
"valid": true
},
{
"id": "speaker-lead-black",
"label": "Factory speaker black lead / 152 mm",
"color": [
30,
32,
38
],
"group": "cables",
"explode": [
0,
0,
5
],
"printable": false,
"provenance": "CMS-23558N-L152B drawing: UL1571 28 AWG, 152 +/-5 mm; 0.8 mm OD conservative SH-compatible insulation envelope; actual JST-SH plug CAD unavailable",
"glb": "cad/speaker-lead-black.glb",
"stl": "cad/speaker-lead-black.stl",
"step": "cad/speaker-lead-black.step",
"bounds": [
[
-23.600399833359667,
-42.90217790218283,
2.701526411578597
],
[
11.603526997964135,
-19.949465898829622,
7.277595723424309
]
],
"solids": 469,
"volume_mm3": 107.8187128229535,
"valid": true
},
{
"id": "battery-lead-red",
"label": "BH4AAW red lead / trimmed PH harness",
"color": [
205,
52,
54
],
"group": "cables",
"explode": [
0,
0,
-4
],
"printable": false,
"provenance": "BH4AAW manufacturer drawing: 24AWG UL1007 152.4 +/-5 mm; assembly cut length is CAD path length plus crimp allowance; maximum PH-compatible 1.5 mm OD envelope; PHR-2 and SPH-002T-P0.5S required, mating plug CAD unavailable",
"glb": "cad/battery-lead-red.glb",
"stl": "cad/battery-lead-red.stl",
"step": "cad/battery-lead-red.step",
"bounds": [
[
13.363720911815589,
-35.79724790323103,
-14.163759128681013
],
[
37.00050513513065,
-17.811801305020747,
4.655350530795869
]
],
"solids": 159,
"volume_mm3": 160.56697953813196,
"valid": true
},
{
"id": "battery-lead-black",
"label": "BH4AAW black lead / trimmed PH harness",
"color": [
30,
32,
38
],
"group": "cables",
"explode": [
0,
0,
-4
],
"printable": false,
"provenance": "BH4AAW manufacturer drawing: 24AWG UL1007 152.4 +/-5 mm; assembly cut length is CAD path length plus crimp allowance; maximum PH-compatible 1.5 mm OD envelope; PHR-2 and SPH-002T-P0.5S required, mating plug CAD unavailable",
"glb": "cad/battery-lead-black.glb",
"stl": "cad/battery-lead-black.stl",
"step": "cad/battery-lead-black.step",
"bounds": [
[
14.980902071596903,
-35.83719629288478,
-14.163617277477966
],
[
37.00147829101165,
-16.211232971901694,
4.655323184550137
]
],
"solids": 157,
"volume_mm3": 158.7526842269629,
"valid": true
},
{
"id": "lcd-flex",
"label": "Display integral flex / inward fold candidate",
"color": [
213,
158,
58
],
"group": "cables",
"explode": [
0,
0,
22
],
"printable": false,
"provenance": "Routed user-supplied older STEP; two static 1.2 mm radius folds; rigid IC and reinforced tip stay flat. Supplier bend radius and physical assembly still require qualification.",
"glb": "cad/lcd-flex.glb",
"stl": null,
"step": null,
"bounds": [
[
32.159911184307745,
-6.0500000000000025,
1.2499999999999991
],
[
45.73,
41.85,
8.25
]
],
"solids": 1,
"volume_mm3": 228.44297720940085,
"valid": true
},
{
"id": "lcd-flex-clearance",
"label": "Two-fold flex clearance / driver flat",
"color": [
244,
178,
50
],
"group": "clearance",
"explode": [
0,
0,
0
],
"printable": false,
"provenance": "Conservative corridor for local layout checking; static fold radius not supplier-qualified",
"glb": "cad/lcd-flex-clearance.glb",
"stl": "cad/lcd-flex-clearance.stl",
"step": "cad/lcd-flex-clearance.step",
"bounds": [
[
31.984911084307733,
-6.050000100000005,
1.274999899999991
],
[
45.90500010000001,
41.85000010000001,
8.42491565651678
]
],
"solids": 1,
"volume_mm3": 700.9245844562861,
"valid": true
},
{
"id": "pcb-washer-0",
"label": "M3 nylon insulating washer / 7 x3.2 x0.5mm",
"color": [
214,
217,
205
],
"group": "fasteners",
"explode": [
0,
0,
25
],
"printable": false,
"provenance": "Nominal nylon washer; insulates screw head from PCB copper; purchase 3.2mm ID,7mm OD,0.5mm thickness",
"glb": "cad/pcb-washer-0.glb",
"stl": "cad/pcb-washer-0.stl",
"step": "cad/pcb-washer-0.step",
"bounds": [
[
-53.50000010000001,
-35.5011749433437,
0.7984334129922543
],
[
-46.498433412992256,
-28.498825056656298,
1.3015665870077457
]
],
"solids": 1,
"volume_mm3": 15.221016406642548,
"valid": true
},
{
"id": "pcb-washer-1",
"label": "M3 nylon insulating washer / 7 x3.2 x0.5mm",
"color": [
214,
217,
205
],
"group": "fasteners",
"explode": [
0,
0,
25
],
"printable": false,
"provenance": "Nominal nylon washer; insulates screw head from PCB copper; purchase 3.2mm ID,7mm OD,0.5mm thickness",
"glb": "cad/pcb-washer-1.glb",
"stl": "cad/pcb-washer-1.stl",
"step": "cad/pcb-washer-1.step",
"bounds": [
[
46.49999989999999,
-35.5011749433437,
0.7984334129922543
],
[
53.501566587007744,
-28.498825056656298,
1.3015665870077457
]
],
"solids": 1,
"volume_mm3": 15.221016406642548,
"valid": true
},
{
"id": "pcb-washer-2",
"label": "M3 nylon insulating washer / 7 x3.2 x0.5mm",
"color": [
214,
217,
205
],
"group": "fasteners",
"explode": [
0,
0,
25
],
"printable": false,
"provenance": "Nominal nylon washer; insulates screw head from PCB copper; purchase 3.2mm ID,7mm OD,0.5mm thickness",
"glb": "cad/pcb-washer-2.glb",
"stl": "cad/pcb-washer-2.stl",
"step": "cad/pcb-washer-2.step",
"bounds": [
[
-63.50000010000001,
27.498825056656298,
0.7984334129922543
],
[
-56.498433412992256,
34.5011749433437,
1.3015665870077457
]
],
"solids": 1,
"volume_mm3": 15.221016406642548,
"valid": true
},
{
"id": "pcb-washer-3",
"label": "M3 nylon insulating washer / 7 x3.2 x0.5mm",
"color": [
214,
217,
205
],
"group": "fasteners",
"explode": [
0,
0,
25
],
"printable": false,
"provenance": "Nominal nylon washer; insulates screw head from PCB copper; purchase 3.2mm ID,7mm OD,0.5mm thickness",
"glb": "cad/pcb-washer-3.glb",
"stl": "cad/pcb-washer-3.stl",
"step": "cad/pcb-washer-3.step",
"bounds": [
[
56.49999989999999,
27.498825056656298,
0.7984334129922543
],
[
63.501566587007744,
34.5011749433437,
1.3015665870077457
]
],
"solids": 1,
"volume_mm3": 15.221016406642548,
"valid": true
}
],
"blockers": [
"Current IPS datasheet verified; user-supplied ER-TFT035-6 STEP is an older mechanical reference",
"Mating SH/PH housing STEP not available for download; plug fit must be checked against JST drawings",
"LCD/CTP bend radius and full FPC routing require supplier drawing/physical qualification",
"Manufacturer holder STEP is a filled envelope; internal battery seats omitted by supplier; speaker and volume wheel simplified references",
"Button travel/return, shoulder silicone pads, screws and tolerances require physical fit test"
]
}