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

index.circuit.tsx

PCBPCB preview for index.circuit.tsx
SchematicSchematic preview for index.circuit.tsx
import Receiver from "./circuits/receiver/index.circuit";
import Transmitter from "./circuits/transmitter/index.circuit";
import geometry from "./panel-geometry.json";

export default function RcLinkBreakawayPanel() {
  return <board name="FRAME" width={133} height={76} layers={4} thickness={1.6} minViaHoleDiameter={0.2} minViaPadDiameter={0.4}>
    <Transmitter pcbX={-23.5} pcbY={0}/>
    <Receiver pcbX={36.5} pcbY={-3}/>
    {geometry.slots.map((points, i) => <cutout key={`slot${i}`} shape="polygon" points={points}/>)}
    {geometry.mouseBites.map((p, i) => <hole key={`bite${i}`} pcbX={p.x} pcbY={p.y} diameter={0.6}/>)}
    {geometry.tooling.map((p, i) => <hole key={`tool${i}`} pcbX={p.x} pcbY={p.y} diameter={2}/>)}
    {geometry.fiducials.map((p, i) => <fiducial key={`fid${i}`} name={`PANEL_FID${i+1}`} pcbX={p.x} pcbY={p.y} padDiameter={1} layer="top"/>)}
    {geometry.fiducials.map((p, i) => <pcbsoldermaskopening key={`mask${i}`} pcbX={p.x} pcbY={p.y} shape="circle" radius={1} layer="top"/>)}
    <silkscreentext pcbX={-22} pcbY={35} text="USB TRANSMITTER" fontSize={1.8}/>
    <silkscreentext pcbX={36} pcbY={32} text="RECEIVER" fontSize={1.8}/>
    <silkscreentext pcbX={0} pcbY={-35.5} text="RC LINK V1 / CLIP TABS BEFORE USE / 4 LAYER" fontSize={1.8}/>
  </board>;
}