0hmX/dual-usb-peltier-assembly

A 100×80 mm four-layer USB‑C PD Peltier controller PCB built around an RP2040, TPS55289 adjustable buck‑boost driver, PD controller, power MOSFETs, sensors, fan regulator, connectors, protection, and supporting passives.

Version
0.4.8
License
unset
Stars
0

src/board/temperature-ports.tsx

import { TemperatureRouting } from "./temperature-routes"
import { XY302V_3_5_3P as SensorTerminal } from "../parts/XY302V_3_5_3P"
import { USBLC6_2SC6 } from "../../imports/USBLC6_2SC6"
import { CC0603KRX7R9BB104 as Capacitor100nF } from "../parts/C14663"
import { A_0603WAF1001T5E as Resistor0603 } from "../../imports/A_0603WAF1001T5E"

// One powered DS18B20 per port: red=3V3, yellow=DATA, black=GND.
// The two independent 3.3 V GPIO lines can support other digital probes with
// suitable firmware. Existing SDA/SCL debug pads expose the shared I2C bus.
export function TemperaturePorts() {
  return <>
    <TemperatureRouting />
    <SensorTerminal name="J_HOT_SENSOR" pcbX={44} pcbY={12} pcbRotation={90} schX={10} schY={3} schRotation={0} schSheetName="SENSORS"
      connections={{ pin1: "net.CTRL_3V3", pin2: "net.HOT_SENSOR_DATA", pin3: "net.GND" }}>
      <schematictext text="HOT · DS18B20 · GP8" schX={-15} schY={4.5} anchor="center" fontSize={0.5} />
    </SensorTerminal>
    <SensorTerminal name="J_COLD_SENSOR" pcbX={44} pcbY={-8} pcbRotation={90} schX={10} schY={-3} schRotation={0} schSheetName="SENSORS"
      connections={{ pin1: "net.CTRL_3V3", pin2: "net.COLD_SENSOR_DATA", pin3: "net.GND" }}>
      <schematictext text="COLD · DS18B20 · GP9" schX={-15} schY={4.5} anchor="center" fontSize={0.5} />
    </SensorTerminal>
    <Resistor0603 name="R_HOT_PULLUP" resistance="4.7k" pcbX={55} pcbY={14} schX={0} schY={5.5} schRotation={270} schSheetName="SENSORS"
      manufacturerPartNumber="0603WAF4701T5E" supplierPartNumbers={{ jlcpcb: ["C23162"] }}
      connections={{ pin1: "net.CTRL_3V3", pin2: "net.HOT_SENSOR_DATA" }} />
    <Resistor0603 name="R_COLD_PULLUP" resistance="4.7k" pcbX={55} pcbY={-6} schX={0} schY={-0.5} schRotation={270} schSheetName="SENSORS"
      manufacturerPartNumber="0603WAF4701T5E" supplierPartNumbers={{ jlcpcb: ["C23162"] }}
      connections={{ pin1: "net.CTRL_3V3", pin2: "net.COLD_SENSOR_DATA" }} />
    <Resistor0603 name="R_HOT_SERIES" resistance="100" pcbX={55} pcbY={10} schX={-5} schY={3} schRotation={0} schSheetName="SENSORS"
      manufacturerPartNumber="0603WAF1000T5E" supplierPartNumbers={{ jlcpcb: ["C22775"] }}
      connections={{ pin1: "net.HOT_DATA_MCU", pin2: "net.HOT_SENSOR_DATA" }} />
    <Resistor0603 name="R_COLD_SERIES" resistance="100" pcbX={55} pcbY={-10} schX={-5} schY={-3} schRotation={0} schSheetName="SENSORS"
      manufacturerPartNumber="0603WAF1000T5E" supplierPartNumbers={{ jlcpcb: ["C22775"] }}
      connections={{ pin1: "net.COLD_DATA_MCU", pin2: "net.COLD_SENSOR_DATA" }} />
    <Capacitor100nF name="C_HOT_SENSOR" maxVoltageRating="50V" pcbX={55} pcbY={18} schX={5} schY={5.5} schRotation={270} schSheetName="SENSORS"
      connections={{ pin1: "net.CTRL_3V3", pin2: "net.GND" }} />
    <Capacitor100nF name="C_COLD_SENSOR" maxVoltageRating="50V" pcbX={55} pcbY={-2} schX={5} schY={-0.5} schRotation={270} schSheetName="SENSORS"
      connections={{ pin1: "net.CTRL_3V3", pin2: "net.GND" }} />
    <USBLC6_2SC6 name="U_SENSOR_ESD" pcbX={55} pcbY={4} schX={0} schY={-8} schRotation={0} schSheetName="SENSORS"
      connections={{ pin1: "net.HOT_SENSOR_DATA", pin6: "net.HOT_SENSOR_DATA",
        pin3: "net.COLD_SENSOR_DATA", pin4: "net.COLD_SENSOR_DATA", pin2: "net.GND", pin5: "net.CTRL_3V3" }}>
      <schematictext text="SHARED ESD PROTECTION" schX={0} schY={2.6} fontSize={0.4} />
      <schematictext text="HOT: pins 1/6 · COLD: pins 3/4" schX={0} schY={-2} fontSize={0.3} />
      <schematictext text="Powered probes · 3V3 / DATA / GND · no parasite power" schX={0} schY={-3.4} fontSize={0.3} />
    </USBLC6_2SC6>
    <silkscreentext text="HOT" pcbX={44} pcbY={21} fontSize={0.8} />
    <silkscreentext text="3V3" pcbX={39} pcbY={8.500007} fontSize={0.55} />
    <silkscreentext text="DATA" pcbX={39} pcbY={12} fontSize={0.55} />
    <silkscreentext text="GND" pcbX={39} pcbY={15.499993} fontSize={0.55} />
    <silkscreentext text="COLD" pcbX={44} pcbY={1} fontSize={0.8} />
    <silkscreentext text="3V3" pcbX={39} pcbY={-11.499993} fontSize={0.55} />
    <silkscreentext text="DATA" pcbX={39} pcbY={-8} fontSize={0.55} />
    <silkscreentext text="GND" pcbX={39} pcbY={-4.500007} fontSize={0.55} />
  </>
}