Vibeleaderboard
Index / tool
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 componentPCB footprint file

  • Parse component specifications from natural language

    Text describing component dimensions and pin layoutStructured component data

  • Create electronic component footprints

    Component parameters and specificationsElectronic design automation compatible footprint

  • Convert text to PCB design elements

    Textual component descriptionPCB layout footprint geometry

  • Generate tscircuit compatible footprints

    Component text specificationtscircuit platform footprint file

Tags

tscircuitpcbfootprintelectronicstext-to-design

Tech Stack

Node.jsNext.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.