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.circuit.tsx

PCBPCB preview for assembly.circuit.tsx
SchematicSchematic preview for assembly.circuit.tsx
import { assembly } from 'tscircuit'
import React from 'react'
import model0 from "./assembly-assets/pcb"
import model1 from "./assembly-assets/power-inductor"
import model2 from "./assembly-assets/enclosure"
import model3 from "./assembly-assets/sensor-window"
import model4 from "./assembly-assets/optical-well"
import model5 from "./assembly-assets/battery"
import model6 from "./assembly-assets/battery-carrier"
import model7 from "./assembly-assets/charging-coil"
import model8 from "./assembly-assets/battery-harness"
import model9 from "./assembly-assets/motor"
import model10 from "./assembly-assets/motor-leads"
import model11 from "./assembly-assets/battery-thermistor"
import model12 from "./assembly-assets/temperature-leads"
import model13 from "./assembly-assets/coil-thermistor"
import model14 from "./assembly-assets/coil-leads"
import model15 from "./assembly-assets/display-connector"
import model16 from "./assembly-assets/display"
import model17 from "./assembly-assets/display-flex"
import model18 from "./assembly-assets/button"

// Generated from the dimensioned assembly script; source/model hashes in assembly-manifest.json.
export default ({exploded=false,showEnclosure=true}:{exploded?:boolean,showEnclosure?:boolean}={}) => <assembly.device name="ESP32-S3 smartwatch prototype assembly">
  <assembly.subassembly name="PCB" cadModel={{glbUrl:model0,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?0:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="POWER_INDUCTOR" cadModel={{glbUrl:model1,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?0:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  {showEnclosure && <assembly.subassembly name="ENCLOSURE" cadModel={{glbUrl:model2,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-32:0},modelOriginPosition:{x:0,y:0,z:0}}}/>}
  <assembly.subassembly name="SENSOR_WINDOW" cadModel={{glbUrl:model3,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-32:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="OPTICAL_WELL" cadModel={{glbUrl:model4,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-32:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="BATTERY" cadModel={{glbUrl:model5,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-13:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="BATTERY_CARRIER" cadModel={{glbUrl:model6,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-8:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="CHARGING_COIL" cadModel={{glbUrl:model7,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-23:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="BATTERY_HARNESS" cadModel={{glbUrl:model8,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-13:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="MOTOR" cadModel={{glbUrl:model9,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-13:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="MOTOR_LEADS" cadModel={{glbUrl:model10,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-13:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="BATTERY_THERMISTOR" cadModel={{glbUrl:model11,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-13:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="TEMPERATURE_LEADS" cadModel={{glbUrl:model12,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-23:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="COIL_THERMISTOR" cadModel={{glbUrl:model13,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-23:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="COIL_LEADS" cadModel={{glbUrl:model14,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-23:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="DISPLAY_CONNECTOR" cadModel={{glbUrl:model15,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?0:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="DISPLAY" cadModel={{glbUrl:model16,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?18:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="DISPLAY_FLEX" cadModel={{glbUrl:model17,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?18:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
  <assembly.subassembly name="BUTTON" cadModel={{glbUrl:model18,rotationOffset:{x:0,y:0,z:0},positionOffset:{x:0,y:0,z:exploded?-32:0},modelOriginPosition:{x:0,y:0,z:0}}}/>
</assembly.device>