Replies: 3 comments 2 replies
-
People who are well-versed in electronic circuit design are loath to use some automated tools (like autorouters or autoplacers) because they consider the results inferior to what they produce manually. This is probably justified for complex boards with many constraints. But, an automated system for simple boards may be feasible. We had a discussion about this here and here. Unfortunately, I don't think we achieved escape velocity. However, I did start the Circuits as Code project to create a SKiDL library of common circuits. These could be used in an automated system. There was some work at Berkeley on JITPCB, which was a tool for rapidly building the hardware and software for systems that were composed of subsystems that communicated over a narrow bus. I think some of the people who worked on that went off and founded jitx as a commercial offshoot. They also have a VSCode extension. |
Beta Was this translation helpful? Give feedback.
-
I'm honestly not even interested in automation. For example, I'm totally
fine with describing tracks (correct term?) as, say segments defined using
some Python object. I just want to keep the GUI out of the picture.
Does that address your point or clarify things?
…On Tue, Sep 7, 2021 at 12:19 PM Dave Vandenbout ***@***.***> wrote:
People who are well-versed in electronic circuit design are loath to use
some automated tools (like autorouters or autoplacers) because they
consider the results inferior to what they produce manually. This is
probably justified for complex boards with many constraints.
But, an automated system for simple boards may be feasible. We had a
discussion about this here
<michaelgale/pcbflow#1 (comment)>
and here <zignig/artifex#1>. Unfortunately, I
don't think we achieved escape velocity.
However, I *did* start the *Circuits as Code* project
<https://github.com/devbisme/circuitsascode> to create a SKiDL library of
common circuits. These could be used in an automated system.
There was some work at Berkeley on JITPCB
<https://people.eecs.berkeley.edu/~biancolin/papers/JITPCB.pdf>, which
was a tool for rapidly building the hardware and software for systems that
were composed of subsystems that communicated over a narrow bus. I think
some of the people who worked on that went off and founded jitx
<https://www.jitx.com/> as a commercial offshoot. They also have a VSCode
extension
<https://marketplace.visualstudio.com/items?itemName=JITX.jitpcb-vscode>.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#129 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACRPRYSQH2CYIA3KNNK563TUAY3PVANCNFSM5DPDLKZA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Beta Was this translation helpful? Give feedback.
-
Something that's kinda similar to what you want is James Bowman's CuFlow. As he describes it: "Instead of spending hours working away at a PCB CAD system, you can spend hours on a Python program that draws the PCB instead!" Another way to go is just to enter PCBNEW's Python console and use the Once the layout is done, there are some existing script-based flows for generating the manufacturing outputs. Let's keep this conversation going. Let me know if there are things I can do in SKiDL to help your efforts. |
Beta Was this translation helpful? Give feedback.
-
As suggested by @devbisme, in this issue.
SKIDL seems to satisfy the first part of Python-driven PCB design, replacing drawing a schematic in a GUI with describing it using Python in order to generate the netlist. I'd like to gauge community interest in furthering this idea to designing and generating the PCB layout and the rest of the process, and enumerating what possibilities there are in existing tools.
I'm pretty new to PCB design and may be pretty naive about this, so I'm also happy to take criticism on why this approach may not be feasible, or what roadblocks exist. Hopefully any replies will help inform others who have the same question.
Thanks all!
Beta Was this translation helpful? Give feedback.
All reactions