
Footprinter
https://github.com/tscircuit/footprinter- Category
- Developer Tools
- Rank
- No. 1486Tools index
Previous survey · No. 1492 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- tscircuit
- GitHub
- 28 stars
- Date
About
Micro-builder and DSL for creating PCB footprints, built for AI.
What it does
Footprinter turns compact package descriptions into structured circuit JSON for PCB layout. Users can supply a short text definition or assemble the same parameters through a typed builder. It covers common component packages, configurable dimensions, pin orientation, polarity marks, rounded pads, thermal pads, and omitted grid positions.
Why it's ranked here
Its strongest case is efficient, repeatable generation of standardized footprints. The compact notation saves context when models produce definitions, while the builder gives application code a typed alternative. Broad package coverage and geometry-focused tests make it credible. Tolerance for missing dimensions is useful during exploration, but weakens confidence until every critical measurement is explicit.
What's good
The same footprint can be expressed as concise text or assembled programmatically. Output is structured circuit JSON, so consumers receive pad geometry and metadata rather than a rendered picture alone. Global modifiers handle orientation, silkscreen removal, reference-designator removal, origin changes, and pad rounding. Tests check exact coordinates, pad counts, shapes, numbering, invalid inputs, and SVG snapshots.
Tradeoffs
Underspecified definitions receive reasonable defaults, and those defaults may change after an upgrade. The project cannot currently report whether a definition is underspecified. Compact definitions also favor standardized packages over highly custom geometry. The browser gallery previews SVG output, but the package declares no command-line entry and exposes no standalone service interface.
How to use it well
Use it inside TypeScript circuit tooling when many standard package variants must be generated from concise, inspectable descriptions. It also suits model output, provided a later strict check or linter rejects missing dimensions. Specify pitch, pad size, body dimensions, orientation, and omitted positions explicitly. Use full custom geometry authoring when the package cannot be represented by the existing vocabulary.
Technical notes+
package.json declares an ESM package whose build uses tsup on src/index.ts and emits JavaScript, declarations, and source maps into dist. src/index.ts re-exports src/footprinter.ts, where the Footprinter and FootprinterParamsBuilder types expose string parsing, parameter inspection, and circuit JSON generation. Package generators are gathered through src/fn/index.ts. gallery/index.tsx converts generated circuit JSON to SVG in a React browser interface, while gallery/generate-grid-content.ts builds gallery data from SVG snapshots. tests/bga.test.ts demonstrates Bun tests combining coordinate assertions, shape checks, origin behavior, and SVG snapshots.
Observed
- License
- ISC
- Primary language
- TypeScript
- Packaging
- ES module package named @tscircuit/footprinter; published files are limited to dist.
- Install surface
- JavaScript package with generated type declarations and circuit-json as a peer dependency.
- Interfaces
- Typed library API and browser-based SVG preview gallery; no command-line entry is declared.
- Test structure
- Repository includes Bun tests with value assertions and SVG snapshot matching.
Read from README.md, package.json, src/index.ts, src/footprinter.ts, src/fn/index.ts, gallery/index.tsx, gallery/generate-grid-content.ts, scripts/generate-gallery-page.ts, tests/bga.test.ts, tests/cap.test.ts, tests/dfn.test.ts, tests/dip.test.ts, tests/fpc.test.ts, tests/jst.test.ts, tests/lcc.test.ts.
What it can do
Create PCB footprints using a domain-specific language
DSL code specifications → PCB footprint files
Build micro-scale PCB component layouts
Component specifications and dimensions → Micro-scale PCB footprints
Generate footprints optimized for AI processing
Component parameters and AI requirements → AI-compatible PCB footprint data
Define custom footprint patterns programmatically
Programming logic and component requirements → Custom PCB footprint definitions
Automate footprint creation workflows
Batch component specifications → Multiple standardized PCB footprints
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.