AnasSarkiz/magnetic-shutter-remote-r8

A USB‑C rechargeable battery-powered ESP32‑C3 wireless controller with Li‑ion charging, protected 3.3‑V buck‑boost regulation, thermal/safety monitoring, status LEDs, buttons, programming UART, crystal clock, and 2.4‑GHz antenna matching network.

Version
0.4.0-prototype
License
unset
Stars
0

imports/ESP32_C3FH4/ESP32_C3FH4.tsx

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

const pinLabels = {
  pin1: ["LNA_IN"],
  pin2: ["VDD3P31"],
  pin3: ["VDD3P32"],
  pin4: ["XTAL_32K_P"],
  pin5: ["XTAL_32K_N"],
  pin6: ["GPIO2"],
  pin7: ["CHIP_EN"],
  pin8: ["GPIO3"],
  pin9: ["MTMS"],
  pin10: ["MTDI"],
  pin11: ["VDD3P3_RTC"],
  pin12: ["MTCK"],
  pin13: ["MTDO"],
  pin14: ["GPIO8"],
  pin15: ["GPIO9"],
  pin16: ["GPIO10"],
  pin17: ["VDD3P3_CPU"],
  pin18: ["VDD_SPI"],
  pin19: ["SPIHD"],
  pin20: ["SPIWP"],
  pin21: ["SPICS0"],
  pin22: ["SPICLK"],
  pin23: ["SPID"],
  pin24: ["SPIQ"],
  pin25: ["GPIO18"],
  pin26: ["GPIO19"],
  pin27: ["U0RXD"],
  pin28: ["U0TXD"],
  pin29: ["XTAL_N"],
  pin30: ["XTAL_P"],
  pin31: ["VDDA1"],
  pin32: ["VDDA2"],
  pin33: ["EP"]
} as const

const pinAttributes = {
  pin31: {requiresPower: true},
  pin32: {requiresPower: true}
} as const

export const ESP32_C3FH4 = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      pinAttributes={pinAttributes}
      supplierPartNumbers={{
  "jlcpcb": [
    "C2858491"
  ]
}}
      manufacturerPartNumber="ESP32-C3FH4"
      footprint={<footprint>
        <smtpad portHints={["pin1"]} pcbX="-2.477516mm" pcbY="1.75006mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin2"]} pcbX="-2.477516mm" pcbY="1.249934mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin3"]} pcbX="-2.477516mm" pcbY="0.750062mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin4"]} pcbX="-2.477516mm" pcbY="0.249936mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin5"]} pcbX="-2.477516mm" pcbY="-0.249936mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin6"]} pcbX="-2.477516mm" pcbY="-0.750062mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin7"]} pcbX="-2.477516mm" pcbY="-1.249934mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin8"]} pcbX="-2.477516mm" pcbY="-1.75006mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin9"]} pcbX="-1.75006mm" pcbY="-2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin10"]} pcbX="-1.249934mm" pcbY="-2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin11"]} pcbX="-0.750062mm" pcbY="-2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin12"]} pcbX="-0.249936mm" pcbY="-2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin13"]} pcbX="0.249936mm" pcbY="-2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin14"]} pcbX="0.750062mm" pcbY="-2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin15"]} pcbX="1.249934mm" pcbY="-2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin16"]} pcbX="1.75006mm" pcbY="-2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin17"]} pcbX="2.477516mm" pcbY="-1.75006mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin18"]} pcbX="2.477516mm" pcbY="-1.249934mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin19"]} pcbX="2.477516mm" pcbY="-0.750062mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin20"]} pcbX="2.477516mm" pcbY="-0.249936mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin21"]} pcbX="2.477516mm" pcbY="0.249936mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin22"]} pcbX="2.477516mm" pcbY="0.750062mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin23"]} pcbX="2.477516mm" pcbY="1.249934mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin24"]} pcbX="2.477516mm" pcbY="1.75006mm" width="0.6500114mm" height="0.2800096mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin25"]} pcbX="1.75006mm" pcbY="2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin26"]} pcbX="1.249934mm" pcbY="2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin27"]} pcbX="0.750062mm" pcbY="2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin28"]} pcbX="0.249936mm" pcbY="2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin29"]} pcbX="-0.249936mm" pcbY="2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin30"]} pcbX="-0.750062mm" pcbY="2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin31"]} pcbX="-1.249934mm" pcbY="2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin32"]} pcbX="-1.75006mm" pcbY="2.477516mm" width="0.2800096mm" height="0.6500114mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<smtpad portHints={["pin33"]} pcbX="0mm" pcbY="0mm" width="3.7999924mm" height="3.7999924mm" shape="rect" solderPasteMargin="-99.9998mm" solderMaskMargin="0.0508mm" />
