Summary of discussions in the foss-pcb mailing list
This is a place holder to keep track of ideas discussed in the foss-pcb mailing list, which aims at defining a roadmap to bring FOSS PCB design tools to a level of quality and features comparable with some of their non-open counterparts.
The mailing list address is: foss-pcb@ohwr.org
The subscription / unsubscription email address is: sympa@ohwr.org
In order to unsubscribe, please send an empty email to that address
containing the header: unsubscribe foss-pcb
You may also use sympa's web interface for subscribing/unsubscribing:
http://lists.ohwr.org/sympa/info/foss-pcb
The list archive is available in: http://lists.ohwr.org/sympa/arc/foss-pcb
Please do not hesitate to invite other people to subscribe. To do so, they should send an empty email to sympa@ohwr.org, with the header: subscribe foss-pcb Firstname Name
Phase I. The Features.
Below is a list of desirable features for a FOSS PCB design tool. This is just a working document gathering information from the mailing list in an easy-to-reference manner. It is by no means cast in stone.
- Easy way to transfer schematics and PCB layout to other FOSS tools.
- IPC-356 netlist export, which is used by board fab houses to drive their flying probe electrical test equipment.
- Integrated push-and-shove router (or at least push/walkaround mode).
- Hardware-accelerated display engine.
- Support for split planes. You can draw the planes in negative (i.e. you draw only the cuts in a contiguous copper plane and assign the resulting slices to power supply nets).
- Object filtering. For example, typing "obj.typeTrack && obj.layerTop" selects/masks/unmasks all tracks on the top layer.
- Property editor capable of editing groups of objects of different types (a nice tabular view).
- Assigning footprints directly on the schematic. Library browser in a docker window with footprint/symbol viewer.
- Scriptable constraint editor. There are constraint categories, like Length, Width, Clearance where the user can specify the acceptable values and also the conditions (using the scripting langugage) under which the constraint is checked.
- Common shell for schematic editor and PCB layout applications. There is no consensus on this one, to be discussed. One advantage of the common shell is allowing a component selected in the schematics to be highlighted in the layout, and viceversa.
- Integrated functional simulation (ngspice, Qucs...). "A simulation run should be as simple as with ltspice."
- "Slightly integrated" EM simulation (for power/gnd integrity, crosstalk...).
- A library model that contains all the complex relations between symbols, footprints, purchase information, simulation models and comments.
- Export/import to a 3D mechanical CAD application.
- Pin-swapping and back-annotating pinswap data from the PCB to the schematic (without any messing with netlists).