tscircuit/boosters

This code defines PCB schematics, footprints, and 3D CAD models for various integrated circuits, connectors, sensors, and electronic components used in TI booster packs and modules.

Version
0.1.19
License
unset
Stars
0

boostxl-tmp107/index.circuit.tsx

PCBPCB preview for boostxl-tmp107/index.circuit.tsx
SchematicSchematic preview for boostxl-tmp107/index.circuit.tsx
import { PZ254V_12_6P } from "./imports/PZ254V_12_6P"
import { SN74LVC1G07DBVR } from "./imports/SN74LVC1G07DBVR"
import { SSQ_110_03_T_D } from "./imports/SSQ_110_03_T_D"
import { TMP107BIDR } from "./imports/TMP107BIDR"

const N = {
  V5: "net.V5",
  V33: "net.V33",
  GND: "net.GND",
  RXD: "net.UCA0RXD",
  TXD: "net.UCA0TXD",
  TX_OD: "net.TX_OD",
  TX_R: "net.TX_R",
  BUS: "net.TMP_BUS",
  ALERT1: "net.ALERT1",
  ALERT2: "net.ALERT2",
  IO12: "net.IO1_2",
  IO13: "net.IO1_3",
  IO14: "net.IO1_4",
} as const

const HEADER_SCH_PIN_STYLE = {
  pin1: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin2: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin3: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin4: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin5: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin6: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin7: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin8: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin9: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin10: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin11: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin12: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin13: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin14: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin15: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin16: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin17: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin18: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin19: { marginTop: "0.05mm", marginBottom: "0.05mm" },
  pin20: { marginTop: "0.05mm", marginBottom: "0.05mm" },
}

const TMP107_SCH_PIN_STYLE = {
  pin1: { marginTop: "0.075mm", marginBottom: "0.075mm" },
  pin2: { marginTop: "0.075mm", marginBottom: "0.075mm" },
  pin3: { marginTop: "0.075mm", marginBottom: "0.075mm" },
  pin4: { marginTop: "0.075mm", marginBottom: "0.075mm" },
  pin5: { marginTop: "0.075mm", marginBottom: "0.075mm" },
  pin6: { marginTop: "0.075mm", marginBottom: "0.075mm" },
  pin7: { marginTop: "0.075mm", marginBottom: "0.075mm" },
  pin8: { marginTop: "0.075mm", marginBottom: "0.075mm" },
}

const SHUNT_HEADER_SCH_PIN_STYLE = {
  pin1: { marginTop: "0.15mm", marginBottom: "0.15mm" },
  pin2: { marginTop: "0.15mm", marginBottom: "0.15mm" },
  pin3: { marginTop: "0.15mm", marginBottom: "0.15mm" },
  pin4: { marginTop: "0.15mm", marginBottom: "0.15mm" },
  pin5: { marginTop: "0.15mm", marginBottom: "0.15mm" },
  pin6: { marginTop: "0.15mm", marginBottom: "0.15mm" },
}