<solderpaste shape="polygon" points={[{"x":-1.5199867999999697,"y":1.5199867999999697},{"x":1.519986799999856,"y":1.5199867999999697},{"x":1.519986799999856,"y":-1.5199867999999697},{"x":-1.5199867999999697,"y":-1.5199867999999697}]} />
<solderpaste shape="polygon" points={[{"x":-2.8024835999999596,"y":1.8900648000001183},{"x":-2.1524976000000606,"y":1.8900648000001183},{"x":-2.1524976000000606,"y":1.6100552000000334},{"x":-2.8024835999999596,"y":1.6100552000000334}]} />
<solderpaste shape="polygon" points={[{"x":-2.8024835999999596,"y":1.3899388000000954},{"x":-2.1524976000000606,"y":1.3899388000000954},{"x":-2.1524976000000606,"y":1.1099292000000105},{"x":-2.8024835999999596,"y":1.1099292000000105}]} />
<solderpaste shape="polygon" points={[{"x":-2.8024835999999596,"y":0.8900667999998859},{"x":-2.1524976000000606,"y":0.8900667999998859},{"x":-2.1524976000000606,"y":0.6100572000000284},{"x":-2.8024835999999596,"y":0.6100572000000284}]} />
<solderpaste shape="polygon" points={[{"x":-2.8024835999999596,"y":0.38994079999997666},{"x":-2.1524976000000606,"y":0.38994079999997666},{"x":-2.1524976000000606,"y":0.10993120000011913},{"x":-2.8024835999999596,"y":0.10993120000011913}]} />
<solderpaste shape="polygon" points={[{"x":-2.8024835999999596,"y":-0.10993120000000545},{"x":-2.1524976000000606,"y":-0.10993120000000545},{"x":-2.1524976000000606,"y":-0.38994079999997666},{"x":-2.8024835999999596,"y":-0.38994079999997666}]} />
<solderpaste shape="polygon" points={[{"x":-2.8024835999999596,"y":-0.6100572000000284},{"x":-2.1524976000000606,"y":-0.6100572000000284},{"x":-2.1524976000000606,"y":-0.8900667999999996},{"x":-2.8024835999999596,"y":-0.8900667999999996}]} />
<solderpaste shape="polygon" points={[{"x":-2.8024835999999596,"y":-1.1099291999998968},{"x":-2.1524976000000606,"y":-1.1099291999998968},{"x":-2.1524976000000606,"y":-1.3899387999999817},{"x":-2.8024835999999596,"y":-1.3899387999999817}]} />
<solderpaste shape="polygon" points={[{"x":-2.8024835999999596,"y":-1.6100551999999198},{"x":-2.1524976000000606,"y":-1.6100551999999198},{"x":-2.1524976000000606,"y":-1.8900648000001183},{"x":-2.8024835999999596,"y":-1.8900648000001183}]} />
<solderpaste shape="polygon" points={[{"x":-1.8900648000001183,"y":-2.15247219999992},{"x":-1.6100552000000334,"y":-2.15247219999992},{"x":-1.6100552000000334,"y":-2.8024835999999596},{"x":-1.8900648000001183,"y":-2.8024835999999596}]} />
<solderpaste shape="polygon" points={[{"x":-1.3899388000000954,"y":-2.15247219999992},{"x":-1.1099292000001242,"y":-2.15247219999992},{"x":-1.1099292000001242,"y":-2.8024835999999596},{"x":-1.3899388000000954,"y":-2.8024835999999596}]} />
<solderpaste shape="polygon" points={[{"x":-0.8900667999999996,"y":-2.15247219999992},{"x":-0.6100572000000284,"y":-2.15247219999992},{"x":-0.6100572000000284,"y":-2.8024835999999596},{"x":-0.8900667999999996,"y":-2.8024835999999596}]} />
<solderpaste shape="polygon" points={[{"x":-0.38994079999997666,"y":-2.15247219999992},{"x":-0.10993120000000545,"y":-2.15247219999992},{"x":-0.10993120000000545,"y":-2.8024835999999596},{"x":-0.38994079999997666,"y":-2.8024835999999596}]} />
<solderpaste shape="polygon" points={[{"x":0.10993120000000545,"y":-2.15247219999992},{"x":0.389940799999863,"y":-2.15247219999992},{"x":0.389940799999863,"y":-2.8024835999999596},{"x":0.10993120000000545,"y":-2.8024835999999596}]} />
<solderpaste shape="polygon" points={[{"x":0.6100571999999147,"y":-2.15247219999992},{"x":0.8900667999998859,"y":-2.15247219999992},{"x":0.8900667999998859,"y":-2.8024835999999596},{"x":0.6100571999999147,"y":-2.8024835999999596}]} />
<solderpaste shape="polygon" points={[{"x":1.1099291999998968,"y":-2.15247219999992},{"x":1.3899387999999817,"y":-2.15247219999992},{"x":1.3899387999999817,"y":-2.8024835999999596},{"x":1.1099291999998968,"y":-2.8024835999999596}]} />
<solderpaste shape="polygon" points={[{"x":1.6100552000000334,"y":-2.15247219999992},{"x":1.8900648000000047,"y":-2.15247219999992},{"x":1.8900648000000047,"y":-2.8024835999999596},{"x":1.6100552000000334,"y":-2.8024835999999596}]} />
<solderpaste shape="polygon" points={[{"x":2.15247219999992,"y":-1.6100551999999198},{"x":2.8024835999999596,"y":-1.6100551999999198},{"x":2.8024835999999596,"y":-1.8900648000001183},{"x":2.15247219999992,"y":-1.8900648000001183}]} />
<solderpaste shape="polygon" points={[{"x":2.15247219999992,"y":-1.1099291999998968},{"x":2.8024835999999596,"y":-1.1099291999998968},{"x":2.8024835999999596,"y":-1.3899387999999817},{"x":2.15247219999992,"y":-1.3899387999999817}]} />
<solderpaste shape="polygon" points={[{"x":2.15247219999992,"y":-0.6100572000000284},{"x":2.8024835999999596,"y":-0.6100572000000284},{"x":2.8024835999999596,"y":-0.8900667999999996},{"x":2.15247219999992,"y":-0.8900667999999996}]} />
<solderpaste shape="polygon" points={[{"x":2.15247219999992,"y":-0.10993120000000545},{"x":2.8024835999999596,"y":-0.10993120000000545},{"x":2.8024835999999596,"y":-0.38994079999997666},{"x":2.15247219999992,"y":-0.38994079999997666}]} />
<solderpaste shape="polygon" points={[{"x":2.15247219999992,"y":0.38994079999997666},{"x":2.8024835999999596,"y":0.38994079999997666},{"x":2.8024835999999596,"y":0.10993120000011913},{"x":2.15247219999992,"y":0.10993120000011913}]} />
<solderpaste shape="polygon" points={[{"x":2.15247219999992,"y":0.8900667999998859},{"x":2.8024835999999596,"y":0.8900667999998859},{"x":2.8024835999999596,"y":0.6100572000000284},{"x":2.15247219999992,"y":0.6100572000000284}]} />
<solderpaste shape="polygon" points={[{"x":2.15247219999992,"y":1.3899388000000954},{"x":2.8024835999999596,"y":1.3899388000000954},{"x":2.8024835999999596,"y":1.1099292000000105},{"x":2.15247219999992,"y":1.1099292000000105}]} />
<solderpaste shape="polygon" points={[{"x":2.15247219999992,"y":1.8900648000001183},{"x":2.8024835999999596,"y":1.8900648000001183},{"x":2.8024835999999596,"y":1.6100552000000334},{"x":2.15247219999992,"y":1.6100552000000334}]} />
<solderpaste shape="polygon" points={[{"x":1.6100552000000334,"y":2.8024835999999596},{"x":1.8900648000000047,"y":2.8024835999999596},{"x":1.8900648000000047,"y":2.152472200000034},{"x":1.6100552000000334,"y":2.152472200000034}]} />
<solderpaste shape="polygon" points={[{"x":1.1099291999998968,"y":2.8024835999999596},{"x":1.3899387999999817,"y":2.8024835999999596},{"x":1.3899387999999817,"y":2.152472200000034},{"x":1.1099291999998968,"y":2.152472200000034}]} />
<solderpaste shape="polygon" points={[{"x":0.6100571999999147,"y":2.8024835999999596},{"x":0.8900667999998859,"y":2.8024835999999596},{"x":0.8900667999998859,"y":2.152472200000034},{"x":0.6100571999999147,"y":2.152472200000034}]} />
<solderpaste shape="polygon" points={[{"x":0.10993120000000545,"y":2.8024835999999596},{"x":0.389940799999863,"y":2.8024835999999596},{"x":0.389940799999863,"y":2.152472200000034},{"x":0.10993120000000545,"y":2.152472200000034}]} />
<solderpaste shape="polygon" points={[{"x":-0.38994079999997666,"y":2.8024835999999596},{"x":-0.10993120000000545,"y":2.8024835999999596},{"x":-0.10993120000000545,"y":2.152472200000034},{"x":-0.38994079999997666,"y":2.152472200000034}]} />
<solderpaste shape="polygon" points={[{"x":-0.8900667999999996,"y":2.8024835999999596},{"x":-0.6100572000000284,"y":2.8024835999999596},{"x":-0.6100572000000284,"y":2.152472200000034},{"x":-0.8900667999999996,"y":2.152472200000034}]} />
<solderpaste shape="polygon" points={[{"x":-1.3899388000000954,"y":2.8024835999999596},{"x":-1.1099292000001242,"y":2.8024835999999596},{"x":-1.1099292000001242,"y":2.152472200000034},{"x":-1.3899388000000954,"y":2.152472200000034}]} />
<solderpaste shape="polygon" points={[{"x":-1.8900648000001183,"y":2.8024835999999596},{"x":-1.6100552000000334,"y":2.8024835999999596},{"x":-1.6100552000000334,"y":2.152472200000034},{"x":-1.8900648000001183,"y":2.152472200000034}]} />
<silkscreenpath route={[{"x":-2.0804886000000806,"y":2.5761949999999842},{"x":-2.5761949999999842,"y":2.0804886000000806}]} />
<silkscreenpath route={[{"x":2.080488599999967,"y":2.5761949999999842},{"x":2.5761949999999842,"y":2.5761949999999842},{"x":2.5761949999999842,"y":2.0804886000000806}]} />
<silkscreenpath route={[{"x":2.080488599999967,"y":-2.5761949999998706},{"x":2.5761949999999842,"y":-2.5761949999998706},{"x":2.5761949999999842,"y":-2.080488599999967}]} />
<silkscreenpath route={[{"x":-2.0804886000000806,"y":2.5761949999999842},{"x":-2.5761949999999842,"y":2.5761949999999842},{"x":-2.5761949999999842,"y":2.0804886000000806}]} />
<silkscreenpath route={[{"x":-2.0804886000000806,"y":-2.5761949999998706},{"x":-2.5761949999999842,"y":-2.5761949999998706},{"x":-2.5761949999999842,"y":-2.080488599999967}]} />
<silkscreencircle pcbX="-2.899918mm" pcbY="2.29997mm" radius="0.100076mm" />
<silkscreentext text="{NAME}" pcbX="-0.1016mm" pcbY="3.794mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-3.0525217000000566,"y":3.0525217000000566},{"x":3.0525217000000566,"y":3.0525217000000566},{"x":3.0525217000000566,"y":-3.0525217000000566},{"x":-3.0525217000000566,"y":-3.0525217000000566},{"x":-3.0525217000000566,"y":3.0525217000000566}]} />
      </footprint>}
      cadModel={{
        objUrl: objPath,
        stepUrl: stepPath,
        pcbRotationOffset: 0,
        modelOriginPosition: { x: 0, y: 0, z: 0 },
      }}
      {...props}
    />
  )
}