mohan-bee/rc-link-breakaway-panel

A four-layer RC link panel combining an STM32/E28 2.4‑GHz transmitter with USB-RP2040 socket and an STM32/E28 receiver providing six buffered PWM servo outputs, regulated 3.3‑V power, headers, controls, and protection/decoupling.

Version
0.1.5
License
unset
Stars
0

circuits/receiver/imports/STM32G431KBU6.tsx

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

const pinLabels = {
  pin1: ["VDD1"],
  pin2: ["PF0_OSC_IN"],
  pin3: ["PF1_OSC_OUT"],
  pin4: ["PG10_NRST"],
  pin5: ["PA0"],
  pin6: ["PA1"],
  pin7: ["PA2"],
  pin8: ["PA3"],
  pin9: ["PA4"],
  pin10: ["PA5"],
  pin11: ["PA6"],
  pin12: ["PA7"],
  pin13: ["PB0"],
  pin14: ["VSSA"],
  pin15: ["VDDA"],
  pin16: ["VSS1"],
  pin17: ["VDD2"],
  pin18: ["PA8"],
  pin19: ["PA9"],
  pin20: ["PA10"],
  pin21: ["PA11"],
  pin22: ["PA12"],
  pin23: ["PA13"],
  pin24: ["PA14"],
  pin25: ["PA15"],
  pin26: ["PB3"],
  pin27: ["PB4"],
  pin28: ["PB5"],
  pin29: ["PB6"],
  pin30: ["PB7"],
  pin31: ["PB8_BOOT0"],
  pin32: ["VSS2"],
  pin33: ["EP"]
} as const

const pinAttributes = {
  pin1: {requiresPower: true},
  pin15: {requiresPower: true},
  pin16: {requiresGround: true},
  pin17: {requiresPower: true},
  pin32: {requiresGround: true}
} as const

export const STM32G431KBU6 = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      pinAttributes={pinAttributes}
      supplierPartNumbers={{
  "jlcpcb": [
    "C529358"
  ]
}}
      manufacturerPartNumber="STM32G431KBU6"
      footprint={<footprint>
        <smtpad portHints={["pin33"]} pcbX="0mm" pcbY="0mm" width="3.6999926mm" height="3.6999926mm" shape="rect" solderPasteMargin={-2} />
        {[-0.85, 0.85].flatMap(x => [-0.85, 0.85].map(y =>
          <solderpaste key={`${x},${y}`} shape="rect" pcbX={x} pcbY={y} width={1.5} height={1.5} layer="top" />
        ))}
<smtpad portHints={["pin1"]} pcbX="-1.75006mm" pcbY="-2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin2"]} pcbX="-1.250061mm" pcbY="-2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin3"]} pcbX="-0.750062mm" pcbY="-2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin4"]} pcbX="-0.250063mm" pcbY="-2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin5"]} pcbX="0.249936mm" pcbY="-2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin6"]} pcbX="0.749935mm" pcbY="-2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin7"]} pcbX="1.249934mm" pcbY="-2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin8"]} pcbX="1.749933mm" pcbY="-2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin9"]} pcbX="2.55016mm" pcbY="-1.75006mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin10"]} pcbX="2.55016mm" pcbY="-1.250061mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin11"]} pcbX="2.55016mm" pcbY="-0.750062mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin12"]} pcbX="2.55016mm" pcbY="-0.250063mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin13"]} pcbX="2.55016mm" pcbY="0.249936mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin14"]} pcbX="2.55016mm" pcbY="0.749935mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin15"]} pcbX="2.55016mm" pcbY="1.249934mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin16"]} pcbX="2.55016mm" pcbY="1.749933mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin17"]} pcbX="1.75006mm" pcbY="2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin18"]} pcbX="1.250061mm" pcbY="2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin19"]} pcbX="0.750062mm" pcbY="2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin20"]} pcbX="0.250063mm" pcbY="2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin21"]} pcbX="-0.249936mm" pcbY="2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin22"]} pcbX="-0.749935mm" pcbY="2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin23"]} pcbX="-1.249934mm" pcbY="2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin24"]} pcbX="-1.749933mm" pcbY="2.55016mm" width="0.2800096mm" height="0.8999982mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin25"]} pcbX="-2.55016mm" pcbY="1.75006mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin26"]} pcbX="-2.55016mm" pcbY="1.250061mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin27"]} pcbX="-2.55016mm" pcbY="0.750062mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin28"]} pcbX="-2.55016mm" pcbY="0.250063mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin29"]} pcbX="-2.55016mm" pcbY="-0.249936mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin30"]} pcbX="-2.55016mm" pcbY="-0.749935mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin31"]} pcbX="-2.55016mm" pcbY="-1.249934mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<smtpad portHints={["pin32"]} pcbX="-2.55016mm" pcbY="-1.749933mm" width="0.8999982mm" height="0.2800096mm" radius="0.1400048mm" shape="pill" />
<silkscreenpath strokeWidth={0.15} route={[{"x":2.2948138000000142,"y":-2.6999437999999927},{"x":2.6999438,"y":-2.6999437999999927},{"x":2.6999438,"y":-2.2948138}]} />
<silkscreenpath strokeWidth={0.15} route={[{"x":-2.2949661999999975,"y":-2.6999437999999927},{"x":-2.70009619999999,"y":-2.6999437999999927},{"x":-2.70009619999999,"y":-2.2948138}]} />
<silkscreenpath strokeWidth={0.15} route={[{"x":2.6999438,"y":2.2949662000000046},{"x":2.6999438,"y":2.7000962000000044},{"x":2.2948138000000142,"y":2.7000962000000044}]} />
<silkscreenpath strokeWidth={0.15} route={[{"x":-2.70009619999999,"y":2.2949662000000046},{"x":-2.70009619999999,"y":2.7000962000000044},{"x":-2.2949661999999975,"y":2.7000962000000044}]} />
<silkscreenpath strokeWidth={0.15} route={[{"x":-2.5279603999999836,"y":-3.0504637999999957},{"x":-2.6767014559976587,"y":-3.201105829703927},{"x":-2.5266903999999926,"y":-3.350483224014738},{"x":-2.3766793440023264,"y":-3.201105829703927},{"x":-2.5254203999999945,"y":-3.0504637999999957}]} />
<silkscreentext text="{NAME}" pcbX="-0.00889mm" pcbY="4.00609mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-3.2501590999999976,"y":3.2501591000000047},{"x":3.2501591000000047,"y":3.2501591000000047},{"x":3.2501591000000047,"y":-3.2501590999999976},{"x":-3.2501590999999976,"y":-3.2501590999999976},{"x":-3.2501590999999976,"y":3.2501591000000047}]} />
      </footprint>}
      cadModel={{
        objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C529358.obj?uuid=8a7d237d7117497aaf0aad1cd719e673",
        stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C529358.step?uuid=8a7d237d7117497aaf0aad1cd719e673",
        pcbRotationOffset: 90,
        modelOriginPosition: { x: -0.00007620000000940763, y: -0.00007619999999519678, z: 0 },
      }}
      {...props}
    />
  )
}