- Prefer a standard template when possible (Arduino Shield, Raspberry Pi HAT, etc.)
- Otherwise use
<board width height>with explicit dimensions.
- Decide net names (
net.GND,net.VCC,net.V3_3, etc.) - Add power entry (USB-C, barrel jack, header) and protection (fuse/TVS) as appropriate.
- Use
tsci searchto find:- JLCPCB components:
tsci search --jlcpcb "STM32F4" - KiCad footprints:
tsci search --kicad "SOIC8" - Registry packages:
tsci search --tscircuit "ESP32"
- JLCPCB components:
- Prefer
tsci add <author/pkg>when a reusable module exists. - Use
tsci importwhen you must bring in a specific component (e.g., supplier part). - For JLCPCB parts: first search with
tsci search --jlcpcb "<query>", then import withtsci import "<part number>".
This is a critical step for chips and ICs. Before wiring traces, ensure your components have correct pinLabels and pinAttributes.
-
Consult the datasheet - Look up the component's datasheet to find the correct pin names and functions.
-
Define pinLabels - Map physical pin numbers to meaningful names:
pinLabels={{ pin1: "VCC", pin2: "GND", pin3: ["SDA", "I2C_DATA"], pin4: ["SCL", "I2C_CLK"], }}
-
Add pinAttributes - Specify pin behavior for DRC and schematic clarity:
pinAttributes={{ VCC: { requiresPower: true }, EN: { mustBeConnected: true }, VOUT: { providesPower: true }, }}
-
Verify pin mappings - Double-check that:
- Power pins are marked with
requiresPowerorprovidesPower - Critical control pins have
mustBeConnected: true - Multi-function pins have all relevant aliases
- Power pins are marked with
- Place core IC + passives
- Wire nets using
<trace /> - Reference pins by label when pinLabels are defined:
<trace from="U1.VCC" to="net.V3_3" /> <trace from="U1.GND" to="net.GND" />
- Run
tsci buildto validate changes—this is the preferred iteration method for AI-driven development. - DRC (Design Rule Check) errors can often be ignored during development; focus on connectivity and component placement first.
- Fix connectivity errors first, then placement, then routing.
- Use
tsci devonly when interactive visual preview is needed (not typical for AI iteration).
- Use
tsci buildin CI or before sharing. - Use
tsci snapshotto generate visuals that help with placement analysis and quick circuit understanding. - Use
tsci snapshot --pcb-onlywhen you want a fast, placement-focused PCB view without schematic snapshots. - Use
tsci snapshot --testin CI/regression checks to prevent overwriting snapshots and catch unexpected visual diffs.
tsci exportfor SVG/netlist/DSN/3D/library- Fabrication zip (Gerbers/BOM/PnP): use the export UI after
tsci dev