mohan-bee/fitness-band-sensor-flex

A flexible dual-sensor PCB integrating a MAX30102 optical PPG/heart-rate sensor and TMP117 digital skin-temperature sensor, with I²C, power regulation, decoupling capacitors, interrupt pull-up, flex-tail connector, test points, and mechanical stiffeners/bend support.

Version
0.0.1
License
unset
Stars
0

imports/TMP117AIDRVR.tsx

import type { ChipProps } from "@tscircuit/props"

const pinLabels = {
  pin1: ["SCL"],
  pin2: ["GND"],
  pin3: ["ALERT"],
  pin4: ["ADD0"],
  pin5: ["V_POS"],
  pin6: ["SDA"],
  pin7: ["EP"]
} as const

const pinAttributes = {
  pin2: {requiresGround: true, mustBeConnected: true},
  pin1: {isInput: true, capabilities: ["i2c_scl"]},
  pin3: {isOutput: true, needsExternalPullup: true, canUseOpenDrain: true},
  pin4: {isInput: true},
  pin5: {requiresPower: true, mustBeConnected: true, shouldHaveDecouplingCapacitor: true, recommendedDecouplingCapacitorCapacitance: "100nF"},
  pin6: {isInput: true, isOutput: true, isBidirectional: true, capabilities: ["i2c_sda"], needsExternalPullup: true, canUseOpenDrain: true}
} satisfies NonNullable<ChipProps["pinAttributes"]>

export const TMP117AIDRVR = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      pinAttributes={pinAttributes}
      supplierPartNumbers={{
  "jlcpcb": [
    "C699536"
  ]
}}
      manufacturerPartNumber="TMP117AIDRVR"
      footprint={<footprint>
        <smtpad portHints={["pin1"]} pcbX="-1.028446mm" pcbY="0.649986mm" width="0.6070092mm" height="0.3640074mm" radius="0.1820037mm" shape="pill" />
<smtpad portHints={["pin2"]} pcbX="-1.028446mm" pcbY="0mm" width="0.6070092mm" height="0.3640074mm" radius="0.1820037mm" shape="pill" />
<smtpad portHints={["pin3"]} pcbX="-1.028446mm" pcbY="-0.649986mm" width="0.6070092mm" height="0.3640074mm" radius="0.1820037mm" shape="pill" />
<smtpad portHints={["pin4"]} pcbX="1.028446mm" pcbY="-0.649986mm" width="0.6070092mm" height="0.3640074mm" radius="0.1820037mm" shape="pill" />
<smtpad portHints={["pin5"]} pcbX="1.028446mm" pcbY="0mm" width="0.6070092mm" height="0.3640074mm" radius="0.1820037mm" shape="pill" />
<smtpad portHints={["pin6"]} pcbX="1.028446mm" pcbY="0.649986mm" width="0.6070092mm" height="0.3640074mm" radius="0.1820037mm" shape="pill" />
<smtpad portHints={["pin7"]} pcbX="0mm" pcbY="0mm" width="0.999998mm" height="1.5999968mm" shape="rect" />
<silkscreenpath route={[{"x":-1.0761979999999767,"y":1.0761980000000904},{"x":1.0761979999999767,"y":1.0761980000000904}]} />
<silkscreenpath route={[{"x":-1.0761979999999767,"y":-1.0761979999999767},{"x":1.0761979999999767,"y":-1.0761979999999767}]} />
<silkscreencircle pcbX="-1.63195mm" pcbY="0.649986mm" radius="0.07493mm" />
<silkscreentext text="{NAME}" pcbX="-0.2794mm" pcbY="2.0668mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-1.5819506000000274,"y":1.249998000000005},{"x":1.5819505999999137,"y":1.249998000000005},{"x":1.5819505999999137,"y":-1.249998000000005},{"x":-1.5819506000000274,"y":-1.249998000000005},{"x":-1.5819506000000274,"y":1.249998000000005}]} />
      </footprint>}
      cadModel={{
        objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C699536.obj?uuid=c909123e4a7a4da5a0270979fee6c02c",
        stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C699536.step?uuid=c909123e4a7a4da5a0270979fee6c02c",
        pcbRotationOffset: 0,
        modelOriginPosition: { x: 0, y: 0, z: 0 },
      }}
      {...props}
    />
  )
}