Devesh36/facet-four

FACET Four: a USB-C macro controller with four angled keys, a volume encoder, blue LEDs, an OLED and a fitted enclosure. Includes assembled, exploded and routed PCB views. Hardware prototype; firmware required.

Version
0.1.3
License
unset
Stars
0

imports/RP2040_Zero.tsx

import type { ChipProps } from "@tscircuit/props"

const pinLabels = {
  pin1: ["GP0"],
  pin2: ["GP1"],
  pin3: ["GP2"],
  pin4: ["GP3"],
  pin5: ["GP4"],
  pin6: ["GP5"],
  pin7: ["GP6"],
  pin8: ["GP7"],
  pin9: ["GP8"],
  pin10: ["GP9"],
  pin11: ["GP10"],
  pin12: ["GP11"],
  pin13: ["GP12"],
  pin14: ["GP13"],
  pin15: ["GP14"],
  pin16: ["GP15"],
  pin17: ["GP26"],
  pin18: ["GP27"],
  pin19: ["GP28"],
  pin20: ["GP29"],
  pin21: ["3V3"],
  pin22: ["GND"],
  pin23: ["5V"],
  pin24: ["pin24"],
  pin25: ["pin25"],
  pin26: ["pin26"],
  pin27: ["pin27"],
  pin28: ["pin28"],
  pin29: ["pin29"],
  pin30: ["pin30"],
  pin31: ["pin31"],
  pin32: ["pin32"],
  pin33: ["pin33"]
} as const

const pinAttributes = {
  pin22: {requiresGround: true}
} as const

