the idea
Most early circuit ideas start as a sentence: "an STM32 that reads three thermistors over ADC and logs to an SD card", or "a voltage divider to step 12 V down to 3.3 V for an ESP32." Before any CAD work, you want to know two things: roughly what parts you need, and roughly what it'll cost. TRACE is the rough-pass tool for that.
It's not a schematic-capture tool. It's a scratchpad. Type a description, get back a parts list with real DigiKey SKUs and prices, plus a quick block-level diagram and Zener HDL stubs so the next step (real schematic or simulation) starts from something concrete instead of a blank page.
what it does
Plain-English circuit description in, rough diagram + BOM out. Components come back with live DigiKey pricing so the cost estimate isn't fiction.
Drop in a PDF datasheet, get back Zener hardware description language stubs for the component. Saves a lot of typing when you're spinning up a new part you've never used before.
how it's built
The backend is a small Flask app with two endpoints, one for description-to-schematic and one for datasheet-to-HDL. Each one wraps a Claude call with prompts tuned for the specific output format (BOM with real SKUs in the first case, valid Zener HDL syntax in the second).
roadmap
- Hosted Zener generation. Right now the datasheet → Zener flow only works locally because the Diode
pcbCLI isn't on the deployed host. Solving that probably means bakingpcbinto a custom Docker image. - Richer diagrams. The schematic output is block-level. A natural next step is to emit netlist-style output that imports cleanly into KiCad.
- Cached datasheet store. Re-parsing the same datasheet on every run is wasteful, especially for common parts.