gokul/wireless-calculator

A USB‑C rechargeable battery-powered controller board with MCP73871 Li‑ion charging, TPS63070 buck‑boost and LDO power regulation, ATmega328P and ESP32‑S3 control, LCD/keypad user interface, status LEDs, and UART/programming connectors.

Version
0.0.1
License
ISC
Stars
0

imports/TPS22918DBVR/TPS22918DBVR.tsx

import objPath from "./TPS22918DBVR.obj";
import stepPath from "./TPS22918DBVR.step";
import type { ChipProps } from "@tscircuit/props";

const pinLabels = {
  pin1: ["VIN"],
  pin2: ["GND"],
  pin3: ["ON"],
  pin4: ["CT"],
  pin5: ["QOD"],
  pin6: ["VOUT"],
} as const;

const pinAttributes = {
  pin1: { isInput: true, requiresPower: true, mustBeConnected: true },
  pin2: { isPassive: true, requiresGround: true, mustBeConnected: true },
  pin3: { isInput: true, mustBeConnected: true },
  pin6: { isOutput: true, providesPower: true },
  pin5: { isOutput: true },
  pin4: { isOutput: true },
} satisfies NonNullable<ChipProps["pinAttributes"]>;

export const TPS22918DBVR = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      pinAttributes={pinAttributes}
      supplierPartNumbers={{
        jlcpcb: ["C131941"],
      }}
      manufacturerPartNumber="TPS22918DBVR"
      footprint={
        <footprint>
          <smtpad
            portHints={["pin3"]}
            pcbX="1.35001mm"
            pcbY="0.94996mm"
            width="1.0999978mm"
            height="0.5999988mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin2"]}
            pcbX="1.35001mm"
            pcbY="-0mm"
            width="1.0999978mm"
            height="0.5999988mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin1"]}
            pcbX="1.35001mm"
            pcbY="-0.94996mm"
            width="1.0999978mm"
            height="0.5999988mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin6"]}
            pcbX="-1.35001mm"
            pcbY="-0.94996mm"
            width="1.0999978mm"
            height="0.5999988mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin5"]}
            pcbX="-1.35001mm"
            pcbY="-0mm"
            width="1.0999978mm"
            height="0.5999988mm"
            shape="rect"
          />
          <smtpad
            portHints={["pin4"]}
            pcbX="-1.35001mm"
            pcbY="0.94996mm"
            width="1.0999978mm"
            height="0.5999988mm"
            shape="rect"
          />
          <silkscreenpath
            route={[
              { x: -0.899998200000141, y: 1.5499080000000731 },
              { x: 0.9000236000000541, y: 1.5499080000000731 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -0.899998200000141, y: -1.5501111999999466 },
              { x: 0.9000236000000541, y: -1.5501111999999466 },
            ]}
          />
          <silkscreencircle pcbX="1.397mm" pcbY="-1.651mm" radius="0.127mm" />
          <silkscreentext
            text="{NAME}"
            pcbX="0.012446mm"
            pcbY="2.562354mm"
            anchorAlignment="center"
            fontSize="1mm"
          />
          <courtyardoutline
            outline={[
              { x: -2.150008899999989, y: 1.6999081999999817 },
              { x: 2.150008899999989, y: 1.6999081999999817 },
              { x: 2.150008899999989, y: -1.700085999999942 },
              { x: -2.150008899999989, y: -1.700085999999942 },
              { x: -2.150008899999989, y: 1.6999081999999817 },
            ]}
          />
        </footprint>
      }
      cadModel={{
        objUrl: objPath,
        stepUrl: stepPath,
        pcbRotationOffset: 180,
        modelOriginPosition: {
          x: 0.000025399999913133797,
          y: -0.0000889000000370288,
          z: -0.048939,
        },
      }}
      {...props}
    />
  );
};