aura/diy-power-delivery-trigger

This hardware design implements a USB Type-C port with supporting power management and signal conditioning components, including a USB-C connector, a FUSB302 USB-C port controller, ESD protection diodes, a buck converter for 3.3V power regulation, an STM32 microcontroller for control and processing, an RGB LED indicator, push button, terminal block connections, and associated filtering and support components.

Version
0.0.1
License
unset
Stars
0

dist/index.cjs

'use strict';

var jsxRuntime = require('react/jsx-runtime');

const UsbCPlug = (props) => (jsxRuntime.jsx("connector", { ...props, supplierPartNumbers: { jlcpcb: ["C165948"] }, footprint: "kicad:Connector_USB/USB_C_Receptacle_HRO_TYPE-C-31-M-12" }));
const Fusb302 = (props) => (jsxRuntime.jsx("chip", { ...props, footprint: "kicad:Package_DFN_QFN/WQFN-14-1EP_2.5x2.5mm_P0.5mm_EP1.45x1.45mm", supplierPartNumbers: { jlcpcb: ["C132291"] }, pinLabels: {
        pin1: "CC2_B",
        pin2: "VBUS",
        pin3: "VDD_A",
        pin4: "VDD_B",
        pin5: "INT_N",
        pin6: "SCL",
        pin7: "SDA",
        pin8: "GND_A",
        pin9: "GND_B",
        pin10: "CC1_B",
        pin11: "CC1_A",
        pin12: "VCONN_B",
        pin13: "VCONN_A",
        pin14: "CC2_A",
        pin15: "EP",
    }, pinAttributes: {
        VBUS: { requiresPower: true },
        VDD_A: { requiresPower: true },
        VDD_B: { requiresPower: true },
        GND_A: { requiresPower: true, requiresGround: true },
        GND_B: { requiresPower: true, requiresGround: true },
        EP: { requiresPower: true, requiresGround: true },
    }, schPinArrangement: {
        leftSide: {
            direction: "top-to-bottom",
            pins: [
                "CC2_A",
                "VCONN_A",
                "VCONN_B",
                "CC1_A",
                "CC1_B",
                "GND_A",
                "GND_B",
            ],
        },
        rightSide: {
            direction: "top-to-bottom",
            pins: ["CC2_B", "VBUS", "VDD_A", "VDD_B", "INT_N", "SCL", "SDA"],
        },
        bottomSide: {
            direction: "left-to-right",
            pins: ["EP"],
        },
    } }));
const Stm32F030 = (props) => (jsxRuntime.jsx("chip", { ...props, footprint: "kicad:Package_SO/TSSOP-20_4.4x6.5mm_P0.65mm", supplierPartNumbers: { jlcpcb: ["C89040"] }, pinLabels: {
        pin1: "BOOT0",
        pin2: "PF0_OSC_IN",
        pin3: "PF1_OSC_OUT",
        pin4: "NRST",
        pin5: "VDDA",
        pin6: "PA0",
        pin7: "PA1",
        pin8: "PA2_TX",
        pin9: "PA3_RX",
        pin10: "PA4",
        pin11: "PA5_LED_R",
        pin12: "PA6_LED_G",
        pin13: "PA7_LED_B",
        pin14: "PB1_INT",
        pin15: "VSS",
        pin16: "VDD",
        pin17: "PA9_SCL",
        pin18: "PA10_SDA",
        pin19: "PA13_SWDIO",
        pin20: "PA14_SWCLK",
    }, pinAttributes: {
        VDDA: { requiresPower: true },
        VDD: { requiresPower: true },
        VSS: { requiresPower: true, requiresGround: true },
        BOOT0: { mustBeConnected: true },
        NRST: { mustBeConnected: true },
    }, schPinArrangement: {
        leftSide: {
            direction: "top-to-bottom",
            pins: [
                "PA0",
                "PA1",
                "PA2_TX",
                "PA3_RX",
                "PA4",
                "PA5_LED_R",
                "PA6_LED_G",
                "PA7_LED_B",
            ],
        },
        rightSide: {
            direction: "top-to-bottom",
            pins: ["PB1_INT", "PF0_OSC_IN", "PF1_OSC_OUT", "BOOT0", "NRST", "VSS"],
        },
        bottomSide: {
            direction: "left-to-right",
            pins: [
                "VDDA",
                "VDD",
                "PA9_SCL",
                "PA10_SDA",
                "PA13_SWDIO",
                "PA14_SWCLK",
            ],
        },
    } }));
const Buck3V3 = (props) => (jsxRuntime.jsx("chip", { ...props, footprint: "kicad:Package_TO_SOT_SMD/SOT-23-6", supplierPartNumbers: { jlcpcb: ["C780769"] }, pinLabels: {
        pin1: "SW",
        pin2: "GND",
        pin3: "FB",
        pin4: "EN",
        pin5: "VIN",
        pin6: "BST",
    }, pinAttributes: {
        VIN: { requiresPower: true },
        GND: { requiresPower: true, requiresGround: true },
        SW: { mustBeConnected: true },
        FB: { mustBeConnected: true },
        EN: { mustBeConnected: true },
        BST: { mustBeConnected: true },
    }, schPinArrangement: {
        leftSide: {
            direction: "top-to-bottom",
            pins: ["VIN", "EN", "FB"],
        },
        rightSide: {
            direction: "top-to-bottom",
            pins: ["BST", "SW", "GND"],
        },
    } }));
const EsdDiode = (props) => (jsxRuntime.jsx("diode", { ...props, footprint: "kicad:Diode_SMD/D_SOD-323", supplierPartNumbers: { jlcpcb: ["C5261083"] } }));
const RgbLed = (props) => (jsxRuntime.jsx("chip", { ...props, footprint: "kicad:LED_SMD/LED_RGB_5050-6", supplierPartNumbers: { jlcpcb: ["C2843868"] }, pinLabels: {
        pin1: "GREEN_K",
        pin2: "RED_K",
        pin3: "ANODE",
        pin4: "BLUE_K",
    }, pinAttributes: {
        ANODE: { requiresPower: true },
        GREEN_K: { requiresGround: true },
        RED_K: { requiresGround: true },
        BLUE_K: { requiresGround: true },
    }, schPinArrangement: {
        leftSide: {
            direction: "top-to-bottom",
            pins: ["BLUE_K", "ANODE"],
        },
        rightSide: {
            direction: "top-to-bottom",
            pins: ["GREEN_K", "RED_K"],
        },
    } }));
const PushButton2Pin = (props) => (jsxRuntime.jsx("chip", { ...props, footprint: "kicad:Button_Switch_SMD/SW_SPST_B3U-1000P-B", pinLabels: {
        pin1: "A",
        pin2: "B",
    }, pinAttributes: {
        A: { mustBeConnected: true },
        B: { requiresPower: true, requiresGround: true },
    } }));
const TerminalBlock2 = (props) => (jsxRuntime.jsx("connector", { ...props, footprint: "kicad:TerminalBlock/TerminalBlock_MaiXu_MX126-5.0-02P_1x02_P5.00mm", supplierPartNumbers: { jlcpcb: ["C8445"] }, pinLabels: {
        pin1: "VBUS",
        pin2: "GND",
    }, schPinArrangement: {
        leftSide: {
            direction: "top-to-bottom",
            pins: ["VBUS", "GND"],
        },
    } }));
const SwdHeader = (props) => (jsxRuntime.jsx("pinheader", { ...props, pinCount: 5, gender: "female", pitch: "2.54mm", showSilkscreenPinLabels: true, pinLabels: ["3V3", "SWDIO", "SWCLK", "NRST", "GND"], schPinArrangement: {
        leftSide: {
            direction: "top-to-bottom",
            pins: [1, 2, 3, 4, 5],
        },
    } }));
var index = () => (jsxRuntime.jsxs("board", { layers: 2, children: [jsxRuntime.jsxs("group", { pcbX: "-41mm", pcbY: "0mm", children: [jsxRuntime.jsx(UsbCPlug, { name: "USB2", pcbX: "-40mm", pcbY: "0mm", pcbRotation: 270, schX: "-19mm", schY: "-2mm" }), jsxRuntime.jsx("resistor", { name: "R1", resistance: "100ohm", footprint: "0402", pcbX: "4mm", pcbY: "-5.5mm", schX: "-13mm", schY: "-3.5mm" }), jsxRuntime.jsx("resistor", { name: "R2", resistance: "100ohm", footprint: "0402", pcbX: "4mm", pcbY: "5.5mm", schX: "-13mm", schY: "2.5mm" }), jsxRuntime.jsx(EsdDiode, { name: "D1", pcbX: "4mm", pcbY: "-9mm", pcbRotation: 180, schX: "-10mm", schY: "-4mm" }), jsxRuntime.jsx(EsdDiode, { name: "D2", pcbX: "4mm", pcbY: "9mm", pcbRotation: 180, schX: "-10mm", schY: "3mm" }), jsxRuntime.jsx(Fusb302, { name: "U1", pcbX: "28mm", pcbY: "0mm", schX: "-5mm", schY: "0mm" }), jsxRuntime.jsx("capacitor", { name: "C7", capacitance: "100nF", footprint: "0402", pcbX: "34mm", pcbY: "-4mm", schX: "-1mm", schY: "-5mm" }), jsxRuntime.jsx("capacitor", { name: "C8", capacitance: "1uF", footprint: "0603", pcbX: "34mm", pcbY: "4mm", schX: "1mm", schY: "-5mm" }), jsxRuntime.jsx("capacitor", { name: "C9", capacitance: "220pF", footprint: "0402", pcbX: "12mm", pcbY: "-10mm", schX: "-4mm", schY: "-6mm" }), jsxRuntime.jsx("capacitor", { name: "C10", capacitance: "220pF", footprint: "0402", pcbX: "12mm", pcbY: "10mm", schX: "-4mm", schY: "6mm" })] }), jsxRuntime.jsxs("group", { pcbX: "-12mm", pcbY: "17mm", children: [jsxRuntime.jsx("capacitor", { name: "C2", capacitance: "100nF", footprint: "0603", pcbX: "-9mm", pcbY: "-6mm", schX: "-13mm", schY: "10mm" }), jsxRuntime.jsx("capacitor", { name: "C4", capacitance: "10uF", footprint: "1206", pcbX: "-9mm", pcbY: "6mm", schX: "-11mm", schY: "10mm" }), jsxRuntime.jsx(Buck3V3, { name: "U3", pcbX: "0mm", pcbY: "0mm", schX: "-6.5mm", schY: "10.5mm" }), jsxRuntime.jsx("capacitor", { name: "C11", capacitance: "100nF", footprint: "0402", pcbX: "1mm", pcbY: "-8mm", schX: "-4mm", schY: "14mm" }), jsxRuntime.jsx("inductor", { name: "L1", inductance: "6.8uH", footprint: "kicad:Inductor_SMD/L_1210_3225Metric", pcbX: "12mm", pcbY: "0mm", schX: "-1mm", schY: "10.5mm" }), jsxRuntime.jsx("capacitor", { name: "C5", capacitance: "22uF", footprint: "1206", pcbX: "21mm", pcbY: "-6mm", schX: "3mm", schY: "10mm" }), jsxRuntime.jsx("capacitor", { name: "C3", capacitance: "22uF", footprint: "1206", pcbX: "21mm", pcbY: "6mm", schX: "5mm", schY: "10mm" })] }), jsxRuntime.jsxs("group", { pcbX: "10mm", pcbY: "-2mm", children: [jsxRuntime.jsx(Stm32F030, { name: "U2", pcbX: "0mm", pcbY: "0mm", schX: "7mm", schY: "-1mm" }), jsxRuntime.jsx("resistor", { name: "R3", resistance: "2.2kohm", footprint: "0402", pcbX: "-11mm", pcbY: "-7mm", schX: "1mm", schY: "-8mm" }), jsxRuntime.jsx("resistor", { name: "R4", resistance: "2.2kohm", footprint: "0402", pcbX: "-11mm", pcbY: "-3.5mm", schX: "-1mm", schY: "-8mm" }), jsxRuntime.jsx("resistor", { name: "R8", resistance: "4.7kohm", footprint: "0402", pcbX: "-11mm", pcbY: "1mm", schX: "1mm", schY: "-10mm" }), jsxRuntime.jsx("capacitor", { name: "C1", capacitance: "100nF", footprint: "0402", pcbX: "11mm", pcbY: "5mm", schX: "12mm", schY: "5mm" }), jsxRuntime.jsx("resistor", { name: "R9", resistance: "10kohm", footprint: "0402", pcbX: "18mm", pcbY: "-10mm", schX: "3mm", schY: "12mm" }), jsxRuntime.jsx(PushButton2Pin, { name: "SW1", pcbX: "16mm", pcbY: "-14mm", schX: "4mm", schY: "10mm" }), jsxRuntime.jsx("capacitor", { name: "C6", capacitance: "100nF", footprint: "0402", pcbX: "28mm", pcbY: "-14mm", schX: "6.5mm", schY: "10mm" })] }), jsxRuntime.jsxs("group", { pcbX: "30mm", pcbY: "12mm", children: [jsxRuntime.jsx(RgbLed, { name: "LED1", pcbX: "-2mm", pcbY: "0mm", schX: "13mm", schY: "10mm" }), jsxRuntime.jsx("resistor", { name: "R7", resistance: "2.2kohm", footprint: "0402", pcbX: "-12mm", pcbY: "4mm", schX: "9.5mm", schY: "12mm" }), jsxRuntime.jsx("resistor", { name: "R6", resistance: "5.6kohm", footprint: "0402", pcbX: "7mm", pcbY: "-6mm", schX: "18mm", schY: "10mm" }), jsxRuntime.jsx("resistor", { name: "R5", resistance: "2.2kohm", footprint: "0402", pcbX: "7mm", pcbY: "6mm", schX: "18mm", schY: "12mm" })] }), jsxRuntime.jsx(SwdHeader, { name: "J1", pcbX: "46mm", pcbY: "6mm", pcbRotation: 90, schX: "20mm", schY: "6mm" }), jsxRuntime.jsx(TerminalBlock2, { name: "CN1", pcbX: "52mm", pcbY: "-14mm", pcbRotation: 90, schX: "20mm", schY: "-6mm" }), jsxRuntime.jsx("trace", { from: "USB2.pin2", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "USB2.pin7", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "USB2.pin10", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "USB2.pin15", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "USB2.pin1", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "USB2.pin8", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "USB2.pin9", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "USB2.pin16", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "USB2.pin17", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "USB2.pin18", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "USB2.pin19", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "USB2.pin20", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "USB2.pin11", to: "R1.pin1" }), jsxRuntime.jsx("trace", { from: "USB2.pin3", to: "R2.pin1" }), jsxRuntime.jsx("trace", { from: "R1.pin2", to: "U1.CC2_A" }), jsxRuntime.jsx("trace", { from: "R1.pin2", to: "U1.CC2_B" }), jsxRuntime.jsx("trace", { from: "R1.pin2", to: "C9.pin1" }), jsxRuntime.jsx("trace", { from: "C9.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "R2.pin2", to: "U1.CC1_A" }), jsxRuntime.jsx("trace", { from: "R2.pin2", to: "U1.CC1_B" }), jsxRuntime.jsx("trace", { from: "R2.pin2", to: "C10.pin1" }), jsxRuntime.jsx("trace", { from: "C10.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "R1.pin2", to: "D1.pin1" }), jsxRuntime.jsx("trace", { from: "D1.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "R2.pin2", to: "D2.pin1" }), jsxRuntime.jsx("trace", { from: "D2.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U1.VBUS", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "U1.VDD_A", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "U1.VDD_B", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "C7.pin1", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "C7.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "C8.pin1", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "C8.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U1.GND_A", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U1.GND_B", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U1.EP", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U1.INT_N", to: "net.INT" }), jsxRuntime.jsx("trace", { from: "U1.SCL", to: "net.SCL" }), jsxRuntime.jsx("trace", { from: "U1.SDA", to: "net.SDA" }), jsxRuntime.jsx("trace", { from: "C2.pin1", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "C2.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "C4.pin1", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "C4.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U3.VIN", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "U3.EN", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "U3.GND", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U3.SW", to: "L1.pin1" }), jsxRuntime.jsx("trace", { from: "L1.pin2", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "U3.FB", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "U3.BST", to: "C11.pin1" }), jsxRuntime.jsx("trace", { from: "C11.pin2", to: "U3.SW" }), jsxRuntime.jsx("trace", { from: "C5.pin1", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "C5.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "C3.pin1", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "C3.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U2.VDD", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "U2.VDDA", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "U2.VSS", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U2.BOOT0", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U2.NRST", to: "C1.pin1" }), jsxRuntime.jsx("trace", { from: "C1.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "U2.PA9_SCL", to: "net.SCL" }), jsxRuntime.jsx("trace", { from: "U2.PA10_SDA", to: "net.SDA" }), jsxRuntime.jsx("trace", { from: "U2.PB1_INT", to: "net.INT" }), jsxRuntime.jsx("trace", { from: "U2.PF1_OSC_OUT", to: "net.BTN" }), jsxRuntime.jsx("trace", { from: "R3.pin1", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "R3.pin2", to: "net.SDA" }), jsxRuntime.jsx("trace", { from: "R4.pin1", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "R4.pin2", to: "net.SCL" }), jsxRuntime.jsx("trace", { from: "R8.pin1", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "R8.pin2", to: "net.INT" }), jsxRuntime.jsx("trace", { from: "R9.pin1", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "R9.pin2", to: "net.BTN" }), jsxRuntime.jsx("trace", { from: "SW1.A", to: "net.BTN" }), jsxRuntime.jsx("trace", { from: "SW1.B", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "C6.pin1", to: "net.BTN" }), jsxRuntime.jsx("trace", { from: "C6.pin2", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "LED1.ANODE", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "U2.PA7_LED_B", to: "R7.pin1" }), jsxRuntime.jsx("trace", { from: "R7.pin2", to: "LED1.BLUE_K" }), jsxRuntime.jsx("trace", { from: "U2.PA6_LED_G", to: "R6.pin1" }), jsxRuntime.jsx("trace", { from: "R6.pin2", to: "LED1.GREEN_K" }), jsxRuntime.jsx("trace", { from: "U2.PA5_LED_R", to: "R5.pin1" }), jsxRuntime.jsx("trace", { from: "R5.pin2", to: "LED1.RED_K" }), jsxRuntime.jsx("trace", { from: "J1.pin1", to: "net.V3_3" }), jsxRuntime.jsx("trace", { from: "J1.pin2", to: "U2.PA13_SWDIO" }), jsxRuntime.jsx("trace", { from: "J1.pin3", to: "U2.PA14_SWCLK" }), jsxRuntime.jsx("trace", { from: "J1.pin4", to: "U2.NRST" }), jsxRuntime.jsx("trace", { from: "J1.pin5", to: "net.GND" }), jsxRuntime.jsx("trace", { from: "CN1.VBUS", to: "net.VBUS" }), jsxRuntime.jsx("trace", { from: "CN1.GND", to: "net.GND" })] }));

module.exports = index;