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

components/TPS3840DL31DBVR.tsx

import React from 'react'
import type {ChipProps} from '@tscircuit/props'
import packageEnvelope from '../mechanical/sot23-5-envelope'
// TI SNVSB03E: 1 RESET(active-low OD), 2 VDD, 3 GND, 4 MR, 5 CT.
// MR floats using its internal pull-up; CT floats for the default reset delay.
// 3.1V threshold ±1.5%, 200mV hysteresis ±25mV; charger is not gated.
const pinLabels={pin1:['RESET'],pin2:['VDD'],pin3:['GND'],pin4:['MR'],pin5:['CT']} as const
export const TPS3840DL31DBVR=(props:ChipProps<typeof pinLabels>)=><chip
  manufacturerPartNumber="TPS3840DL31DBVR" supplierPartNumbers={{jlcpcb:["C702208"]}} pinLabels={pinLabels}
  cadModel={{glbUrl:packageEnvelope,modelOriginPosition:{x:0,y:0,z:0}}}
  pinAttributes={{pin2:{requiresPower:true},pin3:{requiresGround:true}}}
  footprint={<footprint>
    {[{n:1,x:-.95,y:-1.3},{n:2,x:0,y:-1.3},{n:3,x:.95,y:-1.3},{n:4,x:.95,y:1.3},{n:5,x:-.95,y:1.3}].map(p=><React.Fragment key={p.n}><smtpad portHints={[`pin${p.n}`]} pcbX={p.x} pcbY={p.y} width={.6} height={1.1} shape="rect"/></React.Fragment>)}
    <courtyardoutline outline={[{x:-1.7,y:-2.1},{x:1.7,y:-2.1},{x:1.7,y:2.1},{x:-1.7,y:2.1},{x:-1.7,y:-2.1}]}/>
  </footprint>} {...props}/>