mpsys/cree-led-pcb
This circuit diagram depicts a compact LED driver module featuring a TPS923655DMTR LED driver IC, input filtering and storage components (capacitors, inductor, diode), sensing and control resistors, output filtering capacitors, and various support passive components arranged on a 2-layer PCB with mounting holes.
- Version
- 1.0.2
- License
- unset
- Stars
- 0
dist/index.js
import { jsx, jsxs } from 'react/jsx-runtime';
const TPS923655DMTR = (props) => {
const { name = "U1", ...restProps } = props;
return (jsx("chip", { name: name, supplierPartNumbers: {
"jlcpcb": [
"C22427698"
]
}, manufacturerPartNumber: "TPS923655DMTR", footprint: jsxs("footprint", { children: [jsx("smtpad", { portHints: ["pgnd"], pcbX: "-1.949958mm", pcbY: "-1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["agnd"], pcbX: "-1.299972mm", pcbY: "-1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["vin"], pcbX: "-0.649986mm", pcbY: "-1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["vcc"], pcbX: "0mm", pcbY: "-1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["adim"], pcbX: "0.649986mm", pcbY: "-1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["en"], pcbX: "1.299972mm", pcbY: "-1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["fault"], pcbX: "1.949958mm", pcbY: "-1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["sw"], pcbX: "-1.949958mm", pcbY: "1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["csp"], pcbX: "-1.299972mm", pcbY: "1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["csn"], pcbX: "-0.649986mm", pcbY: "1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["ovp"], pcbX: "0mm", pcbY: "1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["comp"], pcbX: "0.649986mm", pcbY: "1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["fset"], pcbX: "1.299972mm", pcbY: "1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["temp"], pcbX: "1.949958mm", pcbY: "1.4986mm", width: "0.3640074mm", height: "0.8469884mm", radius: "0.1820037mm", shape: "pill" }), jsx("smtpad", { portHints: ["thermal"], pcbX: "0mm", pcbY: "0mm", width: "4.1999916mm", height: "1.5999968mm", shape: "rect" }), jsx("silkscreenpath", { route: [{ "x": -2.3262081999999964, "y": -1.5761969999999792 }, { "x": -2.3262081999999964, "y": 1.5761970000000929 }] }), jsx("silkscreenpath", { route: [{ "x": 2.3262081999999964, "y": 1.5761970000000929 }, { "x": 2.3262081999999964, "y": -1.5761969999999792 }] }), jsx("silkscreenpath", { route: [{ "x": -1.8498820000000933, "y": -2.221992 }, { "x": -1.8532920070083492, "y": -2.2478935747576543 }, { "x": -1.8632896416909261, "y": -2.272030000000086 }, { "x": -1.8791935817660033, "y": -2.292756418233921 }, { "x": -1.8999200000000656, "y": -2.308660358308998 }, { "x": -1.9240564252423837, "y": -2.318657992991575 }, { "x": -1.9499580000000378, "y": -2.3220679999999447 }, { "x": -1.975859574757692, "y": -2.318657992991575 }, { "x": -1.99999600000001, "y": -2.308660358308998 }, { "x": -2.0207224182340724, "y": -2.292756418233921 }, { "x": -2.0366263583091495, "y": -2.272030000000086 }, { "x": -2.0466239929917265, "y": -2.2478935747576543 }, { "x": -2.0500339999999824, "y": -2.221992 }, { "x": -2.0466239929917265, "y": -2.196090425242346 }, { "x": -2.0366263583091495, "y": -2.1719539999999142 }, { "x": -2.0207224182340724, "y": -2.1512275817659656 }, { "x": -1.99999600000001, "y": -2.1353236416908885 }, { "x": -1.975859574757692, "y": -2.1253260070083115 }, { "x": -1.9499580000000378, "y": -2.1219160000000556 }, { "x": -1.9240564252423837, "y": -2.1253260070083115 }, { "x": -1.8999200000000656, "y": -2.1353236416908885 }, { "x": -1.8791935817660033, "y": -2.1512275817659656 }, { "x": -1.8632896416909261, "y": -2.1719539999999142 }, { "x": -1.8532920070083492, "y": -2.196090425242346 }, { "x": -1.8498820000000933, "y": -2.221992 }] }), jsx("silkscreentext", { text: "{NAME}", pcbX: "-0.0127mm", pcbY: "2.9304mm", anchorAlignment: "center", fontSize: "1mm" }), jsx("courtyardoutline", { outline: [{ "x": -2.5868000000000393, "y": 2.180400000000077 }, { "x": 2.5614000000000487, "y": 2.180400000000077 }, { "x": 2.5614000000000487, "y": -2.5614000000000487 }, { "x": -2.5868000000000393, "y": -2.5614000000000487 }, { "x": -2.5868000000000393, "y": 2.180400000000077 }] })] }), cadModel: {
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C22427698.obj?uuid=f56a5bdc1a3648edaa846a8056cc6e9f",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C22427698.step?uuid=f56a5bdc1a3648edaa846a8056cc6e9f",
pcbRotationOffset: 90,
modelOriginPosition: { x: 0, y: -12700000070253736e-21, z: 0 },
}, ...restProps }));
};
var index_circuit = () => {
// ===== ROVEEE BOARD STANDARD v1 =====
// All ROVEEE boards follow these rules:
//
// 1. ROUNDED CORNERS — borderRadius on every board (like RPi 4B)
// 2. MOUNTING HOLES — M2 (2.2mm), with exposed copper + keepout zone
// 3. CASTELLATION + THROUGH-HOLE COMBO — each I/O pad has:
// - Castellation on board edge (for carrier-board soldering)
// - 2.54mm pitch PTH behind it (for standard pin headers, like RPi GPIO)
// 4. COPPER POUR GROUND PLANE — only trace outlines are copper-free
// 5. NO TRACES OR COMPONENTS within mounting hole keepout zones
// 6. Power components: manual placement (critical for thermal/EMI)
// 7. Support passives: pcbFlex groups (auto-arrange, no overlap)
// 8. After layout, verify: zero overlaps + all inside bounds = done
const BOARD_W = 36;
const BOARD_H = 26;
const BORDER_RADIUS = 3;
// Mounting hole specs (M2 screw)
const HOLE_D = 2.2;
const HOLE_SOLDER_MASK_MARGIN = 1.5;
const HOLE_KEEPOUT_RADIUS = 2.5;
// Castellation + Through-hole combo specs
const CAST_D = 1.0;
const CAST_PAD = 1.6;
const PTH_D = 1.0;
const PTH_PAD = 1.8;
const PTH_PITCH = 2.54; // standard pin header pitch
// Mounting holes — in corners
const HOLE_INSET = 3;
const HOLE_X = BOARD_W / 2 - HOLE_INSET;
const HOLE_Y = BOARD_H / 2 - HOLE_INSET;
// I/O Header positions — all at 2.54mm pitch
// Left edge: 3-pin input header (PWM, VIN, GND)
// Right edge: 4-pin output (2× LED headers, 2 pins each)
const PTH_X_OFFSET = PTH_PITCH; // 2.54mm inside from edge
// Left side — 3-pin input header (2.54mm pitch)
const IN_PWM_Y = 5.08;
const IN_VIN_Y = 2.54;
const IN_GND_Y = 0;
// Right side — 2× 2-pin LED headers (2.54mm pitch)
const LED1_OUT_Y = 3.81;
const LED1_GND_Y = 1.27;
const LED2_OUT_Y = -1.27;
const LED2_GND_Y = -3.81;
return (jsxs("board", { width: `${BOARD_W}mm`, height: `${BOARD_H}mm`, borderRadius: BORDER_RADIUS, layers: 2, schematicDisabled: true, autorouter: "auto-local", autorouterEffortLevel: "10x", children: [jsx("silkscreentext", { text: "ROVEEE", pcbX: 0, pcbY: 10, fontSize: "2mm", anchorAlignment: "center" }), jsx("silkscreentext", { text: "PWM", pcbX: -12, pcbY: 5.08, fontSize: "1mm", anchorAlignment: "center" }), jsx("silkscreentext", { text: "VIN", pcbX: -12, pcbY: 2.54, fontSize: "1mm", anchorAlignment: "center" }), jsx("silkscreentext", { text: "GND", pcbX: -12, pcbY: 0, fontSize: "1mm", anchorAlignment: "center" }), jsx("silkscreentext", { text: "LED1+", pcbX: 12, pcbY: 3.81, fontSize: "1mm", anchorAlignment: "center" }), jsx("silkscreentext", { text: "LED1-", pcbX: 12, pcbY: 1.27, fontSize: "1mm", anchorAlignment: "center" }), jsx("silkscreentext", { text: "LED2+", pcbX: 12, pcbY: -1.27, fontSize: "1mm", anchorAlignment: "center" }), jsx("silkscreentext", { text: "LED2-", pcbX: 12, pcbY: -3.81, fontSize: "1mm", anchorAlignment: "center" }), jsx(TPS923655DMTR, { name: "U1", pcbX: 0, pcbY: 0 }), jsx("capacitor", { capacitance: "10\u00B5F", footprint: "1206", name: "CIN", pcbX: -6, pcbY: 3.5 }), jsx("inductor", { inductance: "10\u00B5H", footprint: "1206", name: "L1", pcbX: -6, pcbY: -1.5 }), jsx("diode", { name: "D1", footprint: "SMA", pcbX: -6, pcbY: -5.5 }), jsx("capacitor", { capacitance: "10\u00B5F", footprint: "1206", name: "COUT", pcbX: 6, pcbY: 3.5 }), jsx("resistor", { resistance: "0.1", footprint: "1206", name: "RSENSE", pcbX: 6, pcbY: -1.5 }), jsx("chip", { name: "PWM_IO", pcbX: -BOARD_W / 2 + PTH_X_OFFSET / 2, pcbY: IN_PWM_Y, obstructsWithinBounds: false, allowOffBoard: true, internallyConnectedPins: [["pin1", "pin2"]], footprint: jsxs("footprint", { children: [jsx("platedhole", { portHints: ["pwm"], pcbX: -PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${CAST_D}mm`, outerDiameter: `${CAST_PAD}mm`, shape: "circle" }), jsx("platedhole", { portHints: ["pwm"], pcbX: PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${PTH_D}mm`, outerDiameter: `${PTH_PAD}mm`, shape: "circle" })] }) }), jsx("chip", { name: "VIN_IO", pcbX: -BOARD_W / 2 + PTH_X_OFFSET / 2, pcbY: IN_VIN_Y, obstructsWithinBounds: false, allowOffBoard: true, internallyConnectedPins: [["pin1", "pin2"]], footprint: jsxs("footprint", { children: [jsx("platedhole", { portHints: ["vin"], pcbX: -PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${CAST_D}mm`, outerDiameter: `${CAST_PAD}mm`, shape: "circle" }), jsx("platedhole", { portHints: ["vin"], pcbX: PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${PTH_D}mm`, outerDiameter: `${PTH_PAD}mm`, shape: "circle" })] }) }), jsx("chip", { name: "GND_IO", pcbX: -BOARD_W / 2 + PTH_X_OFFSET / 2, pcbY: IN_GND_Y, obstructsWithinBounds: false, allowOffBoard: true, internallyConnectedPins: [["pin1", "pin2"]], footprint: jsxs("footprint", { children: [jsx("platedhole", { portHints: ["gnd"], pcbX: -PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${CAST_D}mm`, outerDiameter: `${CAST_PAD}mm`, shape: "circle" }), jsx("platedhole", { portHints: ["gnd"], pcbX: PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${PTH_D}mm`, outerDiameter: `${PTH_PAD}mm`, shape: "circle" })] }) }), jsx("chip", { name: "LED1_OUT_IO", pcbX: BOARD_W / 2 - PTH_X_OFFSET / 2, pcbY: LED1_OUT_Y, obstructsWithinBounds: false, allowOffBoard: true, internallyConnectedPins: [["pin1", "pin2"]], footprint: jsxs("footprint", { children: [jsx("platedhole", { portHints: ["anode"], pcbX: PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${CAST_D}mm`, outerDiameter: `${CAST_PAD}mm`, shape: "circle" }), jsx("platedhole", { portHints: ["anode"], pcbX: -PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${PTH_D}mm`, outerDiameter: `${PTH_PAD}mm`, shape: "circle" })] }) }), jsx("chip", { name: "LED1_GND_IO", pcbX: BOARD_W / 2 - PTH_X_OFFSET / 2, pcbY: LED1_GND_Y, obstructsWithinBounds: false, allowOffBoard: true, internallyConnectedPins: [["pin1", "pin2"]], footprint: jsxs("footprint", { children: [jsx("platedhole", { portHints: ["cathode"], pcbX: PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${CAST_D}mm`, outerDiameter: `${CAST_PAD}mm`, shape: "circle" }), jsx("platedhole", { portHints: ["cathode"], pcbX: -PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${PTH_D}mm`, outerDiameter: `${PTH_PAD}mm`, shape: "circle" })] }) }), jsx("chip", { name: "LED2_OUT_IO", pcbX: BOARD_W / 2 - PTH_X_OFFSET / 2, pcbY: LED2_OUT_Y, obstructsWithinBounds: false, allowOffBoard: true, internallyConnectedPins: [["pin1", "pin2"]], footprint: jsxs("footprint", { children: [jsx("platedhole", { portHints: ["anode"], pcbX: PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${CAST_D}mm`, outerDiameter: `${CAST_PAD}mm`, shape: "circle" }), jsx("platedhole", { portHints: ["anode"], pcbX: -PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${PTH_D}mm`, outerDiameter: `${PTH_PAD}mm`, shape: "circle" })] }) }), jsx("chip", { name: "LED2_GND_IO", pcbX: BOARD_W / 2 - PTH_X_OFFSET / 2, pcbY: LED2_GND_Y, obstructsWithinBounds: false, allowOffBoard: true, internallyConnectedPins: [["pin1", "pin2"]], footprint: jsxs("footprint", { children: [jsx("platedhole", { portHints: ["cathode"], pcbX: PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${CAST_D}mm`, outerDiameter: `${CAST_PAD}mm`, shape: "circle" }), jsx("platedhole", { portHints: ["cathode"], pcbX: -PTH_X_OFFSET / 2, pcbY: 0, holeDiameter: `${PTH_D}mm`, outerDiameter: `${PTH_PAD}mm`, shape: "circle" })] }) }), jsxs("group", { pcbFlex: true, pcbFlexGap: "0.5mm", pcbFlexDirection: "row", pcbX: 0, pcbY: 5.5, children: [jsx("capacitor", { capacitance: "1\u00B5F", footprint: "0805", name: "CVCC" }), jsx("resistor", { resistance: "150k", footprint: "0805", name: "ROVP1" }), jsx("resistor", { resistance: "10k", footprint: "0805", name: "ROVP2" }), jsx("resistor", { resistance: "0", footprint: "0805", name: "RTEMP" }), jsx("resistor", { resistance: "0", footprint: "0805", name: "RFAULT" })] }), jsxs("group", { pcbFlex: true, pcbFlexGap: "0.5mm", pcbFlexDirection: "row", pcbX: 3, pcbY: -3.5, children: [jsx("resistor", { resistance: "100k", footprint: "0805", name: "RFSET" }), jsx("capacitor", { capacitance: "1nF", footprint: "0805", name: "CCOMP" }), jsx("resistor", { resistance: "100", footprint: "0805", name: "RCOMP" })] }), jsx("group", { pcbFlex: true, pcbFlexGap: "0.5mm", pcbFlexDirection: "row", pcbX: 3, pcbY: -5.5, children: jsx("resistor", { resistance: "100k", footprint: "0805", name: "RADIM" }) }), jsx("copperpour", { connectsTo: "net.GND", layer: "top", clearance: "0.15mm", padMargin: "0.2mm", traceMargin: "0.15mm", boardEdgeMargin: "0.3mm" }), jsx("copperpour", { connectsTo: "net.GND", layer: "bottom", clearance: "0.15mm", padMargin: "0.2mm", traceMargin: "0.15mm", boardEdgeMargin: "0.3mm" }), jsx("hole", { diameter: `${HOLE_D}mm`, pcbX: -HOLE_X, pcbY: -HOLE_Y, solderMaskMargin: HOLE_SOLDER_MASK_MARGIN, coveredWithSolderMask: false }), jsx("hole", { diameter: `${HOLE_D}mm`, pcbX: -HOLE_X, pcbY: HOLE_Y, solderMaskMargin: HOLE_SOLDER_MASK_MARGIN, coveredWithSolderMask: false }), jsx("hole", { diameter: `${HOLE_D}mm`, pcbX: HOLE_X, pcbY: -HOLE_Y, solderMaskMargin: HOLE_SOLDER_MASK_MARGIN, coveredWithSolderMask: false }), jsx("hole", { diameter: `${HOLE_D}mm`, pcbX: HOLE_X, pcbY: HOLE_Y, solderMaskMargin: HOLE_SOLDER_MASK_MARGIN, coveredWithSolderMask: false }), jsx("keepout", { shape: "circle", radius: `${HOLE_KEEPOUT_RADIUS}mm`, pcbX: -HOLE_X, pcbY: -HOLE_Y, layers: ["top", "bottom"] }), jsx("keepout", { shape: "circle", radius: `${HOLE_KEEPOUT_RADIUS}mm`, pcbX: -HOLE_X, pcbY: HOLE_Y, layers: ["top", "bottom"] }), jsx("keepout", { shape: "circle", radius: `${HOLE_KEEPOUT_RADIUS}mm`, pcbX: HOLE_X, pcbY: -HOLE_Y, layers: ["top", "bottom"] }), jsx("keepout", { shape: "circle", radius: `${HOLE_KEEPOUT_RADIUS}mm`, pcbX: HOLE_X, pcbY: HOLE_Y, layers: ["top", "bottom"] }), jsx("trace", { from: ".VIN_IO > .vin", to: ".CIN > .pos" }), jsx("trace", { from: ".CIN > .pos", to: ".U1 > .vin" }), jsx("trace", { from: ".CIN > .neg", to: "net.GND" }), jsx("trace", { from: ".GND_IO > .gnd", to: "net.GND" }), jsx("trace", { from: ".PWM_IO > .pwm", to: ".U1 > .en" }), jsx("trace", { from: ".U1 > .sw", to: ".L1 > .pin1" }), jsx("trace", { from: ".L1 > .pin2", to: ".D1 > .anode" }), jsx("trace", { from: ".D1 > .cathode", to: ".COUT > .pos" }), jsx("trace", { from: ".COUT > .pos", to: ".LED1_OUT_IO > .anode" }), jsx("trace", { from: ".LED1_GND_IO > .cathode", to: ".RSENSE > .pin1" }), jsx("trace", { from: ".COUT > .pos", to: ".LED2_OUT_IO > .anode" }), jsx("trace", { from: ".LED2_GND_IO > .cathode", to: ".RSENSE > .pin1" }), jsx("trace", { from: ".COUT > .neg", to: "net.GND" }), jsx("trace", { from: ".RSENSE > .pin2", to: "net.GND" }), jsx("trace", { from: ".U1 > .csp", to: ".RSENSE > .pin1" }), jsx("trace", { from: ".U1 > .csn", to: ".RSENSE > .pin2" }), jsx("trace", { from: ".U1 > .vcc", to: ".CVCC > .pos" }), jsx("trace", { from: ".CVCC > .neg", to: "net.GND" }), jsx("trace", { from: ".U1 > .pgnd", to: "net.GND" }), jsx("trace", { from: ".U1 > .agnd", to: "net.GND" }), jsx("trace", { from: ".U1 > .fset", to: ".RFSET > .pin1" }), jsx("trace", { from: ".RFSET > .pin2", to: "net.GND" }), jsx("trace", { from: ".U1 > .comp", to: ".CCOMP > .pos" }), jsx("trace", { from: ".CCOMP > .neg", to: ".RCOMP > .pin1" }), jsx("trace", { from: ".RCOMP > .pin2", to: "net.GND" }), jsx("trace", { from: ".LED1_OUT_IO > .anode", to: ".ROVP1 > .pin1" }), jsx("trace", { from: ".ROVP1 > .pin2", to: ".U1 > .ovp" }), jsx("trace", { from: ".U1 > .ovp", to: ".ROVP2 > .pin1" }), jsx("trace", { from: ".ROVP2 > .pin2", to: "net.GND" }), jsx("trace", { from: ".U1 > .temp", to: ".RTEMP > .pin1" }), jsx("trace", { from: ".RTEMP > .pin2", to: "net.GND" }), jsx("trace", { from: ".U1 > .fault", to: ".RFAULT > .pin1" }), jsx("trace", { from: ".RFAULT > .pin2", to: "net.GND" }), jsx("trace", { from: ".U1 > .adim", to: ".RADIM > .pin1" }), jsx("trace", { from: ".RADIM > .pin2", to: ".U1 > .vcc" })] }));
};
export { index_circuit as default };