MustafaMulla29/wireless-mouse-pcb

This code defines a 3.3V low dropout voltage regulator chip (AP2112K-3.3TRG1) with five pins (VIN, GND, Enable, NC, VOUT) and its associated PCB footprint and 3D models for hardware implementation.

Version
1.0.6
License
unset
Stars
0

sections/OpticalSensorSection.tsx

import { PMW3360DM_T2QU } from "../imports/PMW3360DM_T2QU"
import { TLV70019DDCR } from "../imports/TLV70019DDCR"
import { NetTrace, POWER_TRACE, withSchematicSheet } from "./shared"

export const OpticalSensorSection = () => withSchematicSheet("sensor", (
  <>
    {/* 1.9 V +/-2% stays above PMW3360's 1.80 V minimum; a nominal 1.8 V rail does not. */}
    <TLV70019DDCR
      name="U_SENSOR_LDO"
      noConnect={["NC"]}
      pcbX={-10.5}
      pcbY={6.5}
      schX={18}
      schY={-6.52}
      schWidth={1.77}
      schHeight={0.6}
      schPinArrangement={{
        leftSide: { pins: ["IN", "EN", "GND"], direction: "top-to-bottom" },
        rightSide: { pins: ["OUT", "NC"], direction: "top-to-bottom" },
      }}
      schSectionName="OpticalSensor"
    />
    <capacitor name="C_SENSOR_LDO_IN" capacitance="1uF" footprint="0603" pcbX={-9} pcbY={9.5} schX={14} schY={-6.42} schOrientation="vertical" schSectionName="OpticalSensor" />
    <capacitor name="C_SENSOR_LDO_OUT" capacitance="1uF" footprint="0603" pcbX={-13.5} pcbY={6.5} pcbRotation={90} schX={22} schY={-6.72} schOrientation="vertical" schSectionName="OpticalSensor" />

    <PMW3360DM_T2QU
      name="U_SENSOR"
      noConnect={["NC1", "NC2", "NC3", "NC4", "NC5"]}
      pcbX={0}
      pcbY={0.2}
      pcbRotation={0}
      schX={26.53}
      schY={0}
      schWidth={2.34}
      schHeight={1.8}
      schPinArrangement={{
        leftSide: {
          pins: ["NC1", "NC2", "VDD", "VDDIO", "VDDPIX", "GND", "NRESET", "LED_P"],
          direction: "top-to-bottom",
        },
        rightSide: {
          pins: ["SCLK", "MOSI", "MISO", "NCS", "MOTION", "NC3", "NC4", "NC5"],
          direction: "top-to-bottom",
        },
      }}
      schSectionName="OpticalSensor"
    />

    <capacitor name="C_SENSOR_VDD_BULK" capacitance="10uF" footprint="0805" pcbX={-12} pcbY={-1} pcbRotation={90} schX={17} schY={5.5} schOrientation="vertical" schSectionName="OpticalSensor" />
    <capacitor name="C_SENSOR_VDD" capacitance="100nF" footprint="0402" pcbX={-12.5} pcbY={-4} schX={20.5} schY={5.5} schOrientation="vertical" schSectionName="OpticalSensor" />
    <capacitor name="C_SENSOR_VDDIO" capacitance="100nF" footprint="0402" pcbX={-8.5} pcbY={-1} schX={24} schY={5.5} schOrientation="vertical" schSectionName="OpticalSensor" />
    <capacitor name="C_SENSOR_PIX_BULK" capacitance="4.7uF" footprint="0603" pcbX={-8.5} pcbY={3.5} schX={29.5} schY={5.5} schOrientation="vertical" schSectionName="OpticalSensor" />
    <capacitor name="C_SENSOR_PIX" capacitance="100nF" footprint="0402" pcbX={9} pcbY={0} schX={33} schY={5.5} schOrientation="vertical" schSectionName="OpticalSensor" />
    <resistor name="R_SENSOR_LED" resistance="39" footprint="0603" pcbX={-12.3} pcbY={3.2} schX={24} schY={8.5} schSectionName="OpticalSensor" />
    <resistor name="R_SENSOR_RESET" resistance="10k" footprint="0402" pcbX={-9.5} pcbY={-4} schX={36.5} schY={5.5} schSectionName="OpticalSensor" />
    <resistor name="R_SENSOR_RESET_SERIES" resistance="33" footprint="0402" pcbX={8.5} pcbY={10} schX={36.5} schY={7.5} schSectionName="OpticalSensor" />
    <resistor name="R_SENSOR_MOTION_SERIES" resistance="33" footprint="0402" pcbX={16.2} pcbY={22.5} schX={36.5} schY={-6} schSectionName="OpticalSensor" />
    <resistor name="R_SPI_SCLK" resistance="33" footprint="0402" pcbX={13.2} pcbY={20.6} schX={34} schY={3} schSectionName="OpticalSensor" />
    <resistor name="R_SPI_MOSI" resistance="33" footprint="0402" pcbX={13.2} pcbY={21.7} schX={34.47} schY={0} schSectionName="OpticalSensor" />
    <resistor name="R_SPI_MISO" resistance="33" footprint="0402" pcbX={13.7} pcbY={22.8} schX={34.47} schY={1.5} schSectionName="OpticalSensor" />
    <resistor name="R_SPI_CS" resistance="33" footprint="0402" pcbX={13.2} pcbY={23.9} schX={34} schY={-3} schSectionName="OpticalSensor" />

    <NetTrace from=".U_SENSOR_LDO > .IN" to="net.V3V3" width={POWER_TRACE} />
    <NetTrace from=".U_SENSOR_LDO > .EN" to="net.V3V3" />
    <NetTrace from=".U_SENSOR_LDO > .GND" to="net.GND" width={POWER_TRACE} />
    <NetTrace from=".U_SENSOR_LDO > .OUT" to="net.V1V9" width={POWER_TRACE} />
    <NetTrace from=".C_SENSOR_LDO_IN > .pin1" to="net.V3V3" />
    <NetTrace from=".C_SENSOR_LDO_IN > .pin2" to="net.GND" />
    <NetTrace from=".C_SENSOR_LDO_OUT > .pin1" to="net.V1V9" />
    <NetTrace from=".C_SENSOR_LDO_OUT > .pin2" to="net.GND" />

    <NetTrace from=".U_SENSOR > .VDD" to="net.V1V9" width={POWER_TRACE} />
    <NetTrace from=".U_SENSOR > .VDDIO" to="net.V3V3" width={POWER_TRACE} />
    <NetTrace from=".U_SENSOR > .GND" to="net.GND" width={POWER_TRACE} />
    <NetTrace from=".C_SENSOR_VDD_BULK > .pin1" to="net.V1V9" />
    <NetTrace from=".C_SENSOR_VDD_BULK > .pin2" to="net.GND" />
    <NetTrace from=".C_SENSOR_VDD > .pin1" to="net.V1V9" />
    <NetTrace from=".C_SENSOR_VDD > .pin2" to="net.GND" />
    <NetTrace from=".C_SENSOR_VDDIO > .pin1" to="net.V3V3" />
    <NetTrace from=".C_SENSOR_VDDIO > .pin2" to="net.GND" />
    <NetTrace from=".U_SENSOR > .VDDPIX" to="net.VPIX" />
    <NetTrace from=".C_SENSOR_PIX_BULK > .pin1" to="net.VPIX" />
    <NetTrace from=".C_SENSOR_PIX_BULK > .pin2" to="net.GND" />
    <NetTrace from=".C_SENSOR_PIX > .pin1" to="net.VPIX" />
    <NetTrace from=".C_SENSOR_PIX > .pin2" to="net.GND" />

    <NetTrace from="net.V1V9" to=".R_SENSOR_LED > .pin1" />
    <NetTrace name="S_LED" from=".R_SENSOR_LED > .pin2" to=".U_SENSOR > .LED_P" />
    <NetTrace from="net.V3V3" to=".R_SENSOR_RESET > .pin1" />
    <NetTrace from=".R_SENSOR_RESET > .pin2" to="net.S_RST_N" />
    <NetTrace from=".U_SENSOR > .NRESET" to="net.S_RST_N" />
    <NetTrace from="net.S_RST" to=".R_SENSOR_RESET_SERIES > .pin1" />
    <NetTrace from=".R_SENSOR_RESET_SERIES > .pin2" to="net.S_RST_N" />
    <NetTrace from="net.SCLK" to=".R_SPI_SCLK > .pin1" />
    <NetTrace name="SCLK_S" from=".R_SPI_SCLK > .pin2" to=".U_SENSOR > .SCLK" />
    <NetTrace from="net.MOSI" to=".R_SPI_MOSI > .pin1" />
    <NetTrace name="MOSI_S" from=".R_SPI_MOSI > .pin2" to=".U_SENSOR > .MOSI" />
    <NetTrace from="net.CS_N" to=".R_SPI_CS > .pin1" />
    <NetTrace name="CS_S" from=".R_SPI_CS > .pin2" to=".U_SENSOR > .NCS" />
    <NetTrace from="net.MISO" to=".R_SPI_MISO > .pin1" />
    <NetTrace name="MISO_S" from=".R_SPI_MISO > .pin2" to=".U_SENSOR > .MISO" />
    <NetTrace from=".U_SENSOR > .MOTION" to="net.S_MOT" />
    <NetTrace from="net.S_MOT" to=".R_SENSOR_MOTION_SERIES > .pin1" />
    <NetTrace from=".R_SENSOR_MOTION_SERIES > .pin2" to="net.MOTION" />
  </>
), -25.25)