Concept: Inkscape-based PCB layout software

Not an active project, but just a concept for now.

My idea is to make a fork of Inkscape (open-source vector graphics editor) which would turn it into a PCB layout editor. My intention is to make a simpler, more “low-level” editor that removes the redundancies of the workflow in Kicad or Eagle; for instance lacking a schematic editor. Unfortunately my programming skills are little more than negligible, so this project won’t be able to start in the foreseeable future unless if anyone else jumps on board.

An issue with programs such as Kicad and Eagle are that they are designed for a workflow that begins with making a schematic and then transferring those components the board editor to lay them out. In Kicad, it is not a smooth process to make changes to the circuit or add more components when you have already transitioned to the board editor, as it stupidly prevents you from doing anything that contradicts the schematic. But I think that the PCB editor should trust you to know what you are doing. In addition, the way the board is represented in those programs is hard on the eyes, making it especially repelling to new users. While Fritzing is easier in many ways, it tends to make lower-quality boards. It is also takes too much effort to make new footprints, as they must be made externally in Inkscape, and with stupidly specific (and poorly-documented) rules to follow.

In this new program, I want the placement of pads and through-holes to be a click away, and it would be easy to select multiple objects and group them into a “footprint”. Inkscape’s flexibility with colours could be utilized to make this program nicer to look at.

Here are some ways that we can take advantage of Inkscape’s features when making PCB software from it:

  • The outline of the board would be made as a polygon. This would allow the board to have a fill colour in addition to an edge colour, unlike Kicad and Eagle.
  • Copper traces would be made with the path-editing tools in Inkscape. However, I do think that we should simplify these tools, possibly even making some changes that can be merged back to actual Inkscape.
  • A footprint would simply be a group with a special attribute attached to it. You could then easily select some objects such as pads, through-holes, and maybe some silkscreen objects and make them into a group. Then they would move together when dragged. If you wanted to individually select and edit the objects within a footprint, then simply “enter group” as you would in Inkscape.
  • Inkscape has a menu on the right side of the screen to toggle what to snap to. In this case, the options could be things like holes, pads, traces, trace nodes, and grid.

Of course, to turn Inkscape into a PCB layout editor, we would strip many features that are not relevant to PCB editing, and make changes to the remaining ones. We would also need to add some special formatting to the objects to make the distinction between holes, pads, soldermask, silkscreen, and substrate. This would likely involve replacing SVG with a new default file format, which would probably be custom.

I feel like this could end-up being a good program for people that already have the circuit itself planned out and want to get straight to business.

1 Like

Hey, you should check out this thread here, if you’re not aware of PCBModE. It’s pretty much what you’re describing - Using Inkscape as a front end for PCB design. You can go back and forth between Inkscape and JSON, and the results are pretty great.

1 Like

No. That’s not really the idea. My idea is not about using plain Inkscape or even using it with an external program or plugin; my idea would require Inkscape to be modified from it’s source. This would likely include stripping many features from Inkscape that aren’t generally relevant to PCB making.
The whole idea that I’m suggesting is a straightforward, no-bullshit way to design PCBs that skips the redundant steps.
However, I could take inspiration from this project by keeping some Inkscape features for the sake of artistic PCBs, or for silkscreen. But maybe just as a plugin or setting. I was also thinking of an idea to be able to export/import to/from actual Inkscape for when you want some fancy graphical stuff on your PCB, especially for silkscreen.

1 Like

Any progress on that front? I ask, as I contemplate making a PCB from… letraset lines and donuts!

2 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.