ShiboSoftwareDev/MSP-EXP430FR2433

This code defines a 4 MHz surface-mount quartz crystal resonator with 15pF load capacitance and ground pin configuration, including PCB footprint and 3D model details.

Version
1.0.1
License
unset
Stars
0

index.circuit.tsx

PCBPCB preview for index.circuit.tsx
SchematicSchematic preview for index.circuit.tsx
import { CSTCR4M00G53_R0 } from "./imports/CSTCR4M00G53_R0"
import { MicroXNJ } from "./imports/MicroXNJ"
import { MSP430F5528IRGCR } from "./imports/MSP430F5528IRGCR"
import { MSP430FR2433IRGER } from "./imports/MSP430FR2433IRGER"
import { SC_32S32_768kHz20PPM12_5pF } from "./imports/SC_32S32_768kHz20PPM12_5pF"
import { TS342A2P_WZ } from "./imports/TS342A2P_WZ"
import { USBLC6_2SC6 } from "./imports/USBLC6_2SC6"

const Ldo3V3 = (props: any) => (
  <chip
    {...props}
    manufacturerPartNumber="TLV70033DDCR"
    supplierPartNumbers={{ jlcpcb: ["C11337"] }}
    footprint="sot23_5"
    pinLabels={{
      pin1: "IN",
      pin2: "GND",
      pin3: "EN",
      pin4: "NC",
      pin5: "OUT",
    }}
    pinAttributes={{
      IN: { requiresPower: true },
      GND: { requiresGround: true },
      EN: { mustBeConnected: true },
      OUT: { providesPower: true },
    }}
  />
)

const TwoPinHeaderJumper = ({ name, pcbX }: { name: string; pcbX: number }) => (
  <jumper
    name={name}
    manufacturerPartNumber="2.54mm removable shunt jumper"
    footprint={
      <footprint>
        <platedhole shape="circle" portHints={["pin1"]} pcbX="0mm" pcbY="1.27mm" holeDiameter="0.9mm" outerDiameter="1.7mm" />
        <platedhole shape="circle" portHints={["pin2"]} pcbX="0mm" pcbY="-1.27mm" holeDiameter="0.9mm" outerDiameter="1.7mm" />
        <silkscreenrect width="2mm" height="3.4mm" />
      </footprint>
    }
    pinLabels={{ pin1: "HOST", pin2: "TARGET" }}
    pcbX={pcbX}
    pcbY={6.5}
    schX={pcbX}
    schY={15}
  />
)

export default () => (
  <board
    title="MSP-EXP430FR2433 compatible LaunchPad - tscircuit edition"
    width="54mm"
    height="86mm"
    layers={4}
    borderRadius="2mm"
    minTraceWidth="0.15mm"
    minViaHoleDiameter="0.3mm"
    minViaPadDiameter="0.45mm"
    pcbStyle={{ viaHoleDiameter: "0.3mm", viaPadDiameter: "0.45mm" }}
  >
    {/* Mechanical outline and identification */}
    <hole name="H_MOUNT_1" diameter="3.2mm" pcbX={-23} pcbY={38} />
    <hole name="H_MOUNT_2" diameter="3.2mm" pcbX={23} pcbY={38} />
    <hole name="H_MOUNT_3" diameter="3.2mm" pcbX={-23} pcbY={-38} />
    <hole name="H_MOUNT_4" diameter="3.2mm" pcbX={23} pcbY={-38} />
    <fiducial name="FID1" padDiameter="1mm" soldermaskPullback="1mm" pcbX={-20} pcbY={34} />
    <fiducial name="FID2" padDiameter="1mm" soldermaskPullback="1mm" pcbX={20} pcbY={-34} />
    <silkscreentext
      text="MSP-EXP430FR2433 compatible"
      fontSize="1.2mm"
      pcbX={0}
      pcbY={-40.5}
    />
    <silkscreentext text="eZ-FET / USB" fontSize="1mm" pcbX={0} pcbY={10.5} />
    <silkscreentext text="TARGET" fontSize="1mm" pcbX={0} pcbY={1.8} />

    {/* USB input and protected USB 2.0 data path */}
    <MicroXNJ name="J_USB" pcbX={0} pcbY={39.2} pcbRotation={90} noConnect={["ID"]} />
    <USBLC6_2SC6
      name="U_ESD"
      pcbX={0}
      pcbY={32.5}
      pcbRotation={90}
      pinAttributes={{
        VBUS: { requiresPower: true },
        GND: { requiresGround: true },
      }}
    />
    <resistor name="R_USB_DM" resistance="27ohm" footprint="0402" pcbX={-7} pcbY={21.75} />
    <resistor name="R_USB_DP" resistance="27ohm" footprint="0402" pcbX={-7} pcbY={22.75} />
    <resistor name="R_USB_PUR" resistance="1.4kohm" footprint="0402" layer="bottom" pcbX={-11} pcbY={23.5} />
    <resistor name="R_DBG_VBUS_LINK" resistance="0ohm" footprint="0402" layer="bottom" pcbX={-8} pcbY={18} />
    <resistor name="R_SHIELD" resistance="1Mohm" footprint="0603" pcbX={7.2} pcbY={36.7} />
    <capacitor name="C_SHIELD" capacitance="1nF" footprint="0603" pcbX={7.2} pcbY={34.7} />

    {/* Conventional 3.3 V regulator replacing the EnergyTrace switcher */}
    <Ldo3V3 name="U_LDO" pcbX={-14.5} pcbY={32} pcbRotation={180} />
    <capacitor name="C_LDO_IN" capacitance="1uF" footprint="0603" pcbX={-18.5} pcbY={32} />
    <capacitor name="C_LDO_OUT" capacitance="1uF" footprint="0603" pcbX={-10.5} pcbY={32} />
    <resistor name="R_LDO_EN" resistance="10kohm" footprint="0402" pcbX={-10.5} pcbY={35} />
    <led name="LED_PWR" color="green" footprint="0603" pcbX={-17} pcbY={27.5} />
    <resistor name="R_LED_PWR" resistance="1kohm" footprint="0603" pcbX={-13.5} pcbY={27.5} />

    {/* MSP430F5528 eZ-FET Lite host controller */}
    <MSP430F5528IRGCR
      name="U_DBG"
      pcbX={0}
      pcbY={19.5}
      pcbRotation={0}
      pinAttributes={{
        AVCC1: { requiresPower: true },
        AVSS1: { requiresGround: true },
        DVCC1: { requiresPower: true },
        DVSS1: { requiresGround: true },
        DVCC2: { requiresPower: true },
        DVSS2: { requiresGround: true },
        AVSS2: { requiresGround: true },
        VSSU: { requiresGround: true },
        GND_EP: { requiresGround: true },
        VBUS: { requiresPower: true },
      }}
    />
    <CSTCR4M00G53_R0
      name="Y_DBG"
      pcbX={-10}
      pcbY={19.5}
      pcbRotation={90}
      pinAttributes={{ GND: { requiresGround: true } }}
    />
    <capacitor name="C_DBG_VCORE" capacitance="470nF" maxDecouplingTraceLength="10mm" footprint="0402" layer="bottom" pcbX={5.7} pcbY={16.26} pcbRotation={270} />
    <capacitor name="C_DBG_VUSB" capacitance="220nF" maxDecouplingTraceLength="10mm" footprint="0402" layer="bottom" pcbX={-5.2} pcbY={21.6} pcbRotation={270} />
    <capacitor name="C_DBG_V18" capacitance="220nF" maxDecouplingTraceLength="10mm" footprint="0402" layer="bottom" pcbX={-5.2} pcbY={19.4} pcbRotation={90} />
    <capacitor name="C_DBG_AVCC" capacitance="100nF" footprint="0402" pcbX={0} pcbY={13.2} />
    <capacitor name="C_DBG_DVCC1" capacitance="100nF" footprint="0402" pcbX={2.2} pcbY={13.2} />
    <capacitor name="C_DBG_DVCC2" capacitance="100nF" footprint="0402" pcbX={4.4} pcbY={13.2} />
    <capacitor name="C_DBG_BULK" capacitance="10uF" footprint="0805" pcbX={-4} pcbY={12.4} />
    <resistor name="R_DBG_RST" resistance="47kohm" footprint="0402" pcbX={-7.5} pcbY={14} />
    <capacitor name="C_DBG_RST" capacitance="1nF" footprint="0402" pcbX={-9.5} pcbY={14} />
    <led name="LED_DBG_RED" color="red" footprint="0603" pcbX={8.5} pcbY={29} schX={12} schY={25} />
    <resistor name="R_DBG_RED" resistance="470ohm" footprint="0603" pcbX={12.5} pcbY={29} schX={9} schY={25} />
    <led name="LED_DBG_GREEN" color="green" footprint="0603" pcbX={8.5} pcbY={26} schX={12} schY={22} />
    <resistor name="R_DBG_GREEN" resistance="390ohm" footprint="0603" pcbX={12.5} pcbY={25.5} schX={9} schY={22} />
    <pinheader
      name="J_DBG_PROG"
      pinCount={7}
      gender="male"
      pitch="2.54mm"
      footprint="pinrow7_p2.54mm"
      pinLabels={["TEST", "TDO", "TDI", "TMS", "TCK", "RST", "GND"]}
      showSilkscreenPinLabels={true}
      pcbX={-21.5}
      pcbY={20}
      pcbRotation={270}
    />

    {/* Seven removable isolation links, arranged as the LaunchPad 2x7 block */}
    <TwoPinHeaderJumper name="J_ISO_SBW_TST" pcbX={-10.5} />
    <TwoPinHeaderJumper name="J_ISO_SBW_RST" pcbX={-7} />
    <TwoPinHeaderJumper name="J_ISO_UART_RX" pcbX={-3.5} />
    <TwoPinHeaderJumper name="J_ISO_UART_TX" pcbX={0} />
    <TwoPinHeaderJumper name="J_ISO_3V3" pcbX={3.5} />
    <TwoPinHeaderJumper name="J_ISO_5V" pcbX={7} />
    <TwoPinHeaderJumper name="J_ISO_GND" pcbX={10.5} />
    <silkscreentext text="TST RST RX TX 3V3 5V GND" fontSize="0.65mm" pcbX={0} pcbY={9.3} />

    {/* MSP430FR2433 target section */}
    <MSP430FR2433IRGER
      name="U_TARGET"
      pcbX={0}
      pcbY={-13}
      pcbRotation={0}
      pinAttributes={{
        DVCC: { requiresPower: true },
        GND1: { requiresGround: true },
        GND2: { requiresGround: true },
        GND_EP: { requiresGround: true },
      }}
    />
    <capacitor name="C_TARGET_DEC" capacitance="100nF" maxDecouplingTraceLength="15mm" footprint="0402" pcbX={4.5} pcbY={-9.2} />
    <capacitor name="C_TARGET_BULK" capacitance="10uF" maxDecouplingTraceLength="15mm" footprint="0805" pcbX={7.5} pcbY={-9.2} />
    <resistor name="R_TARGET_RST" resistance="47kohm" footprint="0402" pcbX={-6} pcbY={-8.5} />
    <capacitor name="C_TARGET_RST" capacitance="1nF" footprint="0402" pcbX={-8} pcbY={-8.5} />
    <TS342A2P_WZ name="SW_RESET" pcbX={-14} pcbY={-5} />
    <TS342A2P_WZ name="SW1" pcbX={-13} pcbY={-20} />
    <TS342A2P_WZ name="SW2" pcbX={13} pcbY={-20} />

    <SC_32S32_768kHz20PPM12_5pF name="Y_TARGET" pcbX={-9} pcbY={-13} pcbRotation={90} />
    <resistor name="R_XIN" resistance="0ohm" footprint="0402" pcbX={-6} pcbY={-11.5} />
    <resistor name="R_XOUT" resistance="0ohm" footprint="0402" pcbX={-6} pcbY={-14.5} />
    <capacitor name="C_XIN" capacitance="12pF" footprint="0402" pcbX={-8.5} pcbY={-9.5} />
    <capacitor name="C_XOUT" capacitance="12pF" footprint="0402" pcbX={-8.5} pcbY={-16.5} />

    <resistor name="R_LED1_EN" resistance="0ohm" footprint="0603" pcbX={-10} pcbY={-25} />
    <resistor name="R_LED1" resistance="470ohm" footprint="0603" pcbX={-6} pcbY={-25} />
    <led name="LED1" color="red" footprint="0603" pcbX={-2} pcbY={-25} />
    <resistor name="R_LED2_EN" resistance="0ohm" footprint="0603" pcbX={2} pcbY={-25} />
    <resistor name="R_LED2" resistance="390ohm" footprint="0603" pcbX={6} pcbY={-25} />
    <led name="LED2" color="green" footprint="0603" pcbX={10} pcbY={-25} />

    {/* 20-pin BoosterPack-compatible headers */}
    <pinheader
      name="J1"
      pinCount={10}
      gender="female"
      pitch="2.54mm"
      footprint="pinrow10_p2.54mm"
      pinLabels={["V3_3", "A0", "UART_RX", "UART_TX", "GPIO_A6", "GPIO_A7", "SPI_CLK", "GPIO_8", "I2C_SCL", "I2C_SDA"]}
      showSilkscreenPinLabels={true}
      pcbX={-23}
      pcbY={-20}
      pcbRotation={90}
    />
    <pinheader
      name="J2"
      pinCount={10}
      gender="female"
      pitch="2.54mm"
      footprint="pinrow10_p2.54mm"
      pinLabels={["GPIO_11", "SPI_CS0", "SPI_CS1", "SPI_MISO", "SPI_MOSI", "RST", "GPIO_17", "GPIO_18", "PWM", "GND"]}
      showSilkscreenPinLabels={true}
      pcbX={23}
      pcbY={-20}
      pcbRotation={90}
    />

    {/* External power, optional supercapacitor, and bring-up test points */}
    <pinheader
      name="J_EXT_PWR"
      pinCount={3}
      gender="male"
      pitch="2.54mm"
      footprint="pinrow3_p2.54mm"
      pinLabels={["V5", "V3_3", "GND"]}
      showSilkscreenPinLabels={true}
      pcbX={-8}
      pcbY={-34}
    />
    <pinheader
      name="J_SUPERCAP"
      pinCount={3}
      gender="male"
      pitch="2.54mm"
      footprint="pinrow3_p2.54mm"
      pinLabels={["USE", "CAP", "CHARGE"]}
      showSilkscreenPinLabels={true}
      pcbX={7}
      pcbY={-34}
    />
    <resistor name="R_SUPERCAP" resistance="22ohm" footprint="0603" pcbX={3} pcbY={-30.5} />
    <capacitor
      name="C_SUPERCAP"
      capacitance="0.22F"
      manufacturerPartNumber="EEC-S0HD224H"
      doNotPlace={true}
      footprint={
        <footprint>
          <platedhole shape="circle" portHints={["pin1"]} pcbX="-1mm" pcbY="0mm" holeDiameter="0.8mm" outerDiameter="1.6mm" />
          <platedhole shape="circle" portHints={["pin2"]} pcbX="1mm" pcbY="0mm" holeDiameter="0.8mm" outerDiameter="1.6mm" />
          <silkscreencircle pcbX="0mm" pcbY="0mm" radius="3.5mm" />
        </footprint>
      }
      pcbX={14}
      pcbY={-31.5}
    />
    <testpoint name="TP_5V" footprintVariant="pad" padShape="circle" padDiameter="1.2mm" pcbX={-15} pcbY={-30} />
    <testpoint name="TP_3V3" footprintVariant="pad" padShape="circle" padDiameter="1.2mm" pcbX={-12} pcbY={-30} schX={-12} schY={-30} />
    <testpoint name="TP_GND" footprintVariant="pad" padShape="circle" padDiameter="1.2mm" pcbX={-9} pcbY={-30} schX={-9} schY={-30} />
    <testpoint name="TP_RST" footprintVariant="pad" padShape="circle" padDiameter="1.2mm" pcbX={-6} pcbY={-30} />

    {/* USB and debugger power/data nets */}
    <trace from="J_USB.VBUS" to="net.VBUS_USB" thickness="0.3mm" />
    <trace from="J_USB.GND" to="net.GND" thickness="0.3mm" />
    <trace from="J_USB.SH1" to="net.USB_SHIELD" thickness="0.3mm" />
    <trace from="J_USB.SH2" to="net.USB_SHIELD" thickness="0.3mm" />
    <trace from="J_USB.SH3" to="net.USB_SHIELD" thickness="0.3mm" />
    <trace from="J_USB.SH4" to="net.USB_SHIELD" thickness="0.3mm" />
    <trace from="R_SHIELD.pin1" to="net.USB_SHIELD" />
    <trace from="R_SHIELD.pin2" to="net.GND" />
    <trace from="C_SHIELD.pin1" to="net.USB_SHIELD" />
    <trace from="C_SHIELD.pin2" to="net.GND" />
    <trace
      from="J_USB.D_NEG"
      to="U_ESD.DM_CONNECTOR"
      pcbPathRelativeTo="J_USB.D_NEG"
      pcbPath={[
        "J_USB.D_NEG",
        { x: -3.8, y: -0.65 },
        { x: -5.45, y: -2.3 },
        { x: -7.65, y: -2.3 },
        "U_ESD.DM_CONNECTOR",
      ]}
      thickness="0.22mm"
    />
    <trace
      from="J_USB.D_POS"
      to="U_ESD.DP_CONNECTOR"
      pcbPathRelativeTo="J_USB.D_POS"
      pcbPath={[
        "J_USB.D_POS",
        { x: -4.6, y: 0 },
        "U_ESD.DP_CONNECTOR",
      ]}
      thickness="0.22mm"
    />
    <trace
      from="U_ESD.DM_MCU"
      to="R_USB_DM.pin1"
      pcbPathRelativeTo="U_ESD.DM_MCU"
      pcbPath={[
        "U_ESD.DM_MCU",
        { x: -0.95, y: 1.8 },
        { x: -0.95, y: 1.8, via: true, toLayer: "bottom" },
        { x: -0.95, y: 1.8 },
        { x: -10.75, y: 8.1 },
        { x: -10.75, y: 8.1, via: true, fromLayer: "bottom", toLayer: "top" },
        { x: -10.75, y: 8.1 },
        "R_USB_DM.pin1",
      ]}
      thickness="0.22mm"
    />
    <trace
      from="U_ESD.DP_MCU"
      to="R_USB_DP.pin1"
      pcbPathRelativeTo="U_ESD.DP_MCU"
      pcbPath={[
        "U_ESD.DP_MCU",
        { x: 0.95, y: 3 },
        { x: 0.95, y: 3, via: true, toLayer: "bottom" },
        { x: 0.95, y: 3 },
        { x: -9.75, y: 8.1 },
        { x: -9.75, y: 8.1, via: true, fromLayer: "bottom", toLayer: "top" },
        { x: -9.75, y: 8.1 },
        "R_USB_DP.pin1",
      ]}
      thickness="0.22mm"
    />
    <trace
      from="U_ESD.VBUS"
      to="U_LDO.IN"
      pcbPathRelativeTo="U_ESD.VBUS"
      pcbPath={[
        "U_ESD.VBUS",
        { x: 0, y: 3.8 },
        { x: 0, y: 3.8, via: true, toLayer: "inner2" },
        { x: 0, y: 3.8 },
        { x: -3.5, y: 3.8 },
        { x: -3.5, y: 14.5 },
        { x: -2.5, y: 14.5 },
        { x: -2.5, y: 14.5, via: true, fromLayer: "inner2", toLayer: "top" },
        { x: -2.5, y: 14.5 },
        "U_LDO.IN",
      ]}
      thickness="0.3mm"
    />
    <trace from="U_ESD.GND" to="net.GND" />
    <trace from="R_USB_DM.pin2" to="U_DBG.USB_DM" thickness="0.22mm" pcbStraightLine />
    <trace
      from="R_USB_DP.pin2"
      to="U_DBG.USB_DP"
      pcbPathRelativeTo="R_USB_DP.pin2"
      pcbPath={[
        "R_USB_DP.pin2",
        { x: 1, y: 0 },
        { x: 1, y: 0, via: true, toLayer: "inner2" },
        { x: 1, y: 0 },
        { x: 1.7, y: 0 },
        { x: 1.7, y: 0, via: true, fromLayer: "inner2", toLayer: "top" },
        { x: 1.7, y: 0 },
        "U_DBG.USB_DP",
      ]}
      thickness="0.22mm"
    />
    <trace
      from="U_DBG.PUR"
      to="R_USB_PUR.pin1"
      pcbPathRelativeTo="U_DBG.PUR"
      pcbPath={[
        "U_DBG.PUR",
        { x: -5.2, y: 2.75 },
        { x: -5.2, y: 2.75, via: true, toLayer: "inner1" },
        { x: -5.2, y: 2.75 },
        { x: -6.5, y: 2.75 },
        { x: -6.5, y: 6 },
        { x: -10.49, y: 6 },
        { x: -10.49, y: 3.2 },
        { x: -10.49, y: 3.2, via: true, fromLayer: "inner1", toLayer: "bottom" },
        { x: -10.49, y: 3.2 },
        "R_USB_PUR.pin1",
      ]}
    />
    <trace from="R_USB_PUR.pin2" to="net.EZ_3V3" />
    <trace
      from="U_DBG.VBUS"
      to="R_DBG_VBUS_LINK.pin1"
      pcbPathRelativeTo="U_DBG.VBUS"
      pcbPath={[
        "U_DBG.VBUS",
        { x: -6, y: 1.75 },
        { x: -6, y: 1.3 },
        { x: -6, y: 1.3, via: true, toLayer: "bottom" },
        { x: -6, y: 1.3 },
        { x: -6, y: -1.5 },
        "R_DBG_VBUS_LINK.pin1",
      ]}
      thickness="0.3mm"
    />
    <trace from="R_DBG_VBUS_LINK.pin2" to="net.VBUS_USB" thickness="0.3mm" />
    <trace
      from="U_DBG.VUSB"
      to="C_DBG_VUSB.pin1"
      pcbPath={[
        "U_DBG.VUSB",
        { x: -5.15, y: 1.25 },
        { x: -5.15, y: 1.25, via: true, toLayer: "bottom" },
        { x: -5.15, y: 1.25 },
        "C_DBG_VUSB.pin1",
      ]}
      maxLength="3mm"
    />
    <trace from="C_DBG_VUSB.pin2" to="net.GND" />
    <trace
      from="U_DBG.V18"
      to="C_DBG_V18.pin1"
      pcbPath={[
        "U_DBG.V18",
        { x: -5.15, y: 0.75 },
        { x: -5.15, y: 0.75, via: true, toLayer: "bottom" },
        { x: -5.15, y: 0.75 },
        "C_DBG_V18.pin1",
      ]}
      maxLength="3mm"
    />
    <trace from="C_DBG_V18.pin2" to="net.GND" />

    <trace from="U_LDO.IN" to="net.VBUS_USB" thickness="0.3mm" />
    <trace from="U_LDO.EN" to="R_LDO_EN.pin1" />
    <trace from="R_LDO_EN.pin2" to="net.VBUS_USB" />
    <trace from="U_LDO.GND" to="net.GND" thickness="0.3mm" />
    <trace from="U_LDO.OUT" to="net.EZ_3V3" thickness="0.3mm" />
    <trace from="C_LDO_IN.pin1" to="net.VBUS_USB" thickness="0.3mm" />
    <trace from="C_LDO_IN.pin2" to="net.GND" />
    <trace from="C_LDO_OUT.pin1" to="net.EZ_3V3" thickness="0.3mm" />
    <trace from="C_LDO_OUT.pin2" to="net.GND" />
    <trace from="R_LED_PWR.pin1" to="net.EZ_3V3" />
    <trace from="R_LED_PWR.pin2" to="LED_PWR.anode" />
    <trace from="LED_PWR.cathode" to="net.GND" />

    {/* eZ-FET host MCU support */}
    <trace from="U_DBG.AVCC1" to="net.EZ_3V3" thickness="0.3mm" />
    <trace from="U_DBG.DVCC1" to="net.EZ_3V3" thickness="0.3mm" />
    <trace from="U_DBG.DVCC2" to="net.EZ_3V3" thickness="0.3mm" />
    <trace from="U_DBG.AVSS1" to="net.GND" />
    <trace from="U_DBG.DVSS1" to="net.GND" />
    <trace from="U_DBG.DVSS2" to="net.GND" />
    <trace from="U_DBG.AVSS2" to="net.GND" />
    <trace from="U_DBG.VSSU" to="net.GND" />
    <trace from="U_DBG.GND_EP" to="net.GND" thickness="0.3mm" />
    <trace
      from="U_DBG.VCORE"
      to="C_DBG_VCORE.pin1"
      pcbPath={[
        "U_DBG.VCORE",
        { x: 5.15, y: -3.75 },
        { x: 5.15, y: -3.75, via: true, toLayer: "bottom" },
        { x: 5.15, y: -3.75 },
        "C_DBG_VCORE.pin1",
      ]}
      maxLength="3mm"
    />
    <trace from="C_DBG_VCORE.pin2" to="net.GND" />
    <trace from="C_DBG_AVCC.pin1" to="net.EZ_3V3" />
    <trace from="C_DBG_AVCC.pin2" to="net.GND" />
    <trace from="C_DBG_DVCC1.pin1" to="net.EZ_3V3" />
    <trace from="C_DBG_DVCC1.pin2" to="net.GND" />
    <trace from="C_DBG_DVCC2.pin1" to="net.EZ_3V3" />
    <trace from="C_DBG_DVCC2.pin2" to="net.GND" />
    <trace from="C_DBG_BULK.pin1" to="net.EZ_3V3" thickness="0.3mm" />
    <trace from="C_DBG_BULK.pin2" to="net.GND" />
    <trace from="U_DBG.RST" to="net.DBG_RST" />
    <trace from="R_DBG_RST.pin1" to="net.DBG_RST" />
    <trace from="R_DBG_RST.pin2" to="net.EZ_3V3" />
    <trace from="C_DBG_RST.pin1" to="net.DBG_RST" />
    <trace from="C_DBG_RST.pin2" to="net.GND" />
    <trace from="Y_DBG.pin1" to="U_DBG.XT2OUT" />
    <trace from="Y_DBG.pin3" to="U_DBG.XT2IN" />
    <trace from="Y_DBG.pin2" to="net.GND" />
    <trace from="U_DBG.LED0" to="R_DBG_RED.pin1" />
    <trace from="R_DBG_RED.pin2" to="LED_DBG_RED.anode" />
    <trace from="LED_DBG_RED.cathode" to="net.GND" />
    <trace from="U_DBG.LED1" to="R_DBG_GREEN.pin1" />
    <trace from="R_DBG_GREEN.pin2" to="LED_DBG_GREEN.anode" />
    <trace from="LED_DBG_GREEN.cathode" to="net.GND" />
    <trace from="J_DBG_PROG.pin1" to="U_DBG.TEST" />
    <trace from="J_DBG_PROG.pin2" to="U_DBG.TDO" />
    <trace from="J_DBG_PROG.pin3" to="U_DBG.TDI" />
    <trace from="J_DBG_PROG.pin4" to="U_DBG.TMS" />
    <trace from="J_DBG_PROG.pin5" to="U_DBG.TCK" />
    <trace from="J_DBG_PROG.pin6" to="net.DBG_RST" />
    <trace from="J_DBG_PROG.pin7" to="net.GND" />

    {/* Isolation block: install all seven shunts for normal LaunchPad operation */}
    <trace from="U_DBG.TARGET_SBWTCK" to="J_ISO_SBW_TST.HOST" />
    <trace
      from="J_ISO_SBW_TST.TARGET"
      to="U_TARGET.TEST"
      pcbRouteHints={[{ x: -3.2, y: -12.25 }]}
    />
    <trace from="U_DBG.TARGET_SBWTDIO" to="J_ISO_SBW_RST.HOST" />
    <trace from="J_ISO_SBW_RST.TARGET" to="net.TARGET_RST" />
    <trace from="U_DBG.UART_TXD" to="J_ISO_UART_RX.HOST" />
    <trace from="J_ISO_UART_RX.TARGET" to="U_TARGET.UCA0RXD" />
    <trace from="U_DBG.UART_RXD" to="J_ISO_UART_TX.HOST" />
    <trace from="J_ISO_UART_TX.TARGET" to="U_TARGET.UCA0TXD" />
    <trace from="J_ISO_3V3.HOST" to="net.EZ_3V3" thickness="0.3mm" />
    <trace from="J_ISO_3V3.TARGET" to="net.TARGET_3V3" thickness="0.3mm" />
    <trace from="J_ISO_5V.HOST" to="net.VBUS_USB" thickness="0.3mm" />
    <trace from="J_ISO_5V.TARGET" to="net.TARGET_5V" thickness="0.3mm" />
    <trace from="J_ISO_GND.HOST" to="net.GND" thickness="0.3mm" />
    <trace from="J_ISO_GND.TARGET" to="net.GND" thickness="0.3mm" />

    {/* Target MCU power, programming, UART, clock, buttons, and LEDs */}
    <trace from="U_TARGET.DVCC" to="net.TARGET_3V3" thickness="0.3mm" />
    <trace
      from="U_TARGET.GND1"
      to="net.GND"
      pcbPathRelativeTo="U_TARGET.GND1"
      pcbPath={[
        "U_TARGET.GND1",
        { x: -0.75, y: 2.7 },
        { x: -1.9, y: 2.7 },
        { x: -1.9, y: 2.7, via: true, toLayer: "inner1" },
      ]}
      thickness="0.3mm"
    />
    <trace from="U_TARGET.GND2" to="net.GND" />
    <trace from="U_TARGET.GND_EP" to="net.GND" thickness="0.3mm" />
    <trace from="C_TARGET_DEC.pin1" to="net.TARGET_3V3" />
    <trace from="C_TARGET_DEC.pin2" to="net.GND" />
    <trace from="C_TARGET_BULK.pin1" to="net.TARGET_3V3" thickness="0.3mm" />
    <trace from="C_TARGET_BULK.pin2" to="net.GND" />
    <trace from="U_TARGET.RST" to="net.TARGET_RST" />
    <trace from="R_TARGET_RST.pin1" to="net.TARGET_RST" />
    <trace from="R_TARGET_RST.pin2" to="net.TARGET_3V3" />
    <trace from="C_TARGET_RST.pin1" to="net.TARGET_RST" />
    <trace from="C_TARGET_RST.pin2" to="net.GND" />
    <trace from="SW_RESET.pin1" to="net.TARGET_RST" />
    <trace from="SW_RESET.pin2" to="net.GND" />
    <trace from="U_TARGET.P2_3" to="SW1.pin1" />
    <trace from="SW1.pin2" to="net.GND" />
    <trace from="U_TARGET.P2_7" to="SW2.pin1" />
    <trace from="SW2.pin2" to="net.GND" />
    <trace
      from="U_TARGET.XIN"
      to="R_XIN.pin1"
      pcbPathRelativeTo="U_TARGET.XIN"
      pcbPath={[
        "U_TARGET.XIN",
        { x: -0.25, y: 3.2 },
        { x: -6.51, y: 3.2 },
        "R_XIN.pin1",
      ]}
    />
    <trace from="R_XIN.pin2" to="Y_TARGET.pin1" />
    <trace from="Y_TARGET.pin1" to="C_XIN.pin1" />
    <trace from="C_XIN.pin2" to="net.GND" />
    <trace
      from="U_TARGET.XOUT"
      to="R_XOUT.pin1"
      pcbPathRelativeTo="U_TARGET.XOUT"
      pcbPath={[
        "U_TARGET.XOUT",
        { x: 0.25, y: 5.2 },
        { x: -11.5, y: 5.2 },
        { x: -11.5, y: -2.2 },
        { x: -6.51, y: -2.2 },
        "R_XOUT.pin1",
      ]}
    />
    <trace from="R_XOUT.pin2" to="Y_TARGET.pin2" />
    <trace from="Y_TARGET.pin2" to="C_XOUT.pin1" />
    <trace from="C_XOUT.pin2" to="net.GND" />
    <trace from="U_TARGET.P1_0" to="R_LED1_EN.pin1" />
    <trace from="R_LED1_EN.pin2" to="R_LED1.pin1" />
    <trace from="R_LED1.pin2" to="LED1.anode" />
    <trace from="LED1.cathode" to="net.GND" />
    <trace from="U_TARGET.P1_1" to="R_LED2_EN.pin1" />
    <trace from="R_LED2_EN.pin2" to="R_LED2.pin1" />
    <trace from="R_LED2.pin2" to="LED2.anode" />
    <trace from="LED2.cathode" to="net.GND" />

    {/* BoosterPack signal mapping */}
    <trace from="J1.pin1" to="net.TARGET_3V3" thickness="0.3mm" />
    <trace from="J1.pin2" to="U_TARGET.P1_0" />
    <trace
      from="J1.pin3"
      to="U_TARGET.UCA0RXD"
      pcbPathRelativeTo="U_TARGET.UCA0RXD"
      pcbPath={[
        "U_TARGET.UCA0RXD",
        { x: -3, y: -0.25 },
        { x: -3, y: -0.25, via: true, toLayer: "inner2" },
        { x: -3, y: -0.25 },
        { x: -12.3, y: -2.7 },
        "J1.pin3",
      ]}
    />
    <trace from="J1.pin4" to="U_TARGET.UCA0TXD" />
    <trace from="J1.pin5" to="U_TARGET.P1_6" />
    <trace from="J1.pin6" to="U_TARGET.P1_7" />
    <trace from="J1.pin7" to="U_TARGET.P2_4" />
    <trace from="J1.pin8" to="U_TARGET.P3_1" />
    <trace from="J1.pin9" to="U_TARGET.P1_3" />
    <trace from="J1.pin10" to="U_TARGET.P1_2" />
    <trace from="J2.pin1" to="U_TARGET.P3_2" />
    <trace from="J2.pin2" to="U_TARGET.P2_7" />
    <trace from="J2.pin3" to="U_TARGET.P3_0" />
    <trace from="J2.pin4" to="U_TARGET.P2_5" />
    <trace
      from="J2.pin5"
      to="U_TARGET.P2_6"
      pcbRouteHints={[
        { x: 4, y: -12.25 },
        { x: 3, y: -12.25 },
      ]}
    />
    <trace from="J2.pin6" to="net.TARGET_RST" />
    <trace from="J2.pin7" to="U_TARGET.P2_2" />
    <trace from="J2.pin8" to="U_TARGET.P2_3" />
    <trace from="J2.pin9" to="U_TARGET.P1_1" />
    <trace from="J2.pin10" to="net.GND" thickness="0.3mm" />

    {/* External power and optional supercapacitor */}
    <trace from="J_EXT_PWR.pin1" to="net.TARGET_5V" thickness="0.3mm" />
    <trace from="J_EXT_PWR.pin2" to="net.TARGET_3V3" thickness="0.3mm" />
    <trace from="J_EXT_PWR.pin3" to="net.GND" thickness="0.3mm" />
    <trace from="J_SUPERCAP.pin1" to="net.TARGET_3V3" thickness="0.3mm" />
    <trace from="J_SUPERCAP.pin2" to="C_SUPERCAP.pin1" thickness="0.3mm" />
    <trace from="J_SUPERCAP.pin3" to="R_SUPERCAP.pin1" thickness="0.3mm" />
    <trace from="R_SUPERCAP.pin2" to="net.TARGET_3V3" thickness="0.3mm" />
    <trace from="C_SUPERCAP.pin2" to="net.GND" thickness="0.3mm" />
    <trace from="TP_5V.pin1" to="net.TARGET_5V" />
    <trace from="TP_3V3.pin1" to="net.TARGET_3V3" />
    <trace from="TP_GND.pin1" to="net.GND" />
    <trace from="TP_RST.pin1" to="net.TARGET_RST" />

    {/* Continuous return planes on both copper layers */}
    <copperpour name="GND_INNER1" connectsTo="net.GND" layer="inner1" clearance="0.18mm" boardEdgeMargin="0.25mm" />
  </board>
)