export default function Circuit() {
  return (
    <board
      name="BOOSTXL_TMP107"
      width="53.34mm"
      height="40.64mm"
      outline={[
        { x: -26.67, y: -20.32 },
        { x: 26.67, y: -20.32 },
        { x: 26.67, y: 20.32 },
        { x: -26.67, y: 20.32 },
      ]}
      solderMaskColor="red"
      silkscreenColor="white"
      defaultTraceWidth="0.2mm"
      minViaHoleDiameter="0.3mm"
      minViaPadDiameter="0.45mm"
      autorouter={{
        preset: "auto_local",
        local: true,
        traceClearance: "0.15mm",
      }}
      autorouterEffortLevel="2x"
    >
      <schematicsheet
        name="BOOSTXL-TMP107 Complete Schematic"
        displayName="BOOSTXL-TMP107 Complete Schematic"
        sheetIndex={1}
      />

      <group
        name="COMPLETE_SCHEMATIC"
        schSheetName="BOOSTXL-TMP107 Complete Schematic"
        schX={0}
        schY={0}
        pcbX={0}
        pcbY={0}
        schMaxTraceDistance="1.2mm"
        schTraceAutoLabelEnabled
      >
        <schematicsection
          name="TI_MHR035_FUNCTIONAL_CIRCUIT"
          displayName="TI MHR035 Rev A functional circuit"
          sectionTitleFontSize="0.18mm"
        />
        <SSQ_110_03_T_D
          name="J1"
          layer="bottom"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={-9.5}
          schY={7.2}
          schWidth="5.2mm"
          schHeight="3mm"
          schPinStyle={HEADER_SCH_PIN_STYLE}
          schPinArrangement={{
            leftSide: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19],
            rightSide: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20],
          }}
          pcbX={-20.32}
          pcbY={7.0}
          pcbRotation={90}
          noConnect={["pin3", "pin6", "pin8", "pin9", "pin10", "pin11", "pin12", "pin13", "pin14", "pin15", "pin16", "pin17", "pin18", "pin19", "pin20"]}
          connections={{
            pin1: N.V33,
            pin2: N.V5,
            pin4: N.GND,
            pin5: N.RXD,
            pin7: N.TXD,
          }}
        />
        <SSQ_110_03_T_D
          name="J2"
          layer="bottom"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={-0.5}
          schY={6.9}
          schWidth="5.2mm"
          schHeight="3mm"
          schPinStyle={HEADER_SCH_PIN_STYLE}
          schPinArrangement={{
            leftSide: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19],
            rightSide: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20],
          }}
          pcbX={20.32}
          pcbY={7.0}
          pcbRotation={90}
          noConnect={["pin2", "pin3", "pin4", "pin5", "pin6", "pin7", "pin8", "pin9", "pin10", "pin11", "pin13", "pin14", "pin15", "pin16", "pin17", "pin19", "pin20"]}
          connections={{
            pin1: N.GND,
            pin12: N.ALERT1,
            pin18: N.ALERT2,
          }}
        />
        <schematictext
          text="Install one shunt: 1-2 DRV, 3-4 RES, or 5-6 SHORT"
          schX={-13.7}
          schY={1.7}
          fontSize={0.2}
          anchor="center_left"
        />
        <SN74LVC1G07DBVR
          name="U1"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          noSchematicRepresentation
          pcbX={-11.7}
          pcbY={1.4}
          noConnect={["NC"]}
          connections={{
            A: N.TXD,
            GND: N.GND,
            Y: N.TX_OD,
            VCC: N.V33,
          }}
        />
        {/* Keep TI's exact JLCPCB buffer package on the PCB, but project it as
            the native powered-triangle symbol used by the reference sheet. */}
        <schematicsymbol
          name="U1_BUFFER"
          displayName="U1"
          chipRef=".U1"
          symbolName="opamp_with_power"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={-11.5}
          schY={-3}
          connections={{
            inp1: ".U1 > .A",
            inp2: ".U1 > .NC",
            out: ".U1 > .Y",
            "V+": ".U1 > .VCC",
            "V-": ".U1 > .GND",
          }}
        />
        <capacitor
          name="C1"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={-11.5}
          schY={-0.7}
          schRotation="0deg"
          manufacturerPartNumber="GRM188R71E104KA01D"
          supplierPartNumbers={{ jlcpcb: ["C77050"] }}
          capacitance="0.1uF"
          footprint="0603"
          pcbX={-16.1}
          pcbY={1.0}
          pcbRotation={90}
          connections={{ pin1: N.V33, pin2: N.GND }}
        />
        <resistor
          name="R1"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={-7.6}
          schY={-2.3}
          schRotation="90deg"
          manufacturerPartNumber="0603WAF3301T5E"
          supplierPartNumbers={{ jlcpcb: ["C22978"] }}
          resistance="3.3kohm"
          footprint="0603"
          pcbX={-15.0}
          pcbY={5.4}
          connections={{ pin1: N.V33, pin2: N.TX_OD }}
        />
        <resistor
          name="R2"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={-7.6}
          schY={-3.6}
          manufacturerPartNumber="CQ03WAF1002T5E"
          supplierPartNumbers={{ jlcpcb: ["C516551"] }}
          resistance="10kohm"
          footprint="0603"
          pcbX={-7.6}
          pcbY={5.4}
          connections={{ pin1: N.TXD, pin2: N.TX_R }}
        />
        <PZ254V_12_6P
          name="J3"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={-5.4}
          schY={-3.6}
          schWidth="2.4mm"
          schHeight="1.5mm"
          schPinStyle={SHUNT_HEADER_SCH_PIN_STYLE}
          schPinArrangement={{ leftSide: [1, 3, 5], rightSide: [2, 4, 6] }}
          pcbX={-8.6}
          pcbY={11.3}
          connections={{
            pin1: N.TX_OD,
            pin2: N.BUS,
            pin3: N.TX_R,
            pin4: N.BUS,
            pin5: N.TXD,
            pin6: N.BUS,
          }}
        />
        <TMP107BIDR
          name="U2"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={-0.5}
          schY={-3}
          schWidth="2.5mm"
          schHeight="2.9mm"
          schPinStyle={TMP107_SCH_PIN_STYLE}
          schPinArrangement={{
            leftSide: [1, 3, 7],
            rightSide: [2, 8, 4, 6, 5],
          }}
          pcbX={3.4}
          pcbY={9.9}
          pcbRotation={90}
          connections={{
            V_POS: N.V33,
            R1: N.V33,
            IO1: N.BUS,
            ALERT1: N.ALERT1,
            GND: N.GND,
            ALERT2: N.ALERT2,
            IO2: N.IO12,
            R2: N.V33,
          }}
        />
        <capacitor
          name="C2"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={-0.5}
          schY={-0.7}
          schRotation="0deg"
          manufacturerPartNumber="GRM188R71E104KA01D"
          supplierPartNumbers={{ jlcpcb: ["C77050"] }}
          capacitance="0.1uF"
          footprint="0603"
          pcbX={0.8}
          pcbY={14.4}
          connections={{ pin1: N.V33, pin2: N.GND }}
        />
        <TMP107BIDR
          name="U3"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={5}
          schY={-2.8}
          schWidth="2.5mm"
          schHeight="2.9mm"
          schPinStyle={TMP107_SCH_PIN_STYLE}
          schPinArrangement={{
            leftSide: [1, 3, 7],
            rightSide: [2, 8, 4, 6, 5],
          }}
          pcbX={4.5}
          pcbY={-15.7}
          pcbRotation={0}
          noConnect={["ALERT1", "ALERT2"]}
          connections={{
            V_POS: N.V33,
            R1: N.V33,
            IO1: N.IO12,
            GND: N.GND,
            IO2: N.IO13,
            R2: N.V33,
          }}
        />
        <capacitor
          name="C3"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={5}
          schY={0}
          schRotation="0deg"
          manufacturerPartNumber="GRM188R71E104KA01D"
          supplierPartNumbers={{ jlcpcb: ["C77050"] }}
          capacitance="0.1uF"
          footprint="0603"
          pcbX={-0.2}
          pcbY={-16.8}
          pcbRotation={90}
          connections={{ pin1: N.V33, pin2: N.GND }}
        />
        <TMP107BIDR
          name="U4"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={10.5}
          schY={-2.8}
          schWidth="2.5mm"
          schHeight="2.9mm"
          schPinStyle={TMP107_SCH_PIN_STYLE}
          schPinArrangement={{
            leftSide: [1, 3, 7],
            rightSide: [2, 8, 4, 6, 5],
          }}
          pcbX={19.1}
          pcbY={-15.7}
          pcbRotation={0}
          noConnect={["ALERT1", "ALERT2"]}
          connections={{
            V_POS: N.V33,
            R1: N.V33,
            IO1: N.IO13,
            GND: N.GND,
            IO2: N.IO14,
            R2: N.V33,
          }}
        />
        <capacitor
          name="C4"
          schSectionName="TI_MHR035_FUNCTIONAL_CIRCUIT"
          schX={10.5}
          schY={0}
          schRotation="270deg"
          manufacturerPartNumber="GRM188R71E104KA01D"
          supplierPartNumbers={{ jlcpcb: ["C77050"] }}
          capacitance="0.1uF"
          footprint="0603"
          pcbX={15.4}
          pcbY={-14.1}
          pcbRotation={90}
          connections={{ pin1: N.V33, pin2: N.GND }}
        />
        <schematicrect
          schX={5}
          schY={-2.2}
          width="4.4mm"
          height="7.2mm"
          strokeWidth="0.03mm"
          color="#555555"
        />
        <schematictext
          text="layout 3 pin coupon board as breakaway"
          schX={5}
          schY={1.05}
          fontSize={0.14}
          anchor="center"
        />
        <schematicrect
          schX={10.5}
          schY={-2.2}
          width="4.4mm"
          height="7.2mm"
          strokeWidth="0.03mm"
          color="#555555"
        />
        <schematictext
          text="layout 3 pin coupon board as breakaway"
          schX={10.5}
          schY={1.05}
          fontSize={0.14}
          anchor="center"
        />
      </group>

      {/* Main-board remote-chain pads. */}
      <platedhole name="MAIN_V33" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={-15.24} pcbY={-5.1} connectsTo={N.V33} />
      <platedhole name="MAIN_IO1" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={-12.7} pcbY={-5.1} connectsTo={N.IO12} />
      <platedhole name="MAIN_GND" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={-10.16} pcbY={-5.1} connectsTo={N.GND} />

      {/* U3 coupon input/output pads. */}
      <platedhole name="U3_IN_V33" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={-1.9} pcbY={-11.5} connectsTo={N.V33} />
      <platedhole name="U3_IN_IO1" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={-1.9} pcbY={-15.5} connectsTo={N.IO12} />
      <platedhole name="U3_IN_GND" shape="circular_hole_with_rect_pad" holeDiameter="0.9mm" rectPadWidth="1.8mm" rectPadHeight="1.8mm" pcbX={-1.9} pcbY={-19.0} connectsTo={N.GND} />
      <platedhole name="U3_OUT_V33" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={10.2} pcbY={-11.5} connectsTo={N.V33} />
      <platedhole name="U3_OUT_IO2" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={10.2} pcbY={-15.5} connectsTo={N.IO13} />
      <platedhole name="U3_OUT_GND" shape="circular_hole_with_rect_pad" holeDiameter="0.9mm" rectPadWidth="1.8mm" rectPadHeight="1.8mm" pcbX={10.2} pcbY={-19.0} connectsTo={N.GND} />

      {/* U4 coupon input/output pads. */}
      <platedhole name="U4_IN_V33" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={13.9} pcbY={-11.5} connectsTo={N.V33} />
      <platedhole name="U4_IN_IO1" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={13.9} pcbY={-15.5} connectsTo={N.IO13} />
      <platedhole name="U4_IN_GND" shape="circular_hole_with_rect_pad" holeDiameter="0.9mm" rectPadWidth="1.8mm" rectPadHeight="1.8mm" pcbX={13.9} pcbY={-19.0} connectsTo={N.GND} />
      <platedhole name="U4_OUT_V33" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={25.4} pcbY={-11.5} connectsTo={N.V33} />
      <platedhole name="U4_OUT_IO2" shape="circle" outerDiameter="1.8mm" holeDiameter="0.9mm" pcbX={25.4} pcbY={-15.5} connectsTo={N.IO14} />
      <platedhole name="U4_OUT_GND" shape="circular_hole_with_rect_pad" holeDiameter="0.9mm" rectPadWidth="1.8mm" rectPadHeight="1.8mm" pcbX={25.4} pcbY={-19.0} connectsTo={N.GND} />

      {/* Routed slots leave narrow tabs so U3 and U4 can be snapped off. */}
      <cutout name="BREAK_SLOT_1" shape="rect" width="4.2mm" height="0.75mm" pcbX={-23.6} pcbY={-9.5} />
      <cutout name="BREAK_SLOT_2" shape="rect" width="4.2mm" height="0.75mm" pcbX={-18.1} pcbY={-9.5} />
      <cutout name="BREAK_SLOT_3" shape="rect" width="4.2mm" height="0.75mm" pcbX={-12.6} pcbY={-9.5} />
      <cutout name="BREAK_SLOT_4" shape="rect" width="4.2mm" height="0.75mm" pcbX={-7.1} pcbY={-9.5} />
      <cutout name="BREAK_SLOT_5" shape="rect" width="4.2mm" height="0.75mm" pcbX={-1.6} pcbY={-9.5} />
      <cutout name="BREAK_SLOT_6" shape="rect" width="4.2mm" height="0.75mm" pcbX={3.9} pcbY={-9.5} />
      <cutout name="BREAK_SLOT_7" shape="rect" width="4.2mm" height="0.75mm" pcbX={9.4} pcbY={-9.5} />
      <cutout name="BREAK_SLOT_8" shape="rect" width="4.2mm" height="0.75mm" pcbX={14.9} pcbY={-9.5} />
      <cutout name="BREAK_SLOT_9" shape="rect" width="4.2mm" height="0.75mm" pcbX={20.4} pcbY={-9.5} />
      <cutout name="BREAK_SLOT_10" shape="rect" width="2.2mm" height="0.75mm" pcbX={24.9} pcbY={-9.5} />

      {/* Vertical routed slots bound the U3 coupon and separate it from U4. */}
      <cutout name="NODE_2_LEFT_SLOT_1" shape="rect" width="0.75mm" height="2.8mm" pcbX={-4.35} pcbY={-11.3} />
      <cutout name="NODE_2_LEFT_SLOT_2" shape="rect" width="0.75mm" height="2.8mm" pcbX={-4.35} pcbY={-14.6} />
      <cutout name="NODE_2_LEFT_SLOT_3" shape="rect" width="0.75mm" height="2.8mm" pcbX={-4.35} pcbY={-17.9} />
      <cutout name="NODE_DIVIDER_SLOT_1" shape="rect" width="0.75mm" height="2.8mm" pcbX={12.05} pcbY={-11.3} />
      <cutout name="NODE_DIVIDER_SLOT_2" shape="rect" width="0.75mm" height="2.8mm" pcbX={12.05} pcbY={-14.6} />
      <cutout name="NODE_DIVIDER_SLOT_3" shape="rect" width="0.75mm" height="2.8mm" pcbX={12.05} pcbY={-17.9} />

      <copperpour
        name="GND_BOTTOM"
        layer="bottom"
        connectsTo={N.GND}
        padMargin="0.25mm"
        traceMargin="0.2mm"
        boardEdgeMargin="0.3mm"
      />

      <silkscreentext text="BOOSTXL-TMP107" pcbX={0} pcbY={18.2} fontSize="1.2mm" />
      <silkscreentext text="1-2 DRV   3-4 RES   5-6 SHORT" pcbX={-8.6} pcbY={16.6} fontSize="0.42mm" />
      <silkscreentext text="3V3" pcbX={-25.1} pcbY={15.2} fontSize="0.65mm" />
      <silkscreentext text="RXD" pcbX={-25.1} pcbY={11.2} fontSize="0.65mm" />
      <silkscreentext text="TXD" pcbX={-25.1} pcbY={8.3} fontSize="0.65mm" />
      <silkscreentext text="ALERT1" pcbX={13.5} pcbY={1.4} fontSize="0.65mm" />
      <silkscreentext text="ALERT2" pcbX={13.5} pcbY={-0.8} fontSize="0.65mm" />
      <silkscreentext text="V+   IO1   GND" pcbX={-12.7} pcbY={-7.2} fontSize="0.55mm" />
      <silkscreentext text="TMP107 NODE 2" pcbX={4.5} pcbY={-10.7} fontSize="0.42mm" />
      <silkscreentext text="TMP107 NODE 3" pcbX={19.1} pcbY={-10.7} fontSize="0.42mm" />
      <silkscreentext text="TMP107" pcbX={7.6} pcbY={-15.7} pcbRotation={90} fontSize="0.55mm" />
      <silkscreentext text="TMP107" pcbX={23.2} pcbY={-15.7} pcbRotation={90} fontSize="0.55mm" />
      <silkscreentext text="MHR035 REV A RECONSTRUCTION" pcbX={0} pcbY={-7.7} fontSize="0.45mm" />
    </board>
  )
}