ProGenEDA

Describe an electronic circuit. Get the actual editable engineering project.

What it does

Before almost any electronic product exists physically—a robot, charger, sensor, alarm, embedded device, or IoT product—an engineer first creates a circuit schematic: essentially the blueprint showing every electronic component and exactly how they connect.

Today, much of that blueprint still has to be manually recreated inside specialized engineering software.

You place the components. Set their values. Connect the correct pins. Draw the wires. Fix the layout. Repeat it again when something changes.

ProGenEDA automates that work.

A user can write:

Build a simple 5V LED circuit with a resistor and switch.

ProGenEDA converts that request into an actual editable engineering project that can be opened inside the software engineers already use.

The current alpha supports:

  • KiCad
  • Proteus
  • LTspice
  • EasyEDA Pro

So instead of AI merely telling you how to build a circuit, ProGenEDA can produce the file where the engineering work actually continues.


Why this matters

Think of what AI coding tools did for software:

Idea → prompt → working code

We want to bring that same shift to electronic design:

Idea → prompt → editable circuit project

An engineer may already know exactly what they need. The slow part is often translating that idea into dozens of components, pins, connections, values, wires, and tool-specific structures.

That repetitive setup can take hours, especially for students, prototypes, repeated designs, and larger circuits.

ProGenEDA turns much of that manual reconstruction into a generation step.

That means engineers can spend more time on designing, testing and improving the circuit instead of drawing it.


The innovation

The important part is that ProGenEDA is not just an AI schematic chatbot.

AI alone is probabilistic. Engineering files cannot be.

So ProGenEDA separates the two.

Human description
        ↓
AI understands the intent
        ↓
Tool-independent circuit contract
        ↓
Deterministic validation
        ↓
EDA-specific compiler
        ↓
Actual native project
        ↓
Validation again

AI interprets. Code builds. Validators decide.

The AI can understand something vague like:

Make me a basic low-pass filter.

But it does not get final authority over the engineering output.

ProGenEDA converts the request into structured information describing the components, pins, values and connections.

Then deterministic generators build the actual project.

If something is unsupported or cannot be proven valid, the system rejects it instead of inventing an answer.


One circuit, multiple engineering tools

This is the part I believe makes ProGenEDA especially interesting.

We did not build:

AI for Proteus AI for KiCad AI for LTspice AI for EasyEDA

Instead, we built the circuit itself as a tool-independent intermediate representation.

Then each engineering application gets its own compiler.

                 → KiCad project
Circuit Intent   → Proteus project
                 → LTspice project
                 → EasyEDA project

The same logical circuit can therefore be understood independently of whichever software eventually opens it.

That architecture also gives ProGenEDA a path toward adding more engineering tools without rebuilding the entire AI system each time.


Who would use it?

Students

Instead of spending a lab manually placing and wiring dozens of components, students can start from an editable circuit and focus on understanding why it works.

Freelancers

Turn a client requirement into a first editable engineering project much faster.

Hardware startups

Prototype common circuit blocks without repeatedly rebuilding everything from a blank file.

Research and teaching labs

Generate known circuits, controlled variations, and reusable projects repeatedly.

Engineering teams

Eventually turn internal circuit patterns into standardized, repeatable generation workflows.


More than prompt → file

The current ProGenEDA application already includes:

  • natural-language circuit generation
  • native downloadable projects
  • generation history
  • supported-component catalogues
  • direct structured JSON input
  • guided circuit editing
  • batch controls
  • deterministic regeneration
  • serial IDs for generated circuits
  • validation and failure reporting

For supported edits, the user does not even need another AI call.

Change the structured circuit and recompile it deterministically.


Inspiration

ProGenEDA started because of one university project.

For my Digital Logic Design course, I built a digital clock using electronic ICs with features including alarms, reset logic, time zones and a calendar.

The project worked.

But creating its simulation manually was exhausting.

I spent roughly two weeks placing components, connecting pins, fixing wires and repeatedly rebuilding parts of the design.

Throughout the process I kept thinking:

Why can't I just describe this circuit and have GPT build it?

When the semester ended, I jokingly told my friends:

This summer, I am going to make sure I never have to manually draw another circuit again.

They told me it was not possible.

So I tried.

The first version was simply called Proteus Generator.

Once I realized the underlying idea could work beyond one application, it became:

ProGenEDA — Programmatic Generation for Electronic Design Automation.


How we built it

The core idea was to stop treating the visual diagram as the source of truth.

Instead, a circuit becomes structured data:

components + values + pins + connections + constraints

Each backend then independently converts that common representation into the native structure required by its target application.

Depending on the tool, the pipeline can:

  1. resolve supported components,
  2. validate pins and connections,
  3. place and arrange components,
  4. create wires or terminals,
  5. assign values and references,
  6. emit the native project,
  7. parse and validate the result.

The output is therefore not an image pretending to be a circuit.

It is the actual editable project format.


Challenges we ran into

