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/transmitter/imports/E28_2G4M12S.tsx
import type { ChipProps } from "@tscircuit/props"
const pinLabels = {
pin1: ["VCC"],
pin2: ["GND1"],
pin3: ["MISO_TX"],
pin4: ["MOSI_RX"],
pin5: ["SCK_RTSN"],
pin6: ["NSS_CTS"],
pin7: ["GND2"],
pin8: ["GND3"],
pin9: ["NRESET"],
pin10: ["BUSY"],
pin11: ["DIO1"],
pin12: ["DIO2"],
pin13: ["DIO3"],
pin14: ["GND4"]
} as const
const pinAttributes = {
pin1: {requiresPower: true},
pin2: {requiresGround: true},
pin7: {requiresGround: true},
pin8: {requiresGround: true},
pin14: {requiresGround: true}
} as const
export const E28_2G4M12S = (props: ChipProps<typeof pinLabels>) => {
return (
<chip
pinLabels={pinLabels}
pinAttributes={pinAttributes}
supplierPartNumbers={{
"jlcpcb": [
"C411310"
]
}}
manufacturerPartNumber="E28-2G4M12S"
footprint={<footprint>
<courtyardrect pcbY={-5.3} width={17.2} height={24.4}/>
{Array.from({length:14},(_,i)=><smtpad key={i} portHints={["pin"+(i+1)]} shape="rect" width={1.8} height={0.8}
pcbX={i<7?-7.4:7.4} pcbY={i<7?3.81-i*1.27:-3.81+(i-7)*1.27}/>)}
<silkscreenline x1={-7.5} y1={6.5} x2={7.5} y2={6.5} strokeWidth={0.15}/>
<silkscreenline x1={-7.5} y1={-17.5} x2={7.5} y2={-17.5} strokeWidth={0.15}/>
{[-7.5,7.5].flatMap(x=>[
<silkscreenline key={x+"top"} x1={x} y1={4.6} x2={x} y2={6.5} strokeWidth={0.15}/>,
<silkscreenline key={x+"bottom"} x1={x} y1={-17.5} x2={x} y2={-4.6} strokeWidth={0.15}/>
])}
<silkscreenline x1={-7.5} y1={-11.3} x2={7.5} y2={-11.3} strokeWidth={0.15}/>
</footprint>}
cadModel={{
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C411310.obj?uuid=da8b7b87a8ef4e349ddba734384a5252",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C411310.step?uuid=da8b7b87a8ef4e349ddba734384a5252",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 1.8300827000000481, z: 0 },
}}
{...props}
/>
)
}