tsci-agent 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -0
- package/dist/cli.js +280061 -0
- package/dist/skill/CHECKLIST.md +26 -0
- package/dist/skill/CLI.md +180 -0
- package/dist/skill/LICENSE +21 -0
- package/dist/skill/README.md +32 -0
- package/dist/skill/SKILL.md +163 -0
- package/dist/skill/SYNTAX.md +229 -0
- package/dist/skill/WORKFLOW.md +92 -0
- package/dist/skill/elements/analogsimulation.md +32 -0
- package/dist/skill/elements/battery.md +24 -0
- package/dist/skill/elements/board.md +23 -0
- package/dist/skill/elements/breakout.md +68 -0
- package/dist/skill/elements/breakoutpoint.md +27 -0
- package/dist/skill/elements/cadassembly.md +39 -0
- package/dist/skill/elements/cadmodel.md +31 -0
- package/dist/skill/elements/capacitor.md +28 -0
- package/dist/skill/elements/chip.md +44 -0
- package/dist/skill/elements/connector.md +125 -0
- package/dist/skill/elements/constraint.md +73 -0
- package/dist/skill/elements/copperpour.md +34 -0
- package/dist/skill/elements/coppertext.md +28 -0
- package/dist/skill/elements/courtyardcircle.md +32 -0
- package/dist/skill/elements/courtyardoutline.md +42 -0
- package/dist/skill/elements/courtyardpill.md +29 -0
- package/dist/skill/elements/courtyardrect.md +38 -0
- package/dist/skill/elements/crystal.md +28 -0
- package/dist/skill/elements/currentsource.md +26 -0
- package/dist/skill/elements/cutout.md +35 -0
- package/dist/skill/elements/diode.md +23 -0
- package/dist/skill/elements/fabricationnotedimension.md +27 -0
- package/dist/skill/elements/fabricationnotepath.md +29 -0
- package/dist/skill/elements/fabricationnoterect.md +40 -0
- package/dist/skill/elements/fabricationnotetext.md +32 -0
- package/dist/skill/elements/fiducial.md +34 -0
- package/dist/skill/elements/footprint.md +95 -0
- package/dist/skill/elements/fuse.md +28 -0
- package/dist/skill/elements/group.md +29 -0
- package/dist/skill/elements/hole.md +23 -0
- package/dist/skill/elements/inductor.md +27 -0
- package/dist/skill/elements/jumper.md +23 -0
- package/dist/skill/elements/led.md +23 -0
- package/dist/skill/elements/mosfet.md +26 -0
- package/dist/skill/elements/mountedboard.md +26 -0
- package/dist/skill/elements/net.md +27 -0
- package/dist/skill/elements/netalias.md +25 -0
- package/dist/skill/elements/netlabel.md +60 -0
- package/dist/skill/elements/opamp.md +30 -0
- package/dist/skill/elements/panel.md +24 -0
- package/dist/skill/elements/pcbkeepout.md +22 -0
- package/dist/skill/elements/pcbnotedimension.md +31 -0
- package/dist/skill/elements/pcbnoteline.md +30 -0
- package/dist/skill/elements/pcbnotepath.md +31 -0
- package/dist/skill/elements/pcbnoterect.md +30 -0
- package/dist/skill/elements/pcbnotetext.md +29 -0
- package/dist/skill/elements/pcbtrace.md +30 -0
- package/dist/skill/elements/pinheader.md +34 -0
- package/dist/skill/elements/pinout.md +26 -0
- package/dist/skill/elements/platedhole.md +34 -0
- package/dist/skill/elements/port.md +38 -0
- package/dist/skill/elements/potentiometer.md +27 -0
- package/dist/skill/elements/pushbutton.md +26 -0
- package/dist/skill/elements/resistor.md +27 -0
- package/dist/skill/elements/resonator.md +28 -0
- package/dist/skill/elements/schematicarc.md +39 -0
- package/dist/skill/elements/schematicbox.md +22 -0
- package/dist/skill/elements/schematiccell.md +26 -0
- package/dist/skill/elements/schematiccircle.md +36 -0
- package/dist/skill/elements/schematicline.md +39 -0
- package/dist/skill/elements/schematicpath.md +40 -0
- package/dist/skill/elements/schematicrect.md +38 -0
- package/dist/skill/elements/schematicrow.md +26 -0
- package/dist/skill/elements/schematicsection.md +91 -0
- package/dist/skill/elements/schematictable.md +48 -0
- package/dist/skill/elements/schematictext.md +23 -0
- package/dist/skill/elements/silkscreencircle.md +27 -0
- package/dist/skill/elements/silkscreenline.md +31 -0
- package/dist/skill/elements/silkscreenpath.md +70 -0
- package/dist/skill/elements/silkscreenrect.md +25 -0
- package/dist/skill/elements/silkscreentext.md +23 -0
- package/dist/skill/elements/smtpad.md +35 -0
- package/dist/skill/elements/solderjumper.md +21 -0
- package/dist/skill/elements/subcircuit.md +29 -0
- package/dist/skill/elements/subpanel.md +26 -0
- package/dist/skill/elements/switch.md +21 -0
- package/dist/skill/elements/symbol.md +54 -0
- package/dist/skill/elements/testpoint.md +26 -0
- package/dist/skill/elements/trace.md +28 -0
- package/dist/skill/elements/tracehint.md +24 -0
- package/dist/skill/elements/transistor.md +25 -0
- package/dist/skill/elements/via.md +30 -0
- package/dist/skill/elements/voltageprobe.md +36 -0
- package/dist/skill/elements/voltagesource.md +36 -0
- package/dist/skill/scripts/export_svgs.sh +23 -0
- package/dist/skill/scripts/fetch_ai_txt.sh +15 -0
- package/dist/skill/scripts/smoke_test.sh +48 -0
- package/dist/skill/templates/arduino-shield-led.tsx +14 -0
- package/dist/skill/templates/chip-with-pinouts.tsx +65 -0
- package/dist/skill/templates/group-layout.tsx +13 -0
- package/dist/skill/templates/minimal-board.tsx +13 -0
- package/package.json +39 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# `<courtyardcircle />`
|
|
2
|
+
|
|
3
|
+
Draw circular IPC courtyard markings around footprint features.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="20mm" height="20mm">
|
|
10
|
+
<chip
|
|
11
|
+
name="U1"
|
|
12
|
+
footprint={
|
|
13
|
+
<footprint>
|
|
14
|
+
<platedhole shape="circle" pcbX={-2.5} pcbY={0} outerDiameter={2.2} holeDiameter={1.1} />
|
|
15
|
+
<platedhole shape="circle" pcbX={2.5} pcbY={0} outerDiameter={2.2} holeDiameter={1.1} />
|
|
16
|
+
<courtyardcircle pcbX={0} pcbY={0} radius={4} strokeWidth={0.1} />
|
|
17
|
+
</footprint>
|
|
18
|
+
}
|
|
19
|
+
/>
|
|
20
|
+
</board>
|
|
21
|
+
)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Props
|
|
25
|
+
|
|
26
|
+
Commonly used: `radius`, `name`, `footprint`, `connections`
|
|
27
|
+
|
|
28
|
+
## References
|
|
29
|
+
|
|
30
|
+
- Props: [CourtyardCircleProps](https://github.com/tscircuit/props#courtyardcircleprops-courtyardcircle)
|
|
31
|
+
- Source: [lib/components/courtyard-circle.ts](https://github.com/tscircuit/props/blob/main/lib/components/courtyard-circle.ts)
|
|
32
|
+
- Local docs: [docs/docs/elements/courtyardcircle.mdx](../docs/docs/elements/courtyardcircle.mdx)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# `<courtyardoutline />`
|
|
2
|
+
|
|
3
|
+
Draw custom polygon courtyard boundaries for irregular package geometry.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="30mm" height="24mm">
|
|
10
|
+
<chip
|
|
11
|
+
name="U1"
|
|
12
|
+
footprint={
|
|
13
|
+
<footprint>
|
|
14
|
+
<platedhole shape="circle" pcbX={-4} pcbY={-2.5} outerDiameter={2.2} holeDiameter={1.1} />
|
|
15
|
+
<platedhole shape="circle" pcbX={-4} pcbY={2.5} outerDiameter={2.2} holeDiameter={1.1} />
|
|
16
|
+
<platedhole shape="circle" pcbX={4} pcbY={-2.5} outerDiameter={2.2} holeDiameter={1.1} />
|
|
17
|
+
<platedhole shape="circle" pcbX={4} pcbY={2.5} outerDiameter={2.2} holeDiameter={1.1} />
|
|
18
|
+
<courtyardoutline
|
|
19
|
+
outline={[
|
|
20
|
+
{ x: -6, y: -5 },
|
|
21
|
+
{ x: 6, y: -5 },
|
|
22
|
+
{ x: 6, y: 5 },
|
|
23
|
+
{ x: 0, y: 7 },
|
|
24
|
+
{ x: -6, y: 5 },
|
|
25
|
+
]}
|
|
26
|
+
/>
|
|
27
|
+
</footprint>
|
|
28
|
+
}
|
|
29
|
+
/>
|
|
30
|
+
</board>
|
|
31
|
+
)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Props
|
|
35
|
+
|
|
36
|
+
Commonly used: `pcbLeftEdgeX`, `pcbRightEdgeX`, `pcbTopEdgeY`, `pcbBottomEdgeY`, `pcbX`, `pcbY`, `pcbOffsetX`, `pcbOffsetY`
|
|
37
|
+
|
|
38
|
+
## References
|
|
39
|
+
|
|
40
|
+
- Props: [CourtyardOutlineProps](https://github.com/tscircuit/props#courtyardoutlineprops-courtyardoutline)
|
|
41
|
+
- Source: [lib/components/courtyard-outline.ts](https://github.com/tscircuit/props/blob/main/lib/components/courtyard-outline.ts)
|
|
42
|
+
- Local docs: [docs/docs/elements/courtyardoutline.mdx](../docs/docs/elements/courtyardoutline.mdx)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# `<courtyardpill />`
|
|
2
|
+
|
|
3
|
+
Pill-shaped courtyard geometry for a custom footprint.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="20mm" height="20mm">
|
|
10
|
+
<chip
|
|
11
|
+
name="U1"
|
|
12
|
+
footprint={
|
|
13
|
+
<footprint>
|
|
14
|
+
<courtyardpill pcbX={0} pcbY={0} width={8} height={3} radius={1.5} />
|
|
15
|
+
</footprint>
|
|
16
|
+
}
|
|
17
|
+
/>
|
|
18
|
+
</board>
|
|
19
|
+
)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
Commonly used: `width`, `height`, `radius`, `pcbX`, `pcbY`, `layer`
|
|
25
|
+
|
|
26
|
+
## References
|
|
27
|
+
|
|
28
|
+
- Props: [CourtyardPillProps](https://github.com/tscircuit/props#courtyardpillprops-courtyardpill)
|
|
29
|
+
- Source: [lib/components/courtyard-pill.ts](https://github.com/tscircuit/props/blob/main/lib/components/courtyard-pill.ts)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# `<courtyardrect />`
|
|
2
|
+
|
|
3
|
+
Draw rectangular IPC courtyard markings around a footprint body.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="26mm" height="20mm">
|
|
10
|
+
<chip
|
|
11
|
+
name="U1"
|
|
12
|
+
footprint={
|
|
13
|
+
<footprint>
|
|
14
|
+
<platedhole shape="circle" pcbX={-4} pcbY={0} outerDiameter={2.2} holeDiameter={1.1} />
|
|
15
|
+
<platedhole shape="circle" pcbX={4} pcbY={0} outerDiameter={2.2} holeDiameter={1.1} />
|
|
16
|
+
<courtyardrect
|
|
17
|
+
pcbX={0}
|
|
18
|
+
pcbY={0}
|
|
19
|
+
width={12}
|
|
20
|
+
height={8}
|
|
21
|
+
strokeWidth={0.1}
|
|
22
|
+
/>
|
|
23
|
+
</footprint>
|
|
24
|
+
}
|
|
25
|
+
/>
|
|
26
|
+
</board>
|
|
27
|
+
)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Props
|
|
31
|
+
|
|
32
|
+
Commonly used: `width`, `height`, `strokeWidth`, `isFilled`, `hasStroke`, `isStrokeDashed`, `color`, `name`
|
|
33
|
+
|
|
34
|
+
## References
|
|
35
|
+
|
|
36
|
+
- Props: [CourtyardRectProps](https://github.com/tscircuit/props#courtyardrectprops-courtyardrect)
|
|
37
|
+
- Source: [lib/components/courtyard-rect.ts](https://github.com/tscircuit/props/blob/main/lib/components/courtyard-rect.ts)
|
|
38
|
+
- Local docs: [docs/docs/elements/courtyardrect.mdx](../docs/docs/elements/courtyardrect.mdx)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# `<crystal />`
|
|
2
|
+
|
|
3
|
+
A crystal oscillator provides a stable clock signal essential for timing applications and microcontroller operations.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="50mm" height="50mm">
|
|
10
|
+
<crystal
|
|
11
|
+
name="XT1"
|
|
12
|
+
frequency="16MHz"
|
|
13
|
+
loadCapacitance="18pF"
|
|
14
|
+
footprint="hc49"
|
|
15
|
+
/>
|
|
16
|
+
</board>
|
|
17
|
+
)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Props
|
|
21
|
+
|
|
22
|
+
Commonly used: `frequency`, `loadCapacitance`, `manufacturerPartNumber`, `mpn`, `pinVariant`, `schOrientation`, `connections`, `name`
|
|
23
|
+
|
|
24
|
+
## References
|
|
25
|
+
|
|
26
|
+
- Props: [CrystalProps](https://github.com/tscircuit/props#crystalprops-crystal)
|
|
27
|
+
- Source: [lib/components/crystal.ts](https://github.com/tscircuit/props/blob/main/lib/components/crystal.ts)
|
|
28
|
+
- Local docs: [docs/docs/elements/crystal.mdx](../docs/docs/elements/crystal.mdx)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# `<currentsource />`
|
|
2
|
+
|
|
3
|
+
Current source component for simulation-oriented circuits.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="20mm" height="12mm">
|
|
10
|
+
<currentsource
|
|
11
|
+
name="I1"
|
|
12
|
+
current="1mA"
|
|
13
|
+
connections={{ pin1: "net.VCC", pin2: "net.GND" }}
|
|
14
|
+
/>
|
|
15
|
+
</board>
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
Commonly used: `current`, `frequency`, `peakToPeakCurrent`, `waveShape`, `phase`, `dutyCycle`, `connections`, `name`
|
|
22
|
+
|
|
23
|
+
## References
|
|
24
|
+
|
|
25
|
+
- Props: [CurrentSourceProps](https://github.com/tscircuit/props#currentsourceprops-currentsource)
|
|
26
|
+
- Source: [lib/components/currentsource.ts](https://github.com/tscircuit/props/blob/main/lib/components/currentsource.ts)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# `<cutout />`
|
|
2
|
+
|
|
3
|
+
Remove material from a board outline to create slots, notches, or other interior shapes.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="30mm" height="20mm">
|
|
10
|
+
<cutout shape="rect" width="5mm" height="3mm" pcbX="-10mm" pcbY="0mm" />
|
|
11
|
+
<cutout shape="circle" radius="2mm" pcbX="0mm" pcbY="0mm" />
|
|
12
|
+
<cutout
|
|
13
|
+
shape="polygon"
|
|
14
|
+
points={[
|
|
15
|
+
{ x: 5, y: -2 },
|
|
16
|
+
{ x: 8, y: 0 },
|
|
17
|
+
{ x: 5, y: 2 },
|
|
18
|
+
{ x: 6, y: 0 },
|
|
19
|
+
]}
|
|
20
|
+
pcbX="5mm"
|
|
21
|
+
pcbY="0mm"
|
|
22
|
+
/>
|
|
23
|
+
</board>
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Props
|
|
28
|
+
|
|
29
|
+
Commonly used: `name`, `shape`, `width`, `height`, `footprint`, `connections`
|
|
30
|
+
|
|
31
|
+
## References
|
|
32
|
+
|
|
33
|
+
- Props: [RectCutoutProps](https://github.com/tscircuit/props#rectcutoutprops-cutout)
|
|
34
|
+
- Source: [lib/components/cutout.ts](https://github.com/tscircuit/props/blob/main/lib/components/cutout.ts)
|
|
35
|
+
- Local docs: [docs/docs/elements/cutout.mdx](../docs/docs/elements/cutout.mdx)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# `<diode />`
|
|
2
|
+
|
|
3
|
+
Diodes are semiconductor devices that allow current to flow primarily in one direction, making them ideal for rectification, signal clipping, and protection against reverse voltage. They are essential in power supply circuits and for protecting sensitive components from voltage spikes.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="10mm" height="10mm">
|
|
10
|
+
<diode name="D1" footprint="sod123" />
|
|
11
|
+
</board>
|
|
12
|
+
)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Props
|
|
16
|
+
|
|
17
|
+
Commonly used: `connections`, `anode`, `cathode`, `pin1`, `pin2`, `pos`, `neg`, `variant`
|
|
18
|
+
|
|
19
|
+
## References
|
|
20
|
+
|
|
21
|
+
- Props: [DiodeProps](https://github.com/tscircuit/props#diodeprops-diode)
|
|
22
|
+
- Source: [lib/components/diode.ts](https://github.com/tscircuit/props/blob/main/lib/components/diode.ts)
|
|
23
|
+
- Local docs: [docs/docs/elements/diode.mdx](../docs/docs/elements/diode.mdx)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# `<fabricationnotedimension />`
|
|
2
|
+
|
|
3
|
+
Dimension callout drawn on the fabrication layer.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="20mm" height="15mm">
|
|
10
|
+
<fabricationnotedimension
|
|
11
|
+
from={{ x: -4, y: 0 }}
|
|
12
|
+
to={{ x: 4, y: 0 }}
|
|
13
|
+
fontSize={1.2}
|
|
14
|
+
arrowSize={0.8}
|
|
15
|
+
/>
|
|
16
|
+
</board>
|
|
17
|
+
)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Props
|
|
21
|
+
|
|
22
|
+
Commonly used: `from`, `to`, `text`, `offset`, `font`, `fontSize`, `color`, `arrowSize`
|
|
23
|
+
|
|
24
|
+
## References
|
|
25
|
+
|
|
26
|
+
- Props: [FabricationNoteDimensionProps](https://github.com/tscircuit/props#fabricationnotedimensionprops-fabricationnotedimension)
|
|
27
|
+
- Source: [lib/components/fabrication-note-dimension.ts](https://github.com/tscircuit/props/blob/main/lib/components/fabrication-note-dimension.ts)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# `<fabricationnotepath />`
|
|
2
|
+
|
|
3
|
+
Polyline/path annotation on the fabrication layer.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="20mm" height="20mm">
|
|
10
|
+
<fabricationnotepath
|
|
11
|
+
strokeWidth={0.3}
|
|
12
|
+
route={[
|
|
13
|
+
{ x: -5, y: 0 },
|
|
14
|
+
{ x: 0, y: 5 },
|
|
15
|
+
{ x: 5, y: 0 },
|
|
16
|
+
]}
|
|
17
|
+
/>
|
|
18
|
+
</board>
|
|
19
|
+
)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Props
|
|
23
|
+
|
|
24
|
+
Commonly used: `pcbLeftEdgeX`, `pcbRightEdgeX`, `pcbTopEdgeY`, `pcbBottomEdgeY`, `pcbX`, `pcbY`, `pcbOffsetX`, `pcbOffsetY`
|
|
25
|
+
|
|
26
|
+
## References
|
|
27
|
+
|
|
28
|
+
- Props: [FabricationNotePathProps](https://github.com/tscircuit/props#fabricationnotepathprops-fabricationnotepath)
|
|
29
|
+
- Source: [lib/components/fabrication-note-path.ts](https://github.com/tscircuit/props/blob/main/lib/components/fabrication-note-path.ts)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# `<fabricationnoterect />`
|
|
2
|
+
|
|
3
|
+
Highlight fabrication callouts and assembly regions with rectangular annotations on the fabrication layer.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="28mm" height="20mm">
|
|
10
|
+
<resistor name="R1" resistance="1k" footprint="0603" pcbX={-6} pcbY={-2} />
|
|
11
|
+
<capacitor name="C1" capacitance="1uF" footprint="0603" pcbX={-2} pcbY={2} />
|
|
12
|
+
<fabricationnotetext
|
|
13
|
+
text="Install last"
|
|
14
|
+
pcbX={5}
|
|
15
|
+
pcbY={2}
|
|
16
|
+
anchorAlignment="bottom_left"
|
|
17
|
+
fontSize="1.4mm"
|
|
18
|
+
/>
|
|
19
|
+
<fabricationnoterect
|
|
20
|
+
pcbX={0}
|
|
21
|
+
pcbY={0}
|
|
22
|
+
width={18}
|
|
23
|
+
height={12}
|
|
24
|
+
strokeWidth={0.3}
|
|
25
|
+
color="#2563eb"
|
|
26
|
+
hasStroke
|
|
27
|
+
/>
|
|
28
|
+
</board>
|
|
29
|
+
)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Props
|
|
33
|
+
|
|
34
|
+
Commonly used: `width`, `height`, `strokeWidth`, `isFilled`, `hasStroke`, `isStrokeDashed`, `color`, `cornerRadius`
|
|
35
|
+
|
|
36
|
+
## References
|
|
37
|
+
|
|
38
|
+
- Props: [FabricationNoteRectProps](https://github.com/tscircuit/props#fabricationnoterectprops-fabricationnoterect)
|
|
39
|
+
- Source: [lib/components/fabrication-note-rect.ts](https://github.com/tscircuit/props/blob/main/lib/components/fabrication-note-rect.ts)
|
|
40
|
+
- Local docs: [docs/docs/footprints/fabricationnoterect.mdx](../docs/docs/footprints/fabricationnoterect.mdx)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# `<fabricationnotetext />`
|
|
2
|
+
|
|
3
|
+
The `<fabricationnotetext />` element adds fabrication layer callouts and build notes for assemblers.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="24mm" height="18mm">
|
|
10
|
+
<resistor name="R1" resistance="10k" footprint="0402" pcbX={-5} pcbY={0} />
|
|
11
|
+
<led name="D1" footprint="0603" pcbX={5} pcbY={0} />
|
|
12
|
+
<fabricationnotetext
|
|
13
|
+
text="Install connector last"
|
|
14
|
+
pcbX={0}
|
|
15
|
+
pcbY={6}
|
|
16
|
+
fontSize="1.6mm"
|
|
17
|
+
anchorAlignment="top_left"
|
|
18
|
+
color="#d97706"
|
|
19
|
+
/>
|
|
20
|
+
</board>
|
|
21
|
+
)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Props
|
|
25
|
+
|
|
26
|
+
Commonly used: `text`, `anchorAlignment`, `font`, `fontSize`, `color`, `name`, `footprint`, `connections`
|
|
27
|
+
|
|
28
|
+
## References
|
|
29
|
+
|
|
30
|
+
- Props: [FabricationNoteTextProps](https://github.com/tscircuit/props#fabricationnotetextprops-fabricationnotetext)
|
|
31
|
+
- Source: [lib/components/fabrication-note-text.ts](https://github.com/tscircuit/props/blob/main/lib/components/fabrication-note-text.ts)
|
|
32
|
+
- Local docs: [docs/docs/footprints/fabricationnotetext.mdx](../docs/docs/footprints/fabricationnotetext.mdx)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# `<fiducial />`
|
|
2
|
+
|
|
3
|
+
A reference marker used for optical alignment during automated PCB assembly.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="30mm" height="20mm">
|
|
10
|
+
<fiducial
|
|
11
|
+
padDiameter="1mm"
|
|
12
|
+
soldermaskPullback="1mm"
|
|
13
|
+
pcbX={-10}
|
|
14
|
+
pcbY={-5}
|
|
15
|
+
/>
|
|
16
|
+
<fiducial
|
|
17
|
+
padDiameter="1mm"
|
|
18
|
+
soldermaskPullback="1mm"
|
|
19
|
+
pcbX={10}
|
|
20
|
+
pcbY={5}
|
|
21
|
+
/>
|
|
22
|
+
</board>
|
|
23
|
+
)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Props
|
|
27
|
+
|
|
28
|
+
Commonly used: `soldermaskPullback`, `padDiameter`, `name`, `footprint`, `connections`
|
|
29
|
+
|
|
30
|
+
## References
|
|
31
|
+
|
|
32
|
+
- Props: [FiducialProps](https://github.com/tscircuit/props#fiducialprops-fiducial)
|
|
33
|
+
- Source: [lib/components/fiducial.ts](https://github.com/tscircuit/props/blob/main/lib/components/fiducial.ts)
|
|
34
|
+
- Local docs: [docs/docs/elements/fiducial.mdx](../docs/docs/elements/fiducial.mdx)
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# `<footprint />`
|
|
2
|
+
|
|
3
|
+
Used to define the physical layout and connection points for components on a printed circuit board.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="10mm" height="10mm">
|
|
10
|
+
<chip
|
|
11
|
+
name="U1"
|
|
12
|
+
footprint={
|
|
13
|
+
<footprint>
|
|
14
|
+
<platedhole
|
|
15
|
+
portHints={["4"]}
|
|
16
|
+
pcbX="3.2499299999998357mm"
|
|
17
|
+
pcbY="-2.249932000000058mm"
|
|
18
|
+
outerDiameter="1.9999959999999999mm"
|
|
19
|
+
holeDiameter="1.3000228mm"
|
|
20
|
+
shape="circle"
|
|
21
|
+
/>
|
|
22
|
+
<platedhole
|
|
23
|
+
portHints={["2"]}
|
|
24
|
+
pcbX="3.2499299999998357mm"
|
|
25
|
+
pcbY="2.249932000000058mm"
|
|
26
|
+
outerDiameter="1.9999959999999999mm"
|
|
27
|
+
holeDiameter="1.3000228mm"
|
|
28
|
+
shape="circle"
|
|
29
|
+
/>
|
|
30
|
+
<platedhole
|
|
31
|
+
portHints={["1"]}
|
|
32
|
+
pcbX="-3.2499299999999494mm"
|
|
33
|
+
pcbY="2.249932000000058mm"
|
|
34
|
+
outerDiameter="1.9999959999999999mm"
|
|
35
|
+
holeDiameter="1.3000228mm"
|
|
36
|
+
shape="circle"
|
|
37
|
+
/>
|
|
38
|
+
<platedhole
|
|
39
|
+
portHints={["3"]}
|
|
40
|
+
pcbX="-3.2499299999999494mm"
|
|
41
|
+
pcbY="-2.249932000000058mm"
|
|
42
|
+
outerDiameter="1.9999959999999999mm"
|
|
43
|
+
holeDiameter="1.3000228mm"
|
|
44
|
+
shape="circle"
|
|
45
|
+
/>
|
|
46
|
+
<silkscreenpath
|
|
47
|
+
route={[
|
|
48
|
+
{ x: -2.2743160000001126, y: -2.999994000000015 },
|
|
49
|
+
{ x: 2.274315999999999, y: -2.999994000000015 },
|
|
50
|
+
]}
|
|
51
|
+
/>
|
|
52
|
+
<silkscreenpath
|
|
53
|
+
route={[
|
|
54
|
+
{ x: -2.999994000000129, y: 1.0999978000000965 },
|
|
55
|
+
{ x: -2.999994000000129, y: -0.999998000000005 },
|
|
56
|
+
]}
|
|
57
|
+
/>
|
|
58
|
+
<silkscreenpath
|
|
59
|
+
route={[
|
|
60
|
+
{ x: 3.0999937999998792, y: 1.0279888000000028 },
|
|
61
|
+
{ x: 3.0999937999998792, y: -1.0999977999999828 },
|
|
62
|
+
]}
|
|
63
|
+
/>
|
|
64
|
+
<silkscreenpath
|
|
65
|
+
route={[
|
|
66
|
+
{ x: -1.99999600000001, y: 2.999994000000015 },
|
|
67
|
+
{ x: 2.274315999999999, y: 2.999994000000015 },
|
|
68
|
+
]}
|
|
69
|
+
/>
|
|
70
|
+
</footprint>
|
|
71
|
+
}
|
|
72
|
+
schPortArrangement={{
|
|
73
|
+
leftSide: {
|
|
74
|
+
direction: "top-to-bottom",
|
|
75
|
+
pins: [1, 3],
|
|
76
|
+
},
|
|
77
|
+
rightSide: {
|
|
78
|
+
direction: "bottom-to-top",
|
|
79
|
+
pins: [4, 2],
|
|
80
|
+
},
|
|
81
|
+
}}
|
|
82
|
+
/>
|
|
83
|
+
</board>
|
|
84
|
+
)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Props
|
|
88
|
+
|
|
89
|
+
Commonly used: `children`, `originalLayer`, `circuitJson`, `src`, `name`, `footprint`, `connections`
|
|
90
|
+
|
|
91
|
+
## References
|
|
92
|
+
|
|
93
|
+
- Props: [FootprintProps](https://github.com/tscircuit/props#footprintprops-footprint)
|
|
94
|
+
- Source: [lib/components/footprint.ts](https://github.com/tscircuit/props/blob/main/lib/components/footprint.ts)
|
|
95
|
+
- Local docs: [docs/docs/elements/footprint.mdx](../docs/docs/elements/footprint.mdx)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# `<fuse />`
|
|
2
|
+
|
|
3
|
+
A `<fuse />` is a safety device that protects electrical circuits by interrupting current flow when it exceeds a predetermined threshold. Fuses are essential for preventing damage to components and circuits from overcurrent conditions.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="10mm" height="10mm">
|
|
10
|
+
<fuse
|
|
11
|
+
name="F1"
|
|
12
|
+
footprint="0603"
|
|
13
|
+
currentRating="2A"
|
|
14
|
+
voltageRating="32V"
|
|
15
|
+
/>
|
|
16
|
+
</board>
|
|
17
|
+
)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Props
|
|
21
|
+
|
|
22
|
+
Commonly used: `currentRating`, `voltageRating`, `schShowRatings`, `schOrientation`, `connections`, `name`, `footprint`
|
|
23
|
+
|
|
24
|
+
## References
|
|
25
|
+
|
|
26
|
+
- Props: [FuseProps](https://github.com/tscircuit/props#fuseprops-fuse)
|
|
27
|
+
- Source: [lib/components/fuse.ts](https://github.com/tscircuit/props/blob/main/lib/components/fuse.ts)
|
|
28
|
+
- Local docs: [docs/docs/elements/fuse.mdx](../docs/docs/elements/fuse.mdx)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# `<group />`
|
|
2
|
+
|
|
3
|
+
A group is the basic container element that can contain other elements.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { sel } from "tscircuit"
|
|
9
|
+
|
|
10
|
+
export default () => (
|
|
11
|
+
<board width="10mm" height="10mm">
|
|
12
|
+
<resistor name="R1" resistance="1k" schX={-2} />
|
|
13
|
+
<group schY={-3}>
|
|
14
|
+
<resistor name="R2" resistance="1k" schX={2} />
|
|
15
|
+
<trace from={sel.R1.pin2} to={sel.R2.pin1} />
|
|
16
|
+
</group>
|
|
17
|
+
</board>
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Props
|
|
22
|
+
|
|
23
|
+
Commonly used: `layoutMode`, `position`, `grid`, `gridCols`, `gridRows`, `gridTemplateRows`, `gridTemplateColumns`, `gridTemplate`
|
|
24
|
+
|
|
25
|
+
## References
|
|
26
|
+
|
|
27
|
+
- Props: [BaseGroupProps](https://github.com/tscircuit/props#basegroupprops-group)
|
|
28
|
+
- Source: [lib/components/group.ts](https://github.com/tscircuit/props/blob/main/lib/components/group.ts)
|
|
29
|
+
- Local docs: [docs/docs/elements/group.mdx](../docs/docs/elements/group.mdx)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# `<hole />`
|
|
2
|
+
|
|
3
|
+
Used for mounting and does not have conductive properties.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="30mm" height="20mm">
|
|
10
|
+
<hole diameter="3mm" pcbX={0} pcbY={0} />
|
|
11
|
+
</board>
|
|
12
|
+
)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Props
|
|
16
|
+
|
|
17
|
+
Commonly used: `name`, `shape`, `diameter`, `radius`, `solderMaskMargin`, `coveredWithSolderMask`, `footprint`, `connections`
|
|
18
|
+
|
|
19
|
+
## References
|
|
20
|
+
|
|
21
|
+
- Props: [CircleHoleProps](https://github.com/tscircuit/props#circleholeprops-hole)
|
|
22
|
+
- Source: [lib/components/hole.ts](https://github.com/tscircuit/props/blob/main/lib/components/hole.ts)
|
|
23
|
+
- Local docs: [docs/docs/elements/hole.mdx](../docs/docs/elements/hole.mdx)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# `<inductor />`
|
|
2
|
+
|
|
3
|
+
An `<inductor />` stores electrical energy in a magnetic field when current flows through it. Inductors are commonly used in filters, oscillators, power supplies, and RF circuits. They oppose changes in current flow and can smooth out rapid current variations.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="10mm" height="10mm">
|
|
10
|
+
<inductor
|
|
11
|
+
name="L1"
|
|
12
|
+
footprint="0603"
|
|
13
|
+
inductance="10μH"
|
|
14
|
+
/>
|
|
15
|
+
</board>
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
Commonly used: `inductance`, `maxCurrentRating`, `schOrientation`, `connections`, `name`, `footprint`
|
|
22
|
+
|
|
23
|
+
## References
|
|
24
|
+
|
|
25
|
+
- Props: [InductorProps](https://github.com/tscircuit/props#inductorprops-inductor)
|
|
26
|
+
- Source: [lib/components/inductor.ts](https://github.com/tscircuit/props/blob/main/lib/components/inductor.ts)
|
|
27
|
+
- Local docs: [docs/docs/elements/inductor.mdx](../docs/docs/elements/inductor.mdx)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# `<jumper />`
|
|
2
|
+
|
|
3
|
+
A simple connector that typically uses a pinrow footprint but can be used for custom layouts as well.
|
|
4
|
+
|
|
5
|
+
## Example
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
export default () => (
|
|
9
|
+
<board width="10mm" height="10mm">
|
|
10
|
+
<jumper name="J1" footprint="pinrow4" />
|
|
11
|
+
</board>
|
|
12
|
+
)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Props
|
|
16
|
+
|
|
17
|
+
Commonly used: `manufacturerPartNumber`, `pinLabels`, `schPinStyle`, `schPinSpacing`, `schWidth`, `schHeight`, `schDirection`, `schPinArrangement`
|
|
18
|
+
|
|
19
|
+
## References
|
|
20
|
+
|
|
21
|
+
- Props: [JumperProps](https://github.com/tscircuit/props#jumperprops-jumper)
|
|
22
|
+
- Source: [lib/components/jumper.ts](https://github.com/tscircuit/props/blob/main/lib/components/jumper.ts)
|
|
23
|
+
- Local docs: [docs/docs/elements/jumper.mdx](../docs/docs/elements/jumper.mdx)
|