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.