olivergrabinski/tscircuit-weather
A 60×44 mm ESP32-S3 Wi‑Fi/BLE weather-station PCB with USB‑C power, 3.3 V regulation and ESD protection, temperature/humidity and UV/light sensors, status LEDs, buttons, Qwiic I²C expansion, debug GPIO header, and a printable enclosure.
- Version
- 1.2.0
- License
- unset
- Stars
- 0
imports/TS_1187A_B_A_B.tsx
import type { PushButtonProps } from "@tscircuit/props"
const pinLabels = {
pin1: ["A"],
pin2: ["B"],
pin3: ["C"],
pin4: ["D"]
} as const
export const TS_1187A_B_A_B = (props: PushButtonProps<typeof pinLabels>) => {
const { name = "SW1", ...restProps } = props
return (
<pushbutton
name={name}
pinLabels={pinLabels}
supplierPartNumbers={{
"jlcpcb": [
"C318884"
]
}}
manufacturerPartNumber="TS-1187A-B-A-B"
footprint={
/* 5.1 x 5.1 mm tactile switch, pads 6.0 x 3.7 mm apart (footprinter
smdpushbutton4_px6mm_py3.7mm_pw1mm_ph0.75mm); actuated through the lid */
<footprint cutoutApertureDirection="from_above">
<smtpad portHints={["pin1"]} shape="rect" pcbX={-3} pcbY={1.85} width={1} height={0.75} />
<smtpad portHints={["pin2"]} shape="rect" pcbX={3} pcbY={1.85} width={1} height={0.75} />
<smtpad portHints={["pin3"]} shape="rect" pcbX={-3} pcbY={-1.85} width={1} height={0.75} />
<smtpad portHints={["pin4"]} shape="rect" pcbX={3} pcbY={-1.85} width={1} height={0.75} />
<silkscreenpath route={[{ x: -2.35, y: 2.325 }, { x: 2.35, y: 2.325 }]} />
<silkscreenpath route={[{ x: -2.35, y: -2.325 }, { x: 2.35, y: -2.325 }]} />
<silkscreenpath route={[{ x: -3, y: -1.325 }, { x: -3, y: 1.325 }]} />
<silkscreenpath route={[{ x: 3, y: -1.325 }, { x: 3, y: 1.325 }]} />
<courtyardrect pcbX={0} pcbY={0} width={7.2} height={5.4} />
</footprint>
}
cadModel={{
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C318884.obj?uuid=91b67c1735f643ffb2e7226c23dd3492",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C318884.step?uuid=91b67c1735f643ffb2e7226c23dd3492",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.000012700000070253736, y: 0.0004999999999999449, z: -0.05 },
}}
{...restProps}
/>
)
}