export const RP2040_Zero = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      pinAttributes={pinAttributes}
      supplierPartNumbers={{
  "jlcpcb": [
    "C5350143"
  ]
}}
      manufacturerPartNumber="RP2040-Zero"
      footprint={<footprint>
        <cutout shape="polygon" points={[{"x":-5.399989199999936,"y":11.92866550000008},{"x":-5.399989199999936,"y":-9.771341899999811},{"x":6.999909800000069,"y":-9.771341899999811},{"x":6.999909800000069,"y":11.92866550000008},{"x":-5.399989199999936,"y":11.92866550000008}]} />
<smtpad portHints={["pin1"]} pcbX="8.499983mm" pcbY="10.4812465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin2"]} pcbX="8.499983mm" pcbY="7.9412465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin3"]} pcbX="8.499983mm" pcbY="5.4012465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin4"]} pcbX="8.499983mm" pcbY="2.8612465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin5"]} pcbX="8.499983mm" pcbY="0.3212465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin6"]} pcbX="8.499983mm" pcbY="-2.2187535mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin7"]} pcbX="8.499983mm" pcbY="-4.7587535mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin8"]} pcbX="8.499983mm" pcbY="-7.2987535mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin9"]} pcbX="8.499983mm" pcbY="-9.8387535mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin10"]} pcbX="5.079873mm" pcbY="-10.9286675mm" width="1.1999976mm" height="1.999996mm" shape="rect" />
<smtpad portHints={["pin11"]} pcbX="2.539873mm" pcbY="-10.9286675mm" width="1.1999976mm" height="1.999996mm" shape="rect" />
<smtpad portHints={["pin12"]} pcbX="-0.000127mm" pcbY="-10.9286675mm" width="1.1999976mm" height="1.999996mm" shape="rect" />
<smtpad portHints={["pin13"]} pcbX="-2.540127mm" pcbY="-10.9286675mm" width="1.1999976mm" height="1.999996mm" shape="rect" />
<smtpad portHints={["pin14"]} pcbX="-5.080127mm" pcbY="-10.9286675mm" width="1.1999976mm" height="1.999996mm" shape="rect" />
<smtpad portHints={["pin15"]} pcbX="-8.499983mm" pcbY="-9.8387535mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin16"]} pcbX="-8.499983mm" pcbY="-7.2987535mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin17"]} pcbX="-8.499983mm" pcbY="-4.7587535mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin18"]} pcbX="-8.499983mm" pcbY="-2.2187535mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin19"]} pcbX="-8.499983mm" pcbY="0.3212465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin20"]} pcbX="-8.499983mm" pcbY="2.8612465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin21"]} pcbX="-8.499983mm" pcbY="5.4012465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin22"]} pcbX="-8.499983mm" pcbY="7.9412465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin23"]} pcbX="-8.499983mm" pcbY="10.4812465mm" width="1.999996mm" height="1.1999976mm" shape="rect" />
<smtpad portHints={["pin24"]} pcbX="-5.9899804mm" pcbY="-6.3387097mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<smtpad portHints={["pin25"]} pcbX="-5.9899804mm" pcbY="-5.0687097mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<smtpad portHints={["pin26"]} pcbX="-5.9899804mm" pcbY="-3.7987097mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<smtpad portHints={["pin27"]} pcbX="-5.9899804mm" pcbY="-2.5287097mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<smtpad portHints={["pin28"]} pcbX="-5.9899804mm" pcbY="-1.2587097mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<smtpad portHints={["pin29"]} pcbX="-5.9899804mm" pcbY="0.0112649mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<smtpad portHints={["pin30"]} pcbX="-5.9899804mm" pcbY="1.2812649mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<smtpad portHints={["pin31"]} pcbX="-5.9899804mm" pcbY="2.5512649mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<smtpad portHints={["pin32"]} pcbX="-5.9899804mm" pcbY="3.8212649mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<smtpad portHints={["pin33"]} pcbX="-5.9899804mm" pcbY="5.0912649mm" width="1.0100056mm" height="0.6100064mm" shape="rect" />
<silkscreenpath route={[{"x":4.481322000000091,"y":12.07621410000013},{"x":4.481322000000091,"y":13.576211100000137},{"x":-4.47974720000002,"y":13.576211100000137}]} />
<silkscreenpath route={[{"x":-4.47974720000002,"y":12.07621410000013},{"x":-4.47974720000002,"y":13.576211100000137}]} />
<silkscreenpath route={[{"x":-5.911240399999997,"y":-11.423738899999876},{"x":-9.000058200000012,"y":-11.423738899999876}]} />
<silkscreenpath route={[{"x":-3.3712404000000333,"y":-11.423738899999876},{"x":-4.248962799999958,"y":-11.423738899999876}]} />
<silkscreenpath route={[{"x":-0.831240399999956,"y":-11.423738899999876},{"x":-1.708962799999881,"y":-11.423738899999876}]} />
<silkscreenpath route={[{"x":1.7087342000000945,"y":-11.423738899999876},{"x":0.8310372000000825,"y":-11.423738899999876}]} />
<silkscreenpath route={[{"x":4.248734200000172,"y":-11.423738899999876},{"x":3.371011800000133,"y":-11.423738899999876}]} />
<silkscreenpath route={[{"x":8.999905800000079,"y":-10.669866899999874},{"x":8.999905800000079,"y":-11.423738899999876},{"x":5.911011799999983,"y":-11.423738899999876}]} />
<silkscreenpath route={[{"x":8.999905800000079,"y":-8.129892299999824},{"x":8.999905800000079,"y":-9.007589299999722}]} />
<silkscreenpath route={[{"x":8.999905800000079,"y":-5.589892299999747},{"x":8.999905800000079,"y":-6.467614699999899}]} />
<silkscreenpath route={[{"x":8.999905800000079,"y":-3.0498922999998967},{"x":8.999905800000079,"y":-3.9276146999999355}]} />
<silkscreenpath route={[{"x":8.999905800000079,"y":-0.5098922999998194},{"x":8.999905800000079,"y":-1.3876146999998582}]} />
<silkscreenpath route={[{"x":8.999905800000079,"y":2.030107700000258},{"x":8.999905800000079,"y":1.152385300000219}]} />
<silkscreenpath route={[{"x":8.999905800000079,"y":4.570082300000195},{"x":8.999905800000079,"y":3.692385300000069}]} />
<silkscreenpath route={[{"x":8.999905800000079,"y":7.110082300000045},{"x":8.999905800000079,"y":6.2323599000001195}]} />
<silkscreenpath route={[{"x":8.999905800000079,"y":9.650082300000122},{"x":8.999905800000079,"y":8.772359900000197}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":11.312385300000074},{"x":-9.000058200000012,"y":12.07621410000013},{"x":8.999905800000079,"y":12.07621410000013},{"x":8.999905800000079,"y":11.312359900000274}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":8.77238530000011},{"x":-9.000058200000012,"y":9.650107700000262}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":6.232385300000146},{"x":-9.000058200000012,"y":7.110107700000185}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":3.6924107000002095},{"x":-9.000058200000012,"y":4.570107700000108}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":1.1524107000001322},{"x":-9.000058200000012,"y":2.0301331000000573}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":-1.3875892999998314},{"x":-9.000058200000012,"y":-0.5098668999997926}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":-3.927589299999795},{"x":-9.000058200000012,"y":-3.04986689999987}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":-6.467589299999872},{"x":-9.000058200000012,"y":-5.589866899999947}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":-9.007563899999923},{"x":-9.000058200000012,"y":-8.12986689999991}]} />
<silkscreenpath route={[{"x":-9.000058200000012,"y":-11.423738899999876},{"x":-9.000058200000012,"y":-10.669841499999734}]} />
<silkscreentext text="{NAME}" pcbX="-0.000127mm" pcbY="14.6054465mm" anchorAlignment="center" fontSize="1mm" />
<fabricationnotepath route={[{"x":-4.400067400000012,"y":12.07621410000013},{"x":-4.400067400000012,"y":13.576211100000137},{"x":4.3999149999999645,"y":13.576211100000137},{"x":4.3999149999999645,"y":12.07621410000013},{"x":-4.400067400000012,"y":12.07621410000013}]} strokeWidth="0mm" isFilled hasStroke={false} />
<courtyardoutline outline={[{"x":-9.749727000000007,"y":13.855446500000312},{"x":9.74947300000008,"y":13.855446500000312},{"x":9.74947300000008,"y":-12.171553499999732},{"x":-9.749727000000007,"y":-12.171553499999732},{"x":-9.749727000000007,"y":13.855446500000312}]} />
      </footprint>}
      
      {...props}
    />
  )
}