tscircuit/sparkfun-boards
This code defines a detailed PCB schematic and physical footprint layout for various embedded hardware modules, mapping electrical pins, mechanical mounting holes, and silk-screen annotations for manufacturing and assembly.
- Version
- 0.0.32
- License
- unset
- Stars
- 3
boards/SparkFun-Transceiver-Breakout-MAX3232/SparkFun-Transceiver-Breakout-MAX3232.circuit.tsx
import manualEdits from "./manual-edits.json"
import { JP } from "./JP"
import { MAX3232ESE_UMW } from "./MAX3232ESE_UMW"
import { sel } from "tscircuit"
const selectors = {
U1: sel.U1(MAX3232ESE_UMW),
JP2: sel.JP2(JP),
}
export default () => (
<board
width="25.5mm"
height="15mm"
autorouter="auto-cloud"
manualEdits={manualEdits}
>
<capacitor
capacitance="0.1uF"
footprint="cap0603"
name="C1"
pcbX={4.518}
pcbY={6.35}
schRotation={-90}
pcbRotation={180}
supplierPartNumbers={{
jlcpcb: ["C577419"],
}}
/>
<capacitor
capacitance="0.1uF"
footprint="cap0603"
name="C2"
pcbX={0}
pcbY={6.35}
schRotation={-90}
pcbRotation={180}
supplierPartNumbers={{
jlcpcb: ["C577419"],
}}
/>
<capacitor
capacitance="0.1uF"
footprint="cap0603"
name="C3"
pcbY={2.388}
schRotation={-90}
pcbX={7.955}
supplierPartNumbers={{
jlcpcb: ["C577419"],
}}
connections={{ pin1: sel.net().V_P, pin2: sel.net().GND }}
pcbRotation={90}
/>
<capacitor
capacitance="0.1uF"
footprint="cap0603"
name="C4"
pcbX={-4.594}
schRotation={-90}
pcbY={6.35}
supplierPartNumbers={{
jlcpcb: ["C577419"],
}}
connections={{ pin1: sel.net().V_N, pin2: sel.net().GND }}
pcbRotation={180}
/>
<capacitor
capacitance="0.1uF"
footprint="cap0603"
name="C5"
schRotation={-90}
pcbX={7.955}
pcbY={-1.331}
supplierPartNumbers={{
jlcpcb: ["C577419"],
}}
connections={{ pin1: sel.net().VCC, pin2: sel.net().GND }}
pcbRotation={90}
/>
<MAX3232ESE_UMW
name="U1"
pcbRotation={180}
connections={{
C1_P: sel.C1.pin1,
C1_N: sel.C1.pin2,
C2_P: sel.C2.pin1,
C2_N: sel.C2.pin2,
T1IN: sel.net().T1IN,
T2IN: sel.net().T2IN,
T1OUT: sel.net().T1OUT,
T2OUT: sel.net().T2OUT,
R1OUT: sel.net().R1OUT,
R2OUT: sel.net().R2OUT,
R1IN: sel.net().R1IN,
R2IN: sel.net().R2IN,
V_P: sel.net().V_P,
V_N: sel.net().V_N,
GND: sel.net().GND,
VCC: sel.net().VCC,
}}
/>
<JP
name="JP2"
pcbRotation={180}
connections={{
T1IN: sel.net().T1IN,
T2IN: sel.net().T2IN,
T1OUT: sel.net().T1OUT,
T2OUT: sel.net().T2OUT,
R1OUT: sel.net().R1OUT,
R2OUT: sel.net().R2OUT,
R1IN: sel.net().R1IN,
R2IN: sel.net().R2IN,
}}
/>
<schematicbox
strokeStyle="dashed"
overlay={[".U1 .pin14", ".U1 .pin7", ".U1 .pin13", ".U1 .pin8"]}
schX={0.61}
schY={-0.2}
padding={0.4}
title={"RS-232"}
titleAlignment="bottom_center"
titleInside
/>
<schematicbox
strokeStyle="dashed"
overlay={[".U1 .pin11", ".U1 .pin10", ".U1 .pin12", ".U1 .pin9"]}
schX={-0.6}
schY={-0.2}
padding={0.4}
title={"TTL/CMOS"}
titleAlignment="bottom_center"
titleInside
/>
<netlabel
schX={-8}
schY={0.3}
anchorSide="bottom"
net="VCC"
connectsTo={[selectors.JP2.VCC, sel.net().VCC!]}
/>
<netlabel
schX={-8}
schY={-0.3}
anchorSide="top"
net="GND"
connectsTo={[selectors.JP2.GND, sel.net().GND!]}
/>
</board>
)