rushabhcodes/tetris
This code defines various electronic component models—including a AAA battery holder, ATtiny85 microcontroller, switch, buzzer, display, and resistors—as hardware modules with detailed footprints, pin configurations, CAD models, and physical specifications for use in circuit design.
- Version
- 1.0.2
- License
- MIT
- Stars
- 2
index.circuit.tsx
PCB
Schematic
import { AAA_BAT_029_K01 } from "imports/AAA_BAT_029_K01";
import { ATTINY85 } from "imports/ATTINY85";
import { BUTTON } from "imports/BUTTON";
import { BUZZER } from "imports/BUZZER";
import { DISPLAY } from "imports/DISPLAY";
import { RES_10_K } from "imports/RES_10_K";
import { RES_1_K } from "imports/RES_1_K";
import { RES_2_2_K } from "imports/RES_2_2_K";
import { SWITCH } from "imports/SWITCH";
import { sel } from "tscircuit";
export default () => (
<board
height="53.08mm"
width="31.67mm"
minViaPadDiameter={2.5}
minViaHoleDiameter={1}
>
<DISPLAY
name="DISPLAY"
pcbX="1mm"
pcbY="11mm"
pcbRotation={90}
schX="-3.4mm"
schY="-1mm"
connections={{
pin1: sel.net.GND,
pin2: sel.net.VCC,
pin3: sel.net.SCL,
pin4: sel.net.SDA,
}}
/>
<ATTINY85
name="U1"
pcbX="10mm"
pcbY="-13.5mm"
pcbRotation={90}
schX="0mm"
schY="0mm"
connections={{
pin2: sel.net.SDA,
pin3: sel.net.SCL,
pin4: sel.net.GND,
pin5: "DROP.pin2",
pin8: sel.net.VCC,
}}
/>
<RES_2_2_K
name="R1"
pcbX="8mm"
pcbY="20mm"
layer={"bottom"}
schX="3.9mm"
schY="3mm"
connections={{
pin1: "LEFT.pin4",
pin2: sel.net.VCC,
}}
/>
<RES_10_K
name="R2"
pcbX="-6mm"
pcbY="20mm"
layer={"bottom"}
pcbRotation={180}
schX="6.9mm"
schY="-2mm"
connections={{
pin1: sel.net.GND,
pin2: "DROP.pin2",
}}
/>
<RES_10_K
name="R4"
pcbX="-6mm"
pcbY="-7mm"
layer={"bottom"}
schX="1.9mm"
schY="-2mm"
connections={{
pin1: sel.net.GND,
pin2: "ROTATE.pin2",
}}
/>
<RES_1_K
name="R3"
pcbX="8mm"
pcbY="-7mm"
layer={"bottom"}
schX="5.9mm"
schY="3mm"
connections={{
pin1: "RIGHT.pin4",
pin2: sel.net.VCC,
}}
/>
<BUZZER
name="BUZZER"
pcbX="-10mm"
pcbY="-15mm"
pcbRotation={-90}
schX="1.2mm"
schY="-2mm"
connections={{
pin2: sel.U1.pin6,
pin1: sel.net.GND,
}}
/>
<BUTTON
name="DROP"
pcbX="0mm"
pcbY="-15mm"
pcbRotation={90}
schX="8mm"
schY="1mm"
connections={{
pin2: sel.U1.pin5,
pin4: sel.net.VCC,
}}
/>
<BUTTON
name="LEFT"
pcbX="-10mm"
pcbY="-23mm"
schX="4mm"
schY="1mm"
connections={{
pin2: sel.U1.pin7,
pin4: "R1.pin1",
}}
/>
<BUTTON
name="ROTATE"
pcbX="0mm"
pcbY="-23mm"
schX="2mm"
schY="1mm"
connections={{
pin2: sel.U1.pin7,
pin4: sel.net.VCC,
}}
/>
<BUTTON
name="RIGHT"
displayName="RIGHT"
pcbX="10mm"
pcbY="-23mm"
pcbRotation={180}
schX="6mm"
schY="1mm"
connections={{
pin2: sel.U1.pin7,
pin4: "R3.pin1",
}}
/>
<AAA_BAT_029_K01
name="BATTERY_HOLDER"
pcbX="2.5mm"
pcbY="5mm"
layer={"bottom"}
schX="-4mm"
schY="-4mm"
connections={{
pin1: "POWER_SWITCH.pin2",
pin2: sel.net.GND,
}}
/>
<SWITCH
name="POWER_SWITCH"
pcbX="-13mm"
pcbY="18mm"
layer={"bottom"}
pcbRotation={90}
schX="-1mm"
schY="-2mm"
connections={{
pin1: sel.net.VCC,
pin2: "BATTERY_HOLDER.pin1",
}}
/>
</board>
);