The hardest problem was not generating one impressive example.

It was proving that the architecture worked beyond the circuit we happened to test.

That meant building automated circuit corpora and repeatedly testing different components, values, pins, connections and layouts.

Another major challenge was AI reliability.

A model can produce beautifully structured JSON that is still electrically wrong.

That led to one of ProGenEDA's most important rules:

Never treat model output as engineering truth.

The deterministic generators and validators remain the final authority.


Accomplishments that we're proud of

What started as one experimental Proteus generator became a shared architecture spanning four EDA ecosystems in the public alpha.

We now have independent generation backends, validation systems and large automated test corpora.

Most importantly, we proved the architectural idea:

Circuit intent does not have to belong to one engineering application.

It can exist independently and then be compiled into the tool the engineer wants to use.


What we learned

The biggest lesson was simple:

Use AI where ambiguity exists. Use deterministic code where correctness matters.

AI is excellent at understanding what a person means.

It should not be trusted to invent engineering syntax, pin mappings or final connectivity when those things can be checked by code.

That separation made ProGenEDA much more reliable—and much more expandable.


What's next for ProGenEDA

The current product is an early technical alpha, not the finished vision.

Next we want to expand:

  • supported components
  • larger and more complex circuits
  • PCB generation
  • footprint assignment
  • design-rule checking
  • Gerber, drill and BOM exports
  • team circuit libraries
  • reusable templates
  • API access
  • additional EDA ecosystems

The long-term goal is bigger than automatically drawing schematics.

It is to build a compiler layer for electronic engineering:

Describe what you want to build. ProGenEDA turns it into the engineering files needed to start building it.

Built With

Share this project:

Updates

posted an update

Public data

What is here

Area Public material What it supports
test-jsons/ 1,000 canonical circuit-input JSON files The declared test-input corpus: 200 Proteus, 400 KiCad, 300 EasyEDA Pro, and 100 LTspice inputs.
evidence/reports/ Sanitised qualification and experiment reports Recorded local qualification results and release-boundary evidence.
experiments/ A Proteus archive with 8,308 sanitised readable records and a full inventory of 26,959 local artifacts, plus other experiment indexes A transparent separation of qualified work from research, failures, and inventory-only artifacts.
native-artifacts/ Actual native Proteus, KiCad, EasyEDA Pro, and LTspice project files Inspectable files that can be opened in their target editors, with SHA-256 verification.
templates/ Censored architecture and validation templates The general approach, without proprietary code, prompts, source packs, or vendor records.
claims/ Claim register and limits Exact wording that may be supported by this archive.

Exact contents

Actual native files — native-artifacts/

These are files produced for, or opened by, their named EDA editor. They are not screenshots or converted placeholders.

Editor Included files What a reviewer can inspect
Proteus 7,515 .pdsprj Native project layouts from placement, terminal, value/property, component-family, mixed-circuit, and executable-gate experiments.
KiCad 2,190 .kicad_pro, .kicad_sch, .kicad_pcb Project settings, editable schematics, and the available board outputs from the recorded qualification runs.
EasyEDA Pro 2 .eprj Two recorded native EasyEDA Pro project outputs for a regulated 5 V supply run.
LTspice 431 .asc, .net Native schematic previews and associated netlists across the observed stock-component families.

Every native file is listed with its byte size and SHA-256 hash in native-artifacts/manifest.json. Open copies in their matching editor; use the manifest to confirm they were not changed after publication.

Test inputs — test-jsons/

This contains exactly 1,000 input descriptions used to exercise the backend tracks:

  • 200 Proteus placement-control inputs;
  • 400 KiCad common-circuit inputs;
  • 300 EasyEDA Pro qualification inputs; and
  • 100 LTspice website-corpus inputs.

These JSON files describe requested circuits; they are not the native outputs themselves. The native outputs are in native-artifacts/.

Proteus research history — experiments/proteus/

  • 8,308 sanitised, readable reports, manifests, validation records, audits, success records, and failure records;
  • a complete SHA-256 index of all 26,959 local Proteus artifacts reviewed; and
  • the actual .pdsprj files from that work in native-artifacts/proteus/.

This intentionally includes experiments that did not qualify. A file appearing here means it was recorded, not that it passed, is electrically correct, or is available in the product.

Supporting evidence and public-safe explanations

  • evidence/reports/ — backend qualification reports and the Altium research-only pilot report.
  • claims/ — the exact claims this archive supports, plus wording it does not support.
  • templates/ and snapshots/ — censored architectural/validation examples. They communicate system shape without publishing reusable private generator code, prompts, keys, or donor archives.

Log in or sign up for Devpost to join the conversation.

posted an update

I have moved it to render free hosting. I have done as much as i can, I do really apologize if some feature isnt working in the website, but looking at code it will be clear that all the claims i made are valid and tested. I am again so very sorry, but there isnt much i can do as i cannot afford real hosting.

Log in or sign up for Devpost to join the conversation.