abse/smartwatch-flex-top-only
Three-panel flex smartwatch with two parallel R3.9 bends, all components flat-top, low-profile JST connector harnesses, split heartbeat optical windows and screw-retained PCB mounting. Modeled 39 × 50.5 × 14.5mm prototype; 100% routing, zero native DRC and shorts. Hardware qualification pending.
- Version
- 0.2.20
- License
- unset
- Stars
- 0
qualification/bringup-contract.json
{
"status": "REQUIRED_IMPLEMENTATION_AND_BENCH_VERIFICATION",
"scope": "Hardware/firmware interface contract, not shipped firmware.",
"i2c": {
"initialBusHz": 100000,
"maximumBusHz": 400000,
"pullupOhms": 2200,
"maximumCapacitancePFAt400kHz300nsRise": 160.94,
"requirements": [
"Measure SDA/SCL rise time and VOL with the display flex attached before enabling400kHz.",
"Scan expected device addresses, reset the touch controller, verify actual touch address and tolerate a disconnected display.",
"Avoid back-powering any unpowered rail through MCU GPIOs."
],
"expected7BitAddresses": {
"BMI270": "0x68",
"LIS2MDL": "0x1e",
"VEML6030": "0x10",
"MAX17048": "0x36",
"DRV2605L": "0x5a",
"ZSPD4003LG": "0x5b",
"CST816D": "0x15 (verify module-specific setting)"
}
},
"display": {
"module": "CFAL368448A0-0193DW",
"signals": {
"displayLdoEnable": "GPIO18 / DISP_EN",
"boosterEnable": "GPIO42 / OLED_BOOST_EN",
"displayReset": "GPIO14 / OLED_RST",
"touchReset": "GPIO8 / TP_RST"
},
"requirements": [
"Start with all display data/control GPIOs low or high impedance and both display enables low.",
"Apply the exact CH13620/module power/reset/sleep-out sequence from the selected supplier revision; verify both logic supply and flex booster settling.",
"Do not assert booster/data until the applicable logic supply is stable.",
"Before power-off, stop transactions, put the controller to sleep as specified and return driven IO to safe levels before disabling supplies.",
"Do not infer populated-flex component height or current from its3.50mm axial drawing dimension.",
"Measure all-white/start-up display current and use it in the battery load budget."
]
},
"ppg": {
"part": "ZSPD4003LG",
"interrupt": "GPIO2 / PPG_INT",
"requirements": [
"Initialize the exact manufacturer's LED drive, integration, channel and interrupt registers; observe reference-capacitor settling.",
"Begin at low LED current and include peak and average LED draw in measured system limits.",
"Prevent simultaneous maximum radio TX, PPG LED pulses and haptic operation until verified.",
"Verify dark/ambient/crosstalk response with the separate optical apertures and opaque tunnel/seal."
]
},
"haptic": {
"part": "DRV2605L",
"enable": "GPIO33 / HAPTIC_EN",
"motor": "Existing3V ERM coin motor with factory connector leads",
"requirements": [
"Select ERM mode; do not use the default LRA configuration.",
"Program rated motor voltage and overdrive clamp from the exact motor datasheet, then validate start/stall current.",
"Turn off the driver when inactive and arbitrate haptic start against radio/PPG/display load."
]
},
"power": {
"hardwareCutoff": "TPS3840DL31DBVR monitors upstream RAW/BQ24074 OUT and gates TPS63802 EN independently of MCU firmware.3.1V refers to RAW; battery-only cell voltage includes the power-path drop. External power permits recovery and system operation.",
"chargeRecovery": "The NTC comparators and their ratio/pull-up networks are supplied by INPUT_5V, independent of the disabled system rail.",
"chargeInhibit": "GPIO5 / CHARGE_INHIBIT",
"requirements": [
"Constrain measured current to the actual battery/PCM and connector ratings; a1A LDO is a regulator rating, not the cell's rating.",
"Back off loads before hardware cutoff, save state and sleep/shut down cleanly.",
"Measure simultaneous BAT and RAW voltage at cutoff/restart under battery-only load and temperature corners; test removal/insertion of external power, including a deeply discharged cell and input-current limits.",
"Verify charger recovery from a below-cutoff cell and prevent repeated brownout/restart cycling under low battery or high load.",
"Measure quiescent draw in shutdown; unplug/disconnect the cell for long storage if required by the pack supplier.",
"Leave printed Qi charging unqualified until coil tuning, FOD and temperature measurements are complete."
]
},
"acceptanceEvidence": "Firmware revision, instrument traces, temperatures, supply voltages and selected device settings must be recorded. This JSON is not a claim that these behaviors already run on the watch."
}