
Text to Footprint
https://github.com/tscircuit/text-to-footprint- Category
- Developer Tools
- Rank
- No. 1862Tools index
Previous survey · No. 1869 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- tscircuit
- GitHub
- 2 stars
- Date
About
Generate PCB footprints from plain-text descriptions, part of the tscircuit electronics design platform.
What it does
You describe a component package, then a language model translates that request into a compact footprint specification. A footprint parser turns the specification into board geometry, while the browser shows both a copyable component snippet and an interactive PCB preview.
Why it's ranked here
The workflow makes common package geometry quick to explore and inspect, with controls for pitch, dimensions, pads, and pin orientation. However, the project explicitly calls itself a technical preview, warns that accuracy is not guaranteed, and says not to use its output in real applications.
What's good
The visual preview gives immediate feedback instead of returning an opaque text result. Example prompts cover DIP, BGA, and QFN packages. Users can inspect dimensions in the viewer, copy the generated footprint into tscircuit, and supply detailed constraints such as thermal pads or pin direction.
Tradeoffs
The model may guess dimensions when information is missing, and malformed output can fail during footprint parsing. Input sent to the model is limited to 200 characters. The tool cannot read datasheets or engineering diagrams, and manufacturer part numbers currently produce very low accuracy.
How to use it well
Use it for early exploration of standard or semi-standard packages, especially when you already work in tscircuit and can verify every dimension. Treat the preview as a drafting aid, not production evidence. It does not replace datasheet interpretation, diagram parsing, manufacturer lookup, or engineering validation.
Technical notes+
app/page.tsx implements a debounced React interface and renders results with PCBViewer. app/api/generation/get/route.ts exposes a GET endpoint, requires OPENAI_API_KEY, calls gpt-3.5-turbo, trims model output at the first colon, parses it through fp.string(...).soup(), and returns cache headers. lib/get-prompt.ts limits source input with newInput.slice(0, 200) and instructs the model to emit only SHORT_FP. lib/db/migrations/1717272678072_initial.ts defines storage for footprint request text, although the supplied generation route does not use the database client. Licensing metadata conflicts: LICENSE contains the MIT License, while package.json declares ISC.
Observed
- Primary language
- TypeScript, with React and Next.js
- Interface
- Browser interface plus a GET generation API
- Runtime services
- Requires an OpenAI API key; PostgreSQL support is configured
- Packaging surface
- Node package configured as an ES module with Next.js development and build scripts
- License
- MIT license file, but package metadata declares ISC
- Testing structure
- No test files or test script appear in the supplied repository text
Read from README.md, package.json, lib/get-prompt.ts, lib/db/kysely-types.ts, lib/db/get-db-client.ts, lib/db/migrations/1717272678072_initial.ts, next-env.d.ts, pgm.config.js, next.config.js, app/page.tsx, app/layout.tsx, components/ContextProviders.tsx, app/api/generation/get/route.ts, LICENSE, biome.json.
What it can do
Generate PCB footprints from text descriptions
Plain-text description of electronic component → PCB footprint file
Parse component specifications from natural language
Text describing component dimensions and pin layout → Structured component data
Create electronic component footprints
Component parameters and specifications → Electronic design automation compatible footprint
Convert text to PCB design elements
Textual component description → PCB layout footprint geometry
Generate tscircuit compatible footprints
Component text specification → tscircuit platform footprint file
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.