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."
}