bob/radio
This design implements a compact electronic device with USB input and power protection, battery charging, multiple power regulation rails, a microcontroller, radio and audio modules, user interface controls, and indicator components.
- Version
- 0.0.1
- License
- unset
- Stars
- 0
index.tsx
PCB
Schematic
export default () => (
<board width="200mm" height="200mm">
{/* ====================================================================== */}
{/* SHEET 1: USB INPUT & POWER PROTECTION (Y = 0 band) */}
{/* ====================================================================== */}
<group name="USB_INPUT" schX={0} schY={0}>
{/* USB-C Connector (J1) */}
<chip
name="J1"
footprint="soic16"
schX={0} schY={0}
pinLabels={{ pin1: "VBUS", pin2: "CC1", pin3: "DP1", pin4: "DN1", pin5: "CC2", pin6: "GND" }}
/>
{/* Polyfuse (F1) - 2A resettable */}
<resistor name="F1" resistance="0" footprint="1206" schX={5} schY={0} />
{/* TVS Diode (D1) - SMF5.0A */}
<diode name="D1" footprint="1206" schX={9} schY={0} />
{/* USB-C CC Resistors */}
<resistor name="R1" resistance="5.1k" footprint="0603" schX={3} schY={4} />
<resistor name="R2" resistance="5.1k" footprint="0603" schX={7} schY={4} />
{/* USB Input Bypass Capacitors */}
<capacitor name="C1" capacitance="10uF" footprint="0805" schX={12} schY={3} />
<capacitor name="C2" capacitance="10uF" footprint="0805" schX={16} schY={3} />
{/* ESD Protection Array (U2) */}
<chip
name="U2"
footprint="soic10"
schX={20} schY={0}
pinLabels={{ pin1: "IO1", pin2: "IO2", pin3: "IO3", pin4: "IO4", pin5: "GND",
pin6: "NC1", pin7: "NC2", pin8: "NC3", pin9: "NC4", pin10: "NC5" }}
/>
{/* CP2102N USB-UART Bridge (U1) */}
<chip
name="U1"
footprint="qfn28"
schX={28} schY={0}
pinLabels={{ pin1: "VDD", pin2: "GND", pin3: "TXD", pin4: "RXD", pin5: "DTR", pin6: "RTS" }}
/>
{/* CP2102N Decoupling */}
<capacitor name="C3" capacitance="100nF" footprint="0603" schX={25} schY={-4} />
<capacitor name="C4" capacitance="100nF" footprint="0603" schX={29} schY={-4} />
<capacitor name="C5" capacitance="100nF" footprint="0603" schX={33} schY={-4} />
{/* Auto-Program Transistors */}
<transistor name="Q1" type="npn" footprint="sot23" schX={36} schY={0} />
<transistor name="Q2" type="npn" footprint="sot23" schX={42} schY={0} />
{/* Auto-Program Resistors */}
<resistor name="R3" resistance="10k" footprint="0603" schX={36} schY={5} />
<resistor name="R4" resistance="10k" footprint="0603" schX={40} schY={5} />
<resistor name="R5" resistance="10k" footprint="0603" schX={42} schY={5} />
<resistor name="R6" resistance="10k" footprint="0603" schX={46} schY={5} />
</group>
{/* ====================================================================== */}
{/* SHEET 2: BATTERY CHARGING (Y = 25 band) */}
{/* ====================================================================== */}
<group name="BATTERY" schX={0} schY={25}>
{/* Battery Connector (J2) */}
<chip name="J2" footprint="pinrow2" schX={0} schY={0}
pinLabels={{ pin1: "VBAT", pin2: "GND" }} />
{/* TP4056 Charger (U3) */}
<chip
name="U3"
footprint="soic8"
schX={10} schY={0}
pinLabels={{ pin1: "CHRG", pin2: "GND", pin3: "BAT", pin4: "VCC",
pin5: "PROG", pin6: "CE", pin7: "STBY", pin8: "TE" }}
/>
{/* TP4056 Bypass Capacitors */}
<capacitor name="C7" capacitance="10uF" footprint="0805" schX={7} schY={-4} />
<capacitor name="C8" capacitance="10uF" footprint="0805" schX={11} schY={-4} />
<capacitor name="C9" capacitance="100nF" footprint="0603" schX={15} schY={-4} />
{/* Charge Current Resistor - CRITICAL: 1.2kΩ for 1.0A */}
<resistor name="R7" resistance="1.2k" footprint="0603" schX={10} schY={5} />
{/* TPS25942A eFuse (U4) */}
<chip
name="U4"
footprint="qfn20"
schX={25} schY={0}
pinLabels={{ pin1: "IN", pin2: "OUT", pin3: "EN", pin4: "FLT", pin5: "GND" }}
/>
{/* eFuse Bypass */}
<capacitor name="C10" capacitance="10uF" footprint="0805" schX={22} schY={-4} />
<capacitor name="C11" capacitance="10uF" footprint="0805" schX={28} schY={-4} />
{/* eFuse Control */}
<resistor name="R8" resistance="100k" footprint="0603" schX={25} schY={5} />
</group>
{/* ====================================================================== */}
{/* SHEET 3: POWER RAILS (Y = 50 band) */}
{/* ====================================================================== */}
<group name="POWER_5V" schX={0} schY={50}>
{/* TPS61023 5V Boost (U5) */}
<chip
name="U5"
footprint="sot236"
schX={0} schY={0}
pinLabels={{ pin1: "VIN", pin2: "GND", pin3: "EN", pin4: "SW", pin5: "VOUT", pin6: "FB" }}
/>
<capacitor name="C12" capacitance="22uF" footprint="0805" schX={-4} schY={-4} />
<inductor name="L1" inductance="1uH" footprint="1210" schX={5} schY={0} />
<capacitor name="C13" capacitance="22uF" footprint="0805" schX={9} schY={-4} />
<capacitor name="C14" capacitance="22uF" footprint="0805" schX={13} schY={-4} />
{/* Feedback Divider - CRITICAL: 2.21MΩ / 249kΩ sets 5V output */}
<resistor name="R9" resistance="2.21M" footprint="0603" schX={10} schY={4} />
<resistor name="R10" resistance="249k" footprint="0603" schX={14} schY={4} />
</group>
<group name="POWER_3V3" schX={25} schY={50}>
<chip
name="U6"
footprint="sot235"
schX={0} schY={0}
pinLabels={{ pin1: "VIN", pin2: "GND", pin3: "EN", pin4: "NC", pin5: "VOUT" }}
/>
<capacitor name="C15" capacitance="1uF" footprint="0603" schX={-4} schY={-4} />
<capacitor name="C16" capacitance="1uF" footprint="0603" schX={0} schY={-4} />
<capacitor name="C17" capacitance="10uF" footprint="0805" schX={4} schY={-4} />
</group>
<group name="POWER_RADIO_LDO" schX={0} schY={65}>
<chip
name="U7"
footprint="sot235"
schX={0} schY={0}
pinLabels={{ pin1: "VIN", pin2: "GND", pin3: "EN", pin4: "NC", pin5: "VOUT" }}
/>
<capacitor name="C18" capacitance="1uF" footprint="0603" schX={-4} schY={-4} />
<capacitor name="C19" capacitance="1uF" footprint="0603" schX={0} schY={-4} />
</group>
<group name="FUEL_GAUGE" schX={20} schY={65}>
<chip
name="U8"
footprint="soic8"
schX={0} schY={0}
pinLabels={{ pin1: "CTG", pin2: "CELL", pin3: "VDD", pin4: "GND",
pin5: "SDA", pin6: "SCL", pin7: "ALRT", pin8: "QSTRT" }}
/>
<capacitor name="C20" capacitance="100nF" footprint="0603" schX={0} schY={-5} />
</group>
{/* ====================================================================== */}
{/* SHEET 4: MCU (Y = 85 band) */}
{/* ====================================================================== */}
<group name="MCU" schX={0} schY={85}>
<chip
name="U9"
footprint="qfn38"
schX={0} schY={0}
pinLabels={{
pin1: "GND1", pin2: "3V3", pin3: "EN", pin4: "IO36", pin5: "IO39",
pin6: "IO34", pin7: "IO35", pin8: "IO32", pin9: "IO33", pin10: "IO25",
pin11: "IO26", pin12: "IO27", pin13: "IO14", pin14: "IO12", pin15: "GND2",
pin16: "IO13", pin17: "IO9", pin18: "IO10", pin19: "IO11", pin20: "IO6",
pin21: "IO7", pin22: "IO8", pin23: "IO15", pin24: "IO2", pin25: "IO0",
pin26: "IO4", pin27: "IO16", pin28: "IO17", pin29: "IO5", pin30: "IO18",
pin31: "IO23", pin32: "IO19", pin33: "GND3", pin34: "IO21", pin35: "RXD0",
pin36: "TXD0", pin37: "IO22", pin38: "GND4"
}}
/>
<capacitor name="C25" capacitance="100nF" footprint="0603" schX={-8} schY={-5} />
<capacitor name="C26" capacitance="100nF" footprint="0603" schX={-4} schY={-5} />
<capacitor name="C27" capacitance="100nF" footprint="0603" schX={4} schY={-5} />
<capacitor name="C28" capacitance="100nF" footprint="0603" schX={8} schY={-5} />
<capacitor name="C29" capacitance="10uF" footprint="0805" schX={-6} schY={-8} />
<capacitor name="C30" capacitance="10uF" footprint="0805" schX={6} schY={-8} />
<resistor name="R13" resistance="10k" footprint="0603" schX={-8} schY={5} />
<capacitor name="C6" capacitance="1uF" footprint="0603" schX={-4} schY={5} />
<resistor name="R14" resistance="10k" footprint="0603" schX={0} schY={8} />
<pushbutton name="SW1" schX={-6} schY={8} />
<pushbutton name="SW2" schX={6} schY={8} />
</group>
{/* ====================================================================== */}
{/* SHEET 5: SI4732 RADIO (Y = 110 band) */}
{/* ====================================================================== */}
<group name="RADIO" schX={0} schY={110}>
<chip
name="U10"
footprint="soic16"
schX={0} schY={0}
pinLabels={{
pin1: "DOUT", pin2: "SDA", pin3: "SCL", pin4: "GPO1",
pin5: "GPO2", pin6: "VD", pin7: "VA", pin8: "GND",
pin9: "RCLK", pin10: "DCLK", pin11: "FMI", pin12: "RFGND",
pin13: "AMI", pin14: "RST", pin15: "SEN", pin16: "VIO"
}}
/>
<capacitor name="C31" capacitance="1nF" footprint="0603" schX={-8} schY={-5} />
<capacitor name="C32" capacitance="100nF" footprint="0603" schX={-4} schY={-5} />
<capacitor name="C33" capacitance="100nF" footprint="0603" schX={0} schY={-5} />
<capacitor name="C34" capacitance="100nF" footprint="0603" schX={4} schY={-5} />
<resistor name="R17" resistance="10k" footprint="0603" schX={8} schY={-3} />
<resistor name="R15" resistance="4.7k" footprint="0603" schX={10} schY={0} />
<resistor name="R16" resistance="4.7k" footprint="0603" schX={14} schY={0} />
<capacitor name="C35" capacitance="10pF" footprint="0603" schX={-10} schY={5} />
<inductor name="L4" inductance="68nH" footprint="0603" schX={-6} schY={5} />
<capacitor name="C36" capacitance="10pF" footprint="0603" schX={-2} schY={5} />
<resistor name="R18" resistance="33" footprint="0603" schX={4} schY={5} />
<resistor name="R19" resistance="33" footprint="0603" schX={8} schY={5} />
<resistor name="R20" resistance="33" footprint="0603" schX={12} schY={5} />
<chip name="J3" footprint="pinrow2" schX={-14} schY={0}
pinLabels={{ pin1: "SIG", pin2: "GND" }} />
<chip name="J4" footprint="pinrow2" schX={-14} schY={5}
pinLabels={{ pin1: "SIG", pin2: "GND" }} />
</group>
{/* ====================================================================== */}
{/* SHEET 6: AUDIO (Y = 135 band) */}
{/* ====================================================================== */}
<group name="AUDIO" schX={0} schY={135}>
<chip
name="U11"
footprint="qfn16"
schX={0} schY={0}
pinLabels={{
pin1: "LRCLK", pin2: "BCLK", pin3: "DIN", pin4: "GAIN_SLOT",
pin5: "GND1", pin6: "SD_MODE", pin7: "GND2", pin8: "VDD",
pin9: "OUTP", pin10: "OUTN"
}}
/>
<capacitor name="C37" capacitance="10uF" footprint="0805" schX={-5} schY={-5} />
<capacitor name="C38" capacitance="1uF" footprint="0603" schX={0} schY={-5} />
<chip name="J5" footprint="pinrow2" schX={10} schY={0}
pinLabels={{ pin1: "SPK_P", pin2: "SPK_N" }} />
</group>
{/* ====================================================================== */}
{/* SHEET 7: USER INTERFACE (Y = 155 band) */}
{/* ====================================================================== */}
<group name="ENCODER" schX={0} schY={155}>
<chip name="ENC1" footprint="pinrow5" schX={0} schY={0}
pinLabels={{ pin1: "A", pin2: "GND", pin3: "B", pin4: "COM", pin5: "SW" }} />
<capacitor name="C39" capacitance="100nF" footprint="0603" schX={6} schY={3} />
<capacitor name="C40" capacitance="100nF" footprint="0603" schX={10} schY={3} />
<resistor name="R21" resistance="10k" footprint="0603" schX={6} schY={-3} />
<resistor name="R22" resistance="10k" footprint="0603" schX={10} schY={-3} />
<resistor name="R23" resistance="10k" footprint="0603" schX={14} schY={-3} />
</group>
<group name="BAND_SELECT" schX={25} schY={155}>
<chip name="SW5" footprint="pinrow6" schX={0} schY={0}
pinLabels={{ pin1: "COM", pin2: "POS1", pin3: "POS2", pin4: "POS3", pin5: "POS4", pin6: "POS5" }} />
<resistor name="R24" resistance="100k" footprint="0603" schX={6} schY={-4} />
<resistor name="R25" resistance="10k" footprint="0603" schX={6} schY={0} />
<resistor name="R26" resistance="22k" footprint="0603" schX={10} schY={0} />
<resistor name="R27" resistance="47k" footprint="0603" schX={14} schY={0} />
<resistor name="R28" resistance="100k" footprint="0603" schX={18} schY={0} />
</group>
<group name="BUTTONS" schX={0} schY={175}>
<pushbutton name="SW4" schX={0} schY={0} />
<pushbutton name="SW3" schX={8} schY={0} />
</group>
<group name="VU_METER" schX={20} schY={175}>
<transistor name="Q3" type="npn" footprint="sot23" schX={0} schY={0} />
<resistor name="R29" resistance="10k" footprint="0603" schX={-5} schY={0} />
<resistor name="R30" resistance="47k" footprint="0603" schX={5} schY={0} />
<capacitor name="C41" capacitance="4.7uF" footprint="0603" schX={10} schY={0} />
</group>
<group name="GLOW_LED" schX={0} schY={190}>
<led name="LED1" footprint="0805" schX={0} schY={0} />
<resistor name="R31" resistance="120" footprint="0603" schX={6} schY={0} />
</group>
<group name="DIAL_CONN" schX={20} schY={190}>
<chip name="J6" footprint="pinrow4" schX={0} schY={0}
pinLabels={{ pin1: "VCC", pin2: "GND", pin3: "DATA", pin4: "SPARE" }} />
</group>
</board>
)