imrishabh18/boost-converter

This code defines a PCB schematic and 3D model layout focusing on a power conversion circuit with components like USB-C connector, MT3608 step-up regulator, inductor, diode, input/output capacitors, and resistors arranged on a double-layer PCB.

Version
1.0.2
License
unset
Stars
0

index.circuit.tsx

PCBPCB preview for index.circuit.tsx
SchematicSchematic preview for index.circuit.tsx
import { MT3608 } from "imports/MT3608"
import { USBC } from "imports/USBC"
import { Capacitor1206 } from "imports/Capcitor1206"
import { Inductor } from "imports/Inductor"
import { TerminalConnector } from "imports/TerminalConnector"

const INCH = 25.4
const BOARD_W = 1.43 * INCH
const BOARD_H = 0.6 * INCH
const BOARD_CENTER_X_IN = 0.565
const BOARD_CENTER_Y_IN = 0.3

const g = (xIn: number, yIn: number) => ({
  x: (xIn - BOARD_CENTER_X_IN) * INCH,
  y: (yIn - BOARD_CENTER_Y_IN) * INCH,
})

const ss34SmaFootprint = "sma_p4.1148mm_pl1.27mm_pw1.471mm"

const inputCap = g(0.265, 0.17795)
const outputCap = g(0.735, 0.41795)
const inductor = g(0.43495, 0.45)
const diode = g(0.654, 0.188)
const controller = g(0.42995, 0.22495)
const rLow = g(0.50235, 0.05)
const rHigh = g(0.70735, 0.05)
const usbC = { x: -14.35, y: 0 }
const cc1 = { x: -9.7, y: 1.25 }
const cc2 = { x: -10, y: -1.75 }
const terminal = g(1.115, 0.3)

export default () => (
  <board
    width={`${BOARD_W}mm`}
    height={`${BOARD_H}mm`}
    layers={2}
    autorouter="auto-local"
    minTraceWidth="0.5mm"
    nominalTraceWidth="0.25mm"
    minTraceToPadEdgeClearance="0.05mm"
    minPadEdgeToPadEdgeClearance="0.05mm"
    minBoardEdgeClearance="0mm"
    pcbStyle={{ silkscreenFontSize: "0.75mm" }}
  >
    <USBC
      name="USB1"
      pcbX={usbC.x}
      pcbY={usbC.y}
      pcbRotation={-90}
      schX={-7}
      schY={0}
      connections={{
        A4B9: "net.V5",
        B4A9: "net.V5",
        A1B12: "net.GND",
        B1A12: "net.GND",
      }}
    />

    <resistor
      name="R_CC1"
      resistance="5.1k"
      manufacturerPartNumber="0402WGF5101TCE"
      supplierPartNumbers={{ jlcpcb: ["C25905"] }}
      footprint="0402"
      pcbX={cc1.x}
      pcbY={cc1.y}
      schX={-5.4}
      schY={-2.5}
      connections={{ pin1: ".USB1 > .A5", pin2: "net.GND" }}
    />

    <resistor
      name="R_CC2"
      resistance="5.1k"
      manufacturerPartNumber="0402WGF5101TCE"
      supplierPartNumbers={{ jlcpcb: ["C25905"] }}
      footprint="0402"
      pcbX={cc2.x}
      pcbY={cc2.y}
      schX={-4.2}
      schY={-2.5}
      connections={{ pin1: ".USB1 > .B5", pin2: "net.GND" }}
    />

    <TerminalConnector
      name="X1"
      manufacturerPartNumber="WJ2EDGV-5.08-2P"
      supplierPartNumbers={{ jlcpcb: ["C8461"] }}
      pcbX={terminal.x}
      pcbY={terminal.y}
      schX={7}
      schY={0}
      pinLabels={{ pin1: "pin1", pin2: "pin2" }}
      connections={{ pin1: "net.VOUT_12V", pin2: "net.GND" }}
      pcbRotation={-270}
    />

    <MT3608
      name="U1"
      manufacturerPartNumber="MT3608"
      pcbRotation={90}
      pcbX={controller.x}
      pcbY={controller.y}
      schX={0}
      schY={0}
      pinLabels={{
        pin1: "SW",
        pin2: "GND",
        pin3: "FB",
        pin4: "EN",
        pin5: "IN",
        pin6: "NC",
      }}
      schPinArrangement={{
        leftSide: { direction: "top-to-bottom", pins: ["SW", "GND", "FB"] },
        rightSide: { direction: "bottom-to-top", pins: ["EN", "IN", "NC"] },
      }}
      connections={{
        SW: "net.SW",
        GND: "net.GND",
        FB: "net.FB",
        EN: "net.V5",
        IN: "net.V5",
      }}
    />

    <Inductor
      name="L1"
      displayName="10uH"
      manufacturerPartNumber="0630CDMCCDS-100MC"
      supplierPartNumbers={{ jlcpcb: ["C167292"] }}
      pcbX={inductor.x}
      pcbY={inductor.y}
      schX={-2.7}
      schY={2.5}
      connections={{ pin1: "net.V5", pin2: "net.SW" }}
    />

    <diode
      name="D1"
      manufacturerPartNumber="SS36"
      supplierPartNumbers={{ jlcpcb: ["C16015"] }}
      footprint={ss34SmaFootprint}
      pcbX={diode.x}
      pcbY={diode.y}
      schX={2.9}
      schY={2.5}
      connections={{ anode: "net.SW", cathode: "net.VOUT_12V" }}
    />

    <Capacitor1206
      name="C1"
      pcbRotation={-90}
      pcbX={inputCap.x}
      pcbY={inputCap.y}
      schX={-4}
      schY={-1.7}
      connections={{ pin1: "net.V5", pin2: "net.GND" }}
    />

    <Capacitor1206
      name="C2"
      pcbRotation={-90}
      pcbX={outputCap.x}
      pcbY={outputCap.y}
      schX={4.3}
      schY={-1.7}
      connections={{ pin1: "net.VOUT_12V", pin2: "net.GND" }}
    />

    <resistor
      name="R1"
      resistance="62k"
      manufacturerPartNumber="0603WAF6202T5E"
      supplierPartNumbers={{ jlcpcb: ["C23221"] }}
      footprint="0603"
      pcbX={rHigh.x}
      pcbY={rHigh.y}
      schX={4.8}
      schY={0.4}
      connections={{ pin1: "net.VOUT_12V", pin2: "net.FB" }}
    />

    <resistor
      name="R2"
      resistance="3.3k"
      manufacturerPartNumber="0603WAF3301T5E"
      supplierPartNumbers={{ jlcpcb: ["C22978"] }}
      footprint="0603"
      pcbX={rLow.x}
      pcbY={rLow.y}
      schX={4.8}
      schY={-1.4}
      connections={{ pin1: "net.FB", pin2: "net.GND" }}
    />

    {/* <copperpour connectsTo="net.GND" layer="top" clearance="0.25mm" />
    <copperpour connectsTo="net.GND" layer="bottom" clearance="0.25mm" /> */}
  </board>
)