pcb-rnd knowledge pool


Why should you use pcb-rnd vs. gEDA/PCB?

vs_geda by Tibor 'Igor2' Palinkas on 2018-01-01

Tags: insight, geda/pcb, comparison, table, feature, features, datasheet

node source



Abstract: Datasheet-like comparison table of the most important features of pcb-rnd and gEDA/PCB, to help users choosing between the two packages.


This page is intended to help users to chose between pcb-rnd and gEDA/PCB by providing an objective comparison on various properties (as of 2019).

Major features
property pcb-rnd gEDA/PCB
data model: explicit/editable mask and paste layers yes no
data model: footprint with no restriction yes (subcircuits) - footprint can host anything a board can no - only pins, limited SMD pads, limited pins, silk lines and silk arcs
data model: layer concept clearly defined physical and logical layers; compositing layers (additive, subtractive) on silk, mask and paste mixed physical/logical layer concept; no compositing layers
data model: user defined layer yes - arbitrary documentation/misc layers no - have to abuse copper layers
data model: padstacks, slots yes - plated and unplated slots, distinguishable from board outline no - special/restricted pin, pad and via objects, no real slotting
ability to load/save other EDA file formats rich (kicad, eagle, protel/autotrax, geda/pcb, etc.) none
embedded scripting pcb-rnd actions and 10 different turing complete languages (including: awk, lua, python, perl) pcb actions (not turing complete)
Flexible Design Rule Checker (DRC) yes - modular, user scriptable, DRC scripts are easy to share no - hardwired C code
community and support active, helpful, growing; bugreport reaction times measured in hours or at most days slow reactions, less active community
development pace (since 2017) fast (7000+ commits and 3..5 releases a year, featuring major feature improvements) slow (2..3 releases a year, mostly featuring bugfixes and minor features)
distro packaging support official debian, mageia, fedora; unofficial/user: arch, various BSDs any major distro
footprint formats various common footprint formats (including eagle and geda/pcb), transparent format detection and load supports only its own native .fp format
footprint access modularized footprint access: plugin for file system access, plugin for cloud access through HTTP loads only static file footprints from the file system
footprint generation support for extensible, dynamically generated parametric footprints , with GUI parameter dialogs (with the GTK HID); footprint generators implemented in any programming language m4 footprint generation; no GUI support
GUI support gtk2+gl, gtk2+gdk, lesstif - runtime selectable, dynamic loadable plugins gtk2+gl, gtk2+gdk, lesstif - compile time selectable, static linked
portability Linux, BSD, any UNIX system with motif (C89, no GNU dependency), windows Linux, BSD, modern UNIX systems (C99+, requires glib and may depend on GNU), windows
license GPL2+ GPL2+

Minor features
property pcb-rnd gEDA/PCB
translations English only multiple languages
documentation user manual: html (pdf);
auxiliary/contributed: knowledge pool
user manual: texi (html, pdf); doxygen;
auxiliary/contributed: wiki
configuration system scconfig (./configure && make && make install is always enough; dependency: C89) autotools (./configure && make && make install; may require autogen.sh, libtool; dependency: auto*, m4)
native file format lihata (tree structured text, named fields) custom text format, positional parameters, missing tree representation
runtime configuration unified tree structure, key/value/type; mechanism for dealing with system, user, project, file and session level configs, including list merges flat key=value settings model
modularization majority of the code in plugins; plugins can be configured to be static linked, dynamic linked or not compiled at all; automatic dependency handling between plugins majority of the code in core; majority of the features are static linked compile time on/off; some can be compiled for dynamic load