techmannih/smart-pet-feeder

This code renders a physical PCB with a 1kΩ resistor (R1) and a 1000pF capacitor (C1) connected to R1's pin1 using 0402 footprint components.

Version
0.0.1
License
unset
Stars
0

index.tsx

PCBPCB preview for index.tsx
SchematicSchematic preview for index.tsx
import { TYPE_C_31_M_12 } from "./TYPE_C_31_M_12"
const buzzerSymbol = (
  <symbol>
    <port name="pin1" schX={-0.9} schY={0.35} direction="left" />
    <port name="pin2" schX={-0.9} schY={-0.35} direction="left" />
    <schematicline
      x1={-0.9}
      y1={0.35}
      x2={-0.45}
      y2={0.35}
      strokeWidth={0.05}
    />
    <schematicline
      x1={-0.9}
      y1={-0.35}
      x2={-0.45}
      y2={-0.35}
      strokeWidth={0.05}
    />
    <schematicline
      x1={-0.45}
      y1={-0.52}
      x2={-0.45}
      y2={0.52}
      strokeWidth={0.05}
    />
    <schematicarc
      center={{ x: -0.45, y: 0 }}
      radius={0.5}
      startAngleDegrees={90}
      endAngleDegrees={270}
      strokeWidth={0.05}
    />
  </symbol>
)

export default () => (
  <board width={85} height={50} borderRadius={3.2}>
    <platedhole
      name="H1"
      pcbX={-38.5}
      pcbY={-20.5}
      holeDiameter={3.2}
      outerDiameter={6.6}
      shape="circle"
    />
    <TYPE_C_31_M_12
      name="J3"
      pcbX={-36.5}
      pcbY={-10.5}
      pcbRotation={270}
      schX="3"
      schY="-1"
    />
    <platedhole
      name="H2"
      pcbX={38.5}
      pcbY={-20.5}
      holeDiameter={3.2}
      outerDiameter={6.6}
      shape="circle"
    />
    <platedhole
      name="H3"
      pcbX={-38.5}
      pcbY={20.5}
      holeDiameter={3.2}
      outerDiameter={6.6}
      shape="circle"
    />
    <platedhole
      name="H4"
      pcbX={38.5}
      pcbY={20.5}
      holeDiameter={3.2}
      outerDiameter={6.6}
      shape="circle"
    />

    <resistor
      name="R1"
      resistance="1k"
      footprint="0603"
      pcbX={12}
      pcbY={8}
      schX="-13"
      schY="0"
      schRotation="270deg"
      schSectionName="user buttons"
    />
    <capacitor
      name="C1"
      capacitance="100nF"
      footprint="0603"
      pcbX={15}
      pcbY={8}
      schX="-13"
      schY="-2"
      schRotation="270deg"
      schSectionName="user buttons"
    />
    <pushbutton
      name="SW1"
      pcbX={16}
      pcbY={15}
      pcbRotation={90}
      displayName=""
      schX="-12"
      schY="-1"
      schSectionName="user buttons"
      footprint="kicad:Button_Switch_SMD/SW_SPST_TL3342"
    />

    <capacitor
      name="C2"
      capacitance="100nF"
      footprint="0603"
      pcbX={15}
      pcbY={-21}
      schX="-13"
      schY="-7"
      schRotation="270deg"
      schSectionName="user buttons"
    />
    <capacitor
      name="C3"
      capacitance="100nF"
      footprint="0603"
      pcbX={15}
      pcbY={-8}
      schX="-13"
      schY="-12"
      schRotation="270deg"
      schSectionName="user buttons"
    />
    <resistor
      name="R2"
      resistance="1k"
      footprint="0603"
      pcbX={12}
      pcbY={-21}
      pcbRotation={0}
      schX="-13"
      schY="-5"
      schRotation="270deg"
      schSectionName="user buttons"
    />
    <resistor
      name="R3"
      resistance="1k"
      footprint="0603"
      pcbX={12}
      pcbY={-8}
      schX="-13"
      schY="-10"
      schRotation="270deg"
      schSectionName="user buttons"
    />
    <pushbutton
      name="SW2"
      pcbX={16}
      pcbY={-15.4}
      pcbRotation={90}
      displayName=""
      footprint="kicad:Button_Switch_SMD/SW_SPST_TL3342"
      schX="-12"
      schY="-6"
      schSectionName="user buttons"
    />
    <pushbutton
      name="SW3"
      pcbX={16}
      pcbY={0}
      pcbRotation={90}
      displayName=""
      footprint="kicad:Button_Switch_SMD/SW_SPST_TL3342"
      schX="-12"
      schY="-11"
      schSectionName="user buttons"
    />
    <schematicsection name="user buttons" displayName="User buttons" />
    <chip
      name="U2"
      footprint="dip16_w7.62mm"
      pcbX={24.6}
      pcbY={7}
      pinLabels={{
        pin1: "EN1_2",
        pin2: "1A",
        pin3: "1Y",
        pin4: "GND4",
        pin5: "GND5",
        pin6: "2Y",
        pin7: "2A",
        pin8: "VCC2",
        pin9: "EN3_4",
        pin10: "3A",
        pin11: "3Y",
        pin12: "GND12",
        pin13: "GND13",
        pin14: "4Y",
        pin15: "4A",
        pin16: "VCC1",
      }}
      schX="-5"
      schY="-5"
    />
    <chip
      name="U5"
      footprint="kicad:Package_SO/SSOP-8_3.9x5.05mm_P1.27mm"
      pcbX={-15.7}
      pcbY={-3}
      pinLabels={{
        pin1: "UD+",
        pin2: "UD-",
        pin3: "GND",
        pin4: "N_RTS",
        pin5: "VCC",
        pin6: "TXD",
        pin7: "RXD",
        pin8: "V3",
      }}
      schX="6"
      schY="-5"
    />
    <chip
      name="U3"
      pcbX={-4.5}
      pcbY={-16.6}
      layer="bottom"
      displayName=""
      footprint="kicad:Connector_JST/JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical"
      pinLabels={{
        pin1: "SCL",
        pin2: "SDA",
        pin3: "VCC",
        pin4: "GND",
      }}
      schX="-1"
      schY="4.5"
    />
    <chip
      name="U4"
      pcbX={-15}
      pcbY={11}
      displayName=""
      pcbRotation={90}
      footprint="kicad:Connector_PinHeader_2.54mm/PinHeader_1x04_P2.54mm_Vertical"
      pinLabels={{
        pin1: "GND",
        pin2: "VDD",
        pin3: "SCL",
        pin4: "SDA",
      }}
      schX="2"
      schY="4"
      schRotation="270deg"
    />

    <resistor
      name="R4"
      resistance="4.7k"
      footprint="0603"
      pcbX={-15.8}
      pcbY={16}
      schX="-9"
      schY="-1"
      schRotation="270deg"
    />
    <resistor
      name="R5"
      resistance="4.7k"
      footprint="0603"
      pcbX={-15.8}
      pcbY={14.2}
      schX="-8"
      schY="-1"
      schRotation="270deg"
    />
    <resistor
      name="R6"
      resistance="1k"
      footprint="0603"
      pcbX={1}
      pcbY={-2.5}
      pcbRotation={90}
      schX="-10"
      schY="3.5"
    />
    <resistor
      name="R7"
      resistance="100k"
      footprint="0603"
      pcbX={0}
      pcbY={0}
      pcbRotation={0}
      schX="-8.5"
      schY="2.5"
      schRotation="270deg"
    />
    <resistor
      name="R8"
      resistance="5.1k"
      footprint="0603"
      pcbX={-24.2}
      pcbY={-5.5}
      schX="5"
      schY="-2"
      schRotation="270deg"
    />
    <resistor
      name="R9"
      resistance="5.1k"
      footprint="0603"
      pcbX={-23.2}
      pcbY={-2.5}
      schX="6"
      schY="-2"
      schRotation="270deg"
    />

    <capacitor
      name="C4"
      capacitance="100nF"
      footprint="0603"
      pcbX={27.5}
      pcbY={19.2}
      schX="-6"
      schY="-2"
      schRotation="270deg"
    />
    <capacitor
      name="C5"
      capacitance="1uF"
      footprint="0603"
      pcbX={18.8}
      pcbY={-7}
      pcbRotation={0}
      schX="-4"
      schY="-2"
      schRotation="270deg"
    />
    <capacitor
      name="C6"
      capacitance="100nF"
      footprint="0603"
      pcbX={-23}
      pcbY={11.2}
      pcbRotation={0}
      schX="5"
      schY="4"
      schRotation="270deg"
    />
    <capacitor
      name="C7"
      capacitance="100nF"
      footprint="0603"
      pcbX={-21}
      pcbY={-12.8}
      schX="8"
      schY="-2"
      schRotation="270deg"
    />
    <capacitor
      name="C8"
      capacitance="10uF"
      footprint="0603"
      pcbX={-24.5}
      pcbY={-12.8}
      schX="9"
      schY="-2"
      schRotation="270deg"
    />
    <capacitor
      name="C9"
      capacitance="100nF"
      footprint="0603"
      pcbX={-15.5}
      pcbY={2}
      pcbRotation={0}
      schX="8"
      schY="-5"
      schRotation="270deg"
    />
    <capacitor
      name="C10"
      capacitance="330uF"
      pcbX={24.6}
      pcbY={-11}
      displayName=""
      footprint="kicad:Capacitor_SMD/CP_Elec_6.3x7.7"
      schX="8"
      schY="-13"
      schRotation="270deg"
    />
    <capacitor
      name="C11"
      capacitance="100nF"
      footprint="0603"
      pcbX={-15.5}
      pcbY={-7}
      pcbRotation={0}
      schX="9"
      schY="-5"
      schRotation="270deg"
    />
    <fuse
      name="F1"
      currentRating="500mA"
      voltageRating="32V"
      footprint="1206"
      pcbX={-24.5}
      pcbY={-9}
      pcbRotation={0}
      schX="5"
      schY="0"
    />
    <pinheader
      name="J1"
      pinCount={4}
      footprint="pinrow4_p2.5mm"
      pcbRotation={90}
      pcbX={38.5}
      pcbY={0}
      layer="bottom"
      displayName=""
      pinLabels={["L2B", "L2A", "L1B", "L1A"]}
      schX="0"
      schY="-5"
    />
    <pinheader
      name="J2"
      pinCount={4}
      footprint="kicad:Connector_JST/JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical"
      pcbX={-18}
      pcbY={-16.7}
      layer="bottom"
      displayName=""
      pinLabels={["GND", "D-", "D+", "VUSB"]}
      schX="0"
      schY="-8"
    />
    <pinheader
      name="J4"
      pinCount={2}
      footprint="kicad:Connector_JST/JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical"
      pcbX={25.7}
      pcbY={-19.4}
      layer="bottom"
      displayName=""
      pinLabels={["GND", "VCC"]}
      schX="6"
      schY="-13"
    />

    <pushbutton
      name="SW4"
      pcbX={-37}
      pcbY={12}
      displayName=""
      footprint="kicad:Button_Switch_SMD/SW_Tactile_SPST_NO_Straight_CK_PTS636Sx25SMTRLFS"
      schX="6"
      schY="4"
      schRotation="270deg"
    />
    <pushbutton
      name="SW5"
      pcbX={-37}
      pcbY={0}
      displayName=""
      footprint="kicad:Button_Switch_SMD/SW_Tactile_SPST_NO_Straight_CK_PTS636Sx25SMTRLFS"
      kicadFootprintMetadata={{
        footprintName:
          "Button_Switch_SMD:SW_Tactile_SPST_NO_Straight_CK_PTS636SX25SMTR_LFS",
        generator: "tscircuit",
        layer: "F.Cu",
        attributes: {
          smd: true,
        },
      }}
      schX="7"
      schY="4"
      schRotation="270deg"
    />
    <chip
      name="BZ1"
      pcbX={2.8}
      pcbY={11}
      displayName=""
      footprint="kicad:Buzzer_Beeper/MagneticBuzzer_PUI_AT-0927-TT-6-R"
      symbol={buzzerSymbol}
      pinLabels={{
        pin1: "BZ+",
        pin2: "BZ-",
      }}
      schX="-6"
      schY="5"
    />
    <transistor
      name="Q1"
      type="npn"
      pcbX={1.2}
      pcbY={3}
      displayName=""
      footprint="kicad:Package_TO_SOT_THT/TO-92_Inline"
      schX="-7.5"
      schY="3.5"
      schRotation="270deg"
    />

    <solderjumper
      name="SJ1"
      footprint="solderjumper3"
      pinCount={3}
      pcbX={38.5}
      pcbY={-14}
      pcbRotation={90}
    />

    {/* <trace from=".R1 > .pin1" to="net.V3_3" />
    <trace from=".R1 > .pin2" to="net.BUTTON_PLUS" />
    <trace from=".C1 > .pin1" to="net.BUTTON_PLUS" />
    <trace from=".C1 > .pin2" to="net.GND" />
    <trace from=".SW1 > .pin1" to="net.BUTTON_PLUS" />
    <trace from=".SW1 > .pin2" to="net.GND" />

    <trace from=".R2 > .pin1" to="net.V3_3" />
    <trace from=".R2 > .pin2" to="net.BUTTON_MINUS" />
    <trace from=".C2 > .pin1" to="net.BUTTON_MINUS" />
    <trace from=".C2 > .pin2" to="net.GND" />
    <trace from=".SW2 > .pin1" to="net.BUTTON_MINUS" />
    <trace from=".SW2 > .pin2" to="net.GND" />

    <trace from=".R3 > .pin1" to="net.V3_3" />
    <trace from=".R3 > .pin2" to="net.BUTTON_OK" />
    <trace from=".C3 > .pin1" to="net.BUTTON_OK" />
    <trace from=".C3 > .pin2" to="net.GND" />
    <trace from=".SW3 > .pin1" to="net.BUTTON_OK" />
    <trace from=".SW3 > .pin2" to="net.GND" />

    <trace from=".R4 > .pin1" to="net.V3_3" />
    <trace from=".R4 > .pin2" to="net.SCL" />
    <trace from=".R5 > .pin1" to="net.V3_3" />
    <trace from=".R5 > .pin2" to="net.SDA" />
    <trace from=".U3 > .pin1" to="net.SCL" />
    <trace from=".U3 > .pin2" to="net.SDA" />
    <trace from=".U3 > .pin3" to="net.V3_3" />
    <trace from=".U3 > .pin4" to="net.GND" />
    <trace from=".U4 > .pin1" to="net.GND" />
    <trace from=".U4 > .pin2" to="net.V3_3" />
    <trace from=".U4 > .pin3" to="net.SCL" />
    <trace from=".U4 > .pin4" to="net.SDA" />

    <trace from=".R6 > .pin1" to="net.BUZZER" />
    <trace from=".R6 > .pin2" to="net.BUZZER_BASE" />
    <trace from=".R7 > .pin1" to="net.BUZZER_BASE" />
    <trace from=".R7 > .pin2" to="net.GND" />
    <trace from=".Q1 > .pin1" to="net.GND" />
    <trace from=".Q1 > .pin2" to="net.BUZZER_BASE" />
    <trace from=".Q1 > .pin3" to="net.BUZZER_NEG" />
    <trace from=".BZ1 > .pin1" to="net.V5" />
    <trace from=".BZ1 > .pin2" to="net.BUZZER_NEG" />

    <trace from=".U2 > .pin16" to="net.V5" />
    <trace from=".U2 > .pin8" to="net.VCC" />
    <trace from=".U2 > .pin4" to="net.GND" />
    <trace from=".U2 > .pin5" to="net.GND" />
    <trace from=".U2 > .pin12" to="net.GND" />
    <trace from=".U2 > .pin13" to="net.GND" />
    <trace from=".U2 > .pin1" to="net.EN" />
    <trace from=".U2 > .pin9" to="net.EN" />
    <trace from=".U2 > .pin2" to="net.MOTOR_0" />
    <trace from=".U2 > .pin7" to="net.MOTOR_1" />
    <trace from=".U2 > .pin10" to="net.MOTOR_2" />
    <trace from=".U2 > .pin15" to="net.MOTOR_3" />
    <trace from=".U2 > .pin3" to="net.L1A" />
    <trace from=".U2 > .pin6" to="net.L1B" />
    <trace from=".U2 > .pin11" to="net.L2A" />
    <trace from=".U2 > .pin14" to="net.L2B" />
    <trace from=".J1 > .pin4" to="net.L1A" />
    <trace from=".J1 > .pin3" to="net.L1B" />
    <trace from=".J1 > .pin2" to="net.L2A" />
    <trace from=".J1 > .pin1" to="net.L2B" />
    <trace from=".C4 > .pin1" to="net.V5" />
    <trace from=".C4 > .pin2" to="net.GND" />
    <trace from=".C5 > .pin1" to="net.VCC" />
    <trace from=".C5 > .pin2" to="net.GND" />

    <trace from=".J2 > .pin4" to="net.VUSB" />
    <trace from=".J2 > .pin3" to="net.D_PLUS" />
    <trace from=".J2 > .pin2" to="net.D_MINUS" />
    <trace from=".J2 > .pin1" to="net.GND" />
    <trace from=".F1 > .pin1" to="net.VUSB" />
    <trace from=".F1 > .pin2" to="net.V5" />
    <trace from=".C7 > .pin1" to="net.V5" />
    <trace from=".C7 > .pin2" to="net.GND" />
    <trace from=".C8 > .pin1" to="net.V5" />
    <trace from=".C8 > .pin2" to="net.GND" />
    <trace from=".R8 > .pin1" to="net.CC1" />
    <trace from=".R8 > .pin2" to="net.GND" />
    <trace from=".R9 > .pin1" to="net.CC2" />
    <trace from=".R9 > .pin2" to="net.GND" />
    <trace from=".U5 > .pin1" to="net.D_PLUS" />
    <trace from=".U5 > .pin2" to="net.D_MINUS" />
    <trace from=".U5 > .pin3" to="net.GND" />
    <trace from=".U5 > .pin5" to="net.V3_3" />
    <trace from=".U5 > .pin8" to="net.V3_3" />
    <trace from=".U5 > .pin7" to="net.PA2_TX2" />
    <trace from=".U5 > .pin6" to="net.PA3_RX2" />
    <trace from=".C9 > .pin1" to="net.V3_3" />
    <trace from=".C9 > .pin2" to="net.GND" />
    <trace from=".C11 > .pin1" to="net.V3_3" />
    <trace from=".C11 > .pin2" to="net.GND" />

    <trace from=".C6 > .pin1" to="net.RESET" />
    <trace from=".C6 > .pin2" to="net.GND" />
    <trace from=".SW4 > .pin1" to="net.RESET" />
    <trace from=".SW4 > .pin2" to="net.GND" />
    <trace from=".SW5 > .pin1" to="net.V3_3" />
    <trace from=".SW5 > .pin2" to="net.BOOT0" />

    <trace from=".J4 > .pin1" to="net.GND" />
    <trace from=".J4 > .pin2" to="net.VCC" />
    <trace from=".C10 > .pin1" to="net.VCC" />
    <trace from=".C10 > .pin2" to="net.GND" />  */}
  </board>
)