AnasSarkiz/muse-voice-remote
Muse Voice Remote — bare ESP32-S3R8, 155 TOP JLCPCB parts with real supplier CAD, native 3D assembly and GLB exports. Revised 17 mm case allocation; 0.30 mm via drill /0.45 mm pad. Checked prototype PCB; mechanical, RF and MUSE qualification pending.
- Version
- 1.3.2
- License
- unset
- Stars
- 0
dist/assembly/enclosure/verification.json
{
"source_sha256": {
"design/enclosure.ts": "0b2a944dfe96d7817e732c507ce6c471101150525a81c6735d9c72dee8391c91",
"design/assembly.ts": "d69f9fc2ed3453b60015407d6f2cf86f8c50d849de92498d08af32a927bb582a",
"design/assembly-stack.ts": "40964aa435099f55da68fe7b919d1da98625e143786ba77d37f2bc5371efdba7"
},
"status": "prototype geometry; physical tolerances and actuation require validation",
"enclosure": {
"revision": "reference-16mm-r1",
"width": 72,
"height": 53.5,
"depth": 16,
"sideWall": 0.8,
"frontLip": 0.6,
"rearWall": 0.8,
"cornerRadius": 2,
"splitZ": 10.8,
"lapHeight": 0.9,
"lapClearance": 0.15,
"screwCenters": [
[
-34.3,
-24.8
],
[
34.3,
-24.8
],
[
-34.3,
24.8
],
[
34.3,
24.8
]
],
"pcbHoles": [
{
"x": -31.5,
"y": -22
},
{
"x": 31.5,
"y": -22
},
{
"x": -31.5,
"y": 22
},
{
"x": 31.5,
"y": 22
}
],
"displayWindow": {
"x": -2.65,
"y": 0,
"width": 58,
"height": 43.6
},
"micPorts": [
{
"x": -27.2349266,
"y": 26.75,
"z": 3.55
},
{
"x": 28.7650734,
"y": 26.75,
"z": 3.55
}
],
"usb": {
"x": 0,
"y": -26.75,
"z": 6.35,
"width": 10.2,
"height": 4.3
},
"screws": {
"count": 4,
"designation": "M1.6 × 12 mm countersunk; thread/pilot fit must be prototyped",
"pilotDiameter": 1.25,
"clearanceDiameter": 1.8,
"headDiameter": 3,
"pilotBottom": 3.8,
"tipZ": 4
},
"battery": {
"pad": 0.2,
"swelling": 0.57,
"swellingDirection": "toward PCB",
"cellBottom": 9.3,
"expandedBottom": 8.73,
"cellTop": 15
},
"wireChannel": {
"innerX": [
25.2,
28.6
],
"y": [
-10,
14
],
"bottom": 8.1,
"top": 15.2
},
"print": {
"front": "Front face on bed; local removable supports under screw bosses and PCB ledges.",
"rear": "Outside rear face on bed; posts and wire guides point upward.",
"process": "Fit prototype: fine-layer PETG or SLA. Retest small pilots and 0.15 mm lap clearance for your printer."
}
},
"parts": [
{
"artifacts": {
"case_front.scad": "c90158f14d46592201d6a928dbfdce99ec7f9d9dbb6355b838b7084454bde6c4",
"case_front.stl": "c6064dfb3437cf7a6ff1f79e2b64ab373e4f9bcb8c6e12ce61857f4404e0d0ba",
"case_front-print.scad": "ab68c7e575247029e2aef539ad63522d53876a884ae3d7c8546642d9d80ef71e",
"case_front-print.stl": "4b293699c2c51465a89cc1ef0c10c8ec54c952621d964de8c76b082f6161e564"
},
"name": "CASE_FRONT",
"label": "Front tray · reference 72 × 53.5 mm",
"triangles": 2860,
"closed": true,
"connected_solids": 1,
"non_manifold_edges": 0,
"volume_mm3": 2915.888639802934,
"bounds_mm": {
"min": [
-36,
-26.75,
0
],
"max": [
36,
26.75,
11.699999809265137
]
},
"print_bounds_mm": {
"min": [
-36,
-26.75,
0
],
"max": [
36,
26.75,
11.699999809265137
]
},
"stl": "case_front.stl",
"print_stl": "case_front-print.stl",
"sha256": "c6064dfb3437cf7a6ff1f79e2b64ab373e4f9bcb8c6e12ce61857f4404e0d0ba",
"openscad_simple": true
},
{
"artifacts": {
"case_rear.scad": "27bff1680d975d726fc8cdc80dd7beecdc4273747202b1c790655a88268e1e99",
"case_rear.stl": "251a6200c11be4e65243e8f693b231404ee8d7c25229c18b1ff6c4940eb82e3e",
"case_rear-print.scad": "1f16e67e89dca977ed5f6d9ca0fe81dd067eb71b20017f9a1e7602fc4e2b2104",
"case_rear-print.stl": "85f723fd74a9a70605453c566d978ff5563816873139ef4082e2f220325e3218"
},
"name": "CASE_REAR",
"label": "Rear cover · four screws + speaker grille",
"triangles": 10528,
"closed": true,
"connected_solids": 1,
"non_manifold_edges": 0,
"volume_mm3": 4348.028273939843,
"bounds_mm": {
"min": [
-36,
-26.75,
4.699999809265137
],
"max": [
36,
26.75,
16
]
},
"print_bounds_mm": {
"min": [
-36,
-26.75,
0
],
"max": [
36,
26.75,
11.300000190734863
]
},
"stl": "case_rear.stl",
"print_stl": "case_rear-print.stl",
"sha256": "251a6200c11be4e65243e8f693b231404ee8d7c25229c18b1ff6c4940eb82e3e",
"openscad_simple": true
},
{
"artifacts": {
"control_talk.scad": "658b00e18d4a6db5d75cf3ce6e47745e4b4b34c29c4d0b4c0c3cc34bcda598cc",
"control_talk.stl": "ad03e664a0eac9e2c5bf33dd7f27f2760414de94ee413a92cce5392a9eb7906d",
"control_talk-print.scad": "68bd9f2ecc660487008a796d470624de1dbd38087d2070f59fa27f1af5f00031",
"control_talk-print.stl": "a8cf90f005164d5248c09f92ae8afcc7f69646d97b2d076a1c030dc9800f5b8e"
},
"name": "CONTROL_TALK",
"label": "TALK cap · spring interface needs bench validation",
"triangles": 36,
"closed": true,
"connected_solids": 1,
"non_manifold_edges": 0,
"volume_mm3": 48.3300027084333,
"bounds_mm": {
"min": [
-4.799999237060547,
23.450000762939453,
8.649999618530273
],
"max": [
4.799999237060547,
28,
11.199999809265137
]
},
"print_bounds_mm": {
"min": [
-4.799999237060547,
23.450000762939453,
0
],
"max": [
4.799999237060547,
28,
2.5500001907348633
]
},
"stl": "control_talk.stl",
"print_stl": "control_talk-print.stl",
"sha256": "ad03e664a0eac9e2c5bf33dd7f27f2760414de94ee413a92cce5392a9eb7906d",
"openscad_simple": true
},
{
"artifacts": {
"control_privacy.scad": "8fa258c164aa29c9032a1b25c4714e0f67f42e611585f0b05094f638a42e035e",
"control_privacy.stl": "487c57f94505219b0ab088b7f60ee39e1f4bbb6893f688cdc7fc64754d3e235d",
"control_privacy-print.scad": "c1c67df88fa5ce0d97e9f369358d99a587810d3a9c8fd85e71f1d20f945c3b6f",
"control_privacy-print.stl": "c9c07d83db595e4bf6746d39c21ab49404f65dd60de17ebb56c71f250fd65604"
},
"name": "CONTROL_PRIVACY",
"label": "Privacy slider cap",
"triangles": 60,
"closed": true,
"connected_solids": 1,
"non_manifold_edges": 0,
"volume_mm3": 30.122470846180477,
"bounds_mm": {
"min": [
-36.849998474121094,
-1.0999994277954102,
8.75
],
"max": [
-28.549999237060547,
5.299999237060547,
12.25
]
},
"print_bounds_mm": {
"min": [
-36.849998474121094,
-1.0999994277954102,
0
],
"max": [
-28.549999237060547,
5.299999237060547,
3.5
]
},
"stl": "control_privacy.stl",
"print_stl": "control_privacy-print.stl",
"sha256": "487c57f94505219b0ab088b7f60ee39e1f4bbb6893f688cdc7fc64754d3e235d",
"openscad_simple": true
},
{
"artifacts": {
"control_power.scad": "3dd9288760ca1cb7935f369854b147124f2540bd7de5328c59e3966e2577dbd7",
"control_power.stl": "fc3285895c33e3725d5f362b4b67a2cf0514b72eeea02df0d9530279b278bc0b",
"control_power-print.scad": "b3fc9e4896f947c86ba01f0389b70ea93a0352d9c070499c004eb7ba40212862",
"control_power-print.stl": "2af29ffb9149d77033847272cda9acd5c8e45efadb80af08bd6248a6e93f0c56"
},
"name": "CONTROL_POWER",
"label": "Power slider cap",
"triangles": 60,
"closed": true,
"connected_solids": 1,
"non_manifold_edges": 0,
"volume_mm3": 23.38486061716202,
"bounds_mm": {
"min": [
31.599998474121094,
-8.309999465942383,
4.299999237060547
],
"max": [
36.849998474121094,
-1.9099998474121094,
7.299999237060547
]
},
"print_bounds_mm": {
"min": [
31.599998474121094,
-8.309999465942383,
0
],
"max": [
36.849998474121094,
-1.9099998474121094,
3
]
},
"stl": "control_power.stl",
"print_stl": "control_power-print.stl",
"sha256": "fc3285895c33e3725d5f362b4b67a2cf0514b72eeea02df0d9530279b278bc0b",
"openscad_simple": true
}
],
"two_main_shell_parts": 2,
"control_caps": 3,
"talk_spring": "0.10 mm spring strip, 2 × 5 mm; not printable; insulate/round edges; bench-test spring force/travel before use"
}