Homebrew, open source, repurposed, hacked, software defined, open hardware

Friday 10 February 2017

Importing TinyCad schematics into gEDA pcb-rnd

As previously discussed, the gEDA PCB fork pcb-rnd has a modular architecture allowing import and export modules to be developed quickly.

Furthering the latest development efforts aimed at increasing the number of schematic layout tools that pcb-rnd can obtain netlists from, a new module has been written to allow netlists from the FOSS schematic editor TinyCad to be imported.

TinyCad is a windows application that runs quite happily on Linux under wine.

The gEDA project's schematic editor, gschem, continues to be a powerful, flexible and extensible schematic editor, but guile library availability on windows has at times lagged that on *nix, making alternatives to gschem valuable.

The import module is able to import a TinyCad netlist exported from TinyCad in TinyCad's own plain text netlist format.




The TinyCad netlist file (designName.net) contains enough information to allow pcb-rnd to populate a new layout with associated connection data.

TinyCad is quite flexible, and allows a footprint attribute, i.e. a "Package", to be associated with a component.

This is done easily by clicking on a component to make the attribute inspector appear


At which point a standard pcb-rnd compatible package can be specified in the window, i.e. 1206 for an SMD resistor:


The same design used for the LT-Spice netlist import example has been used for this example, to allow comparisons to be made.



Clearly, TinyCad is much more suited to an easy schematic -> pcb-rnd workflow than the current version of LT-Spice tested (v4).

Having exported the TinyCad plain text netlist from TinyCad, the next thing is to start pcb-rnd.

In pcb-rnd, the netlist can be imported, either with a command

:LoadTinycadFrom(/home/user/path/to/design.net)

or via the file menu:





The parts and connections (rat lines) will then appear


the parts can then be selected and dispersed


and then re-arranged into a nice grouping, ready for routing.


So, we see we end up with much the same result as that achieved with LT-Spice netlist import, reproduced here:



As this example shows, the workflow from TinyCad to pcb-rnd is more natural and goes more smoothly than from LT-Spice.

The following points can be made:

1) TinyCad is more capable in terms of allowing additional attributes to be specified for components,

2) If you look closely at the two final layouts, the two workflows nicely illustrate "The transistor problem", in which different schematic symbols may map to different TO-92 pins, or the pins of whatever other package you choose.

3) connectors were specified for the sake of example for the power supply and input signal in the TinyCad example.

The TinyCad import plugin is now available and enabled by default in the svn, and is expected to be in the next formal pcb-rnd release.

Additional import plugins are planned for other schematic layout tools. If you have a tool you'd like to use with pcb-rnd, get in touch at http://repo.hu/projects/pcb-rnd/ and we can see about making it happen.

No comments:

Post a Comment