abse/smartwatch-v1-pcb
Routed bare ESP32-S3 smartwatch with SDR PSRAM, touch AMOLED, Qi receiver and compact/exploded 39 × 50.5 × 14.5 mm provisional assembly.
- Version
- 0.2.0
- License
- unset
- Stars
- 0
assembly-manifest.json
{
"assembly_fit_verified": false,
"fabrication_ready": false,
"hardware_tested": false,
"status": "PROVISIONAL MECHANICAL STUDY: populated display-flex bend zones are missing; not a confirmed enclosure fit",
"circuit_source": "dist/esp32/circuit.json",
"circuit_sha256": "7e67c63a8817464e3e07a7f916e3672202979fbfb74d7204fb756085eb694ae2",
"native_pcb_model_sha256": "8b128b9c9392e350c4c345209967938e74c22f1db9716e42051adc3b8c384501",
"body_mm": [
39,
50.5,
14.5
],
"with_side_button_width_mm": 39.6,
"pcb_mm": [
34,
38,
0.8
],
"display_max_mm": [
36.85,
44.66,
2.31
],
"active_area_mm": [
30.91,
38.17
],
"active_to_body_ratio": 0.5990529068291445,
"glass_to_body_ratio": 0.8356034526529577,
"battery_max_mm": [
25.5,
32.5,
5.7
],
"battery_center_mm": [
3.0,
2.05,
-3.575
],
"battery_expansion_z_mm": 1.0,
"coil_max_mm": [
15.5,
15.5,
0.85
],
"models": {
"pcb": {
"bounds_mm": [
[
-17.0,
-19.0,
-4.660000228881836
],
[
17.145998787879943,
19.0,
2.469425106048584
]
],
"mesh_count": 328,
"bytes": 9925876
},
"power-inductor": {
"bounds_mm": [
[
5.4,
-14.9,
0.4
],
[
7.6,
-13.1,
1.4
]
],
"mesh_count": 3,
"bytes": 17352
},
"enclosure": {
"bounds_mm": [
[
-19.5,
-25.25,
-9.420000076293945
],
[
19.5,
25.25,
4.954999923706055
]
],
"mesh_count": 2,
"bytes": 131596
},
"sensor-window": {
"bounds_mm": [
[
-16.05,
-3.147,
-9.345
],
[
-12.45,
3.453,
-9.095
]
],
"mesh_count": 1,
"bytes": 10124
},
"optical-well": {
"bounds_mm": [
[
-16.850000381469727,
-3.947000026702881,
-8.869999885559082
],
[
-11.649999618530273,
4.252999782562256,
-2.2249999046325684
]
],
"mesh_count": 1,
"bytes": 19512
},
"battery": {
"bounds_mm": [
[
-9.75,
-14.199999809265137,
-6.425000190734863
],
[
15.75,
18.299999237060547,
-0.7250000000000001
]
],
"mesh_count": 10,
"bytes": 278244
},
"battery-carrier": {
"bounds_mm": [
[
-9.8,
-14.25,
-0.7250000000000001
],
[
15.8,
18.35,
-0.5
]
],
"mesh_count": 2,
"bytes": 13832
},
"charging-coil": {
"bounds_mm": [
[
-4.75,
-5.7,
-8.870000000000001
],
[
10.75,
9.8,
-8.020000000000001
]
],
"mesh_count": 29,
"bytes": 1091476
},
"battery-harness": {
"bounds_mm": [
[
-13.87290831217244,
-16.7,
-3.825
],
[
3.55,
-12.514065243285186,
-0.47916597828788576
]
],
"mesh_count": 6,
"bytes": 30072
},
"motor": {
"bounds_mm": [
[
-18.25,
-18.525,
-7.5
],
[
-11.149999999999999,
-10.25,
-5.3500000000000005
]
],
"mesh_count": 3,
"bytes": 25708
},
"motor-leads": {
"bounds_mm": [
[
-15.350000000000001,
-21.749999945391856,
-7.3
],
[
-12.41,
-17.31,
-0.44999999999999996
]
],
"mesh_count": 2,
"bytes": 42316
},
"battery-thermistor": {
"bounds_mm": [
[
15.75,
-1.85,
-5.575
],
[
18.15,
1.85,
-1.5750000000000002
]
],
"mesh_count": 2,
"bytes": 13852
},
"temperature-leads": {
"bounds_mm": [
[
-10.410000000000002,
-18.99999999921563,
-7.85
],
[
17.950000000000003,
2.15,
0.8
]
],
"mesh_count": 4,
"bytes": 162568
},
"coil-thermistor": {
"bounds_mm": [
[
1.0,
0.5499999999999998,
-8.02
],
[
5.0,
3.55,
-7.465
]
],
"mesh_count": 4,
"bytes": 20984
},
"coil-leads": {
"bounds_mm": [
[
-17.999999997797488,
-12.21,
-8.94
],
[
-4.75,
2.535,
0.85
]
],
"mesh_count": 6,
"bytes": 87172
},
"display-connector": {
"bounds_mm": [
[
-6.724999904632568,
-18.075000762939453,
-1.4000000000000001
],
[
0.7250000238418579,
-14.625,
-0.4000000059604645
]
],
"mesh_count": 21,
"bytes": 95120
},
"display": {
"bounds_mm": [
[
-18.425,
-22.33,
2.7699999999999996
],
[
18.425,
22.33,
5.081
]
],
"mesh_count": 25,
"bytes": 978280
},
"display-flex": {
"bounds_mm": [
[
-9.0,
-24.169999999955003,
-7.764999999880619
],
[
15.0,
-16.427568193756702,
2.77
]
],
"mesh_count": 1,
"bytes": 84268
},
"button": {
"bounds_mm": [
[
17.325,
-5.449999999999999,
0.375
],
[
20.099999999999998,
-0.3500000000000001,
2.025
]
],
"mesh_count": 2,
"bytes": 13924
}
},
"wire_path_lengths_mm": {
"Trimmed factory positive": 14.532543595251255,
"Trimmed factory negative": 16.378562547400325,
"Insulated positive extension": 4.514370651332877,
"Insulated negative extension": 3.017101958006976,
"Motor factory positive": 12.47901397151119,
"Motor factory negative": 11.328297590260323,
"Battery NTC sense": 49.459104969441945,
"Battery NTC return": 46.01732368144973,
"Coil NTC sense": 73.94085225428134,
"Coil NTC return": 74.79461756634939,
"Receiver coil AC1": 37.8105060928862,
"Receiver coil AC1 trimmed factory": 20.0,
"Receiver coil AC1 extension": 17.8105060928862,
"Receiver coil AC2": 36.69729618204855,
"Receiver coil AC2 trimmed factory": 20.0,
"Receiver coil AC2 extension": 16.697296182048547
},
"motor_max_mm": [
7.1,
7.1,
2.1
],
"battery_ntc_max_mm": [
4,
3.7,
2.4
],
"coil_ntc_max_mm": [
0.63,
0.33,
0.33
],
"api_limitation": "Pinned assembly API lacks a custom broad display-flex/soldered-wire cable element; generated CAD fallback follows MuseAir reference.",
"limitations": [
"Official 0193DW download is internally labeled 0139DW; nominal dimensions and interface agree with product/example, but exact drawing revision requires supplier confirmation.",
"Display flex preserves 50 mm length but bends cross unknown populated/rigid zones. This fold is not validated or fabrication-ready; supplier dimensioned factory fold CAD is required.",
"Factory battery plug is deliberately trimmed; individual insulated lead extensions and polarity need prototype verification.",
"Vybronics VC0720B015F maximum body, adhesive and neck modeled; wire strain relief and driver ERM settings need prototype verification.",
"PPG optical standoff and light sealing require prototype testing.",
"RF metal proximity, Qi coil tuning/FOD and current/runtime require measured hardware qualification."
],
"appearance_evidence": "mechanical/appearance-evidence.json",
"appearance_evidence_sha256": "07c5acf146d3826372c9307c04e4f57cef62d6b8e8ca2ed975e66226aaa79ed8",
"appearance_match": "Supplier-photo-referenced colors and drawing maximum envelopes; not factory-calibrated colors or complete supplier solid CAD."
}