pcb-rnd knowledge pool
Our new EDA suite
suite by Tibor 'Igor2' Palinkas on 2018-01-01 | Tags: insight, ecosystem, suite, eda, project, management, strategy |
Abstract: pcb-rnd is a PCB layout editor tool. When it started in 2013, I didn't foresee it would be the flagship of an EDA suite, which will be part of an EDA ecosystem. This node describes the relation between these terms.
(Updated in 2024)
From inside out: pcb-rnd is a layout editor software. It is part of the Ringdove suite, among with sch-rnd, edakrill, etc. The suite is part of CoralEDA , which is an EDA ecosystem effort , which in turn has two rings.
It's probably easier to understand it looking at the following diagram:
The rings are, from outside to in:
- EDA ecosystem, loose: theoretical concept; any EDA software that can somehow be used within the ecosystem, but not because the given software made efforts toward this direction but because more inner ring software made efforts. For example Eagle is part of the loose ecosystem because pcb-rnd is compatible with eagle; all efforts for this are invested by pcb-rnd while Eagle didn't do anything for this. Similar examples are LTSpice, KiCad and gEDA/PCB.
- EDA ecosystem, tight: half-theoretical concept; any EDA software that can be used within the ecosystem because they also invested some development time to be part of the ecosystem. For example it supports the tEDAx format and pcb-rnd back annotation so it's more tightly coupled with the rest of the ecosystem than a random external tool the ecosystem can merely import from.
- Suite: the family of EDA tools and services developed around pcb-rnd; hosts a bunch of projects, like pcb-rnd, sch-rnd, camv-rnd, edakrill, genxproj. As a whole, it can be a complete solution to a few EDA workflows.
- pcb-rnd: it's on the top of the stack, being part of the suite.
The main difficult part is to see the difference between the Suite and the ecosystem. The key is realizing how tightly coupled the goals are:
- Within the suite, we always make sure every tool/service works well together with every other tool/service as each is being developed.
- Every tool within the suite is developed with the same basic concepts in mind, for the same target audience; in case of our suite, this means: developed for UNIX-minded people, with strong CLI support, modular and flexible code.
- The overlap between developers of various programs in the same suite is high.
On the other hand, the ecosystem contains tools from various sources, developed by different people (with small or no overlap with our developers). Development goals and styles are rarely the same. But at the end, tools within the same ecosystem have some practical connection for the end user.
The following drawing shows the relations between pcb-rnd, the suite and the rest of the ecosystem (without dividing the ecosystem into two rings this time):
Thus the connection between ecosystem tools are much weaker then the connection between the tools within the same suite. The ecosystem model is further divided into two rings, depending on whether the participant is willing to join the ecosystem (tight ring) or just lured in (loose ring). Paths to and from loose ring tools are more likely to break as developers of those tools won't consider ecosystem aspects.
Please note: being free software is orthogonal to this splitup. For example gEDA/pcb or lepton EDA are both free software, but they are in the loose ring becuse they don't do anything for interoperability within this ecosystem. On the other hand, there's no actual example yet, but there might be a proprietary software or service that decides to use the tEDAx file format, which effectively makes it part of the tight ecosystem.
Members of our suite
project | state | purpose |
---|---|---|
pcb-rnd | stable | printed circuit board editing |
edakrill | stable | "cloud" - web based user data lib (footprints, symbols, etc.) |
tEDAx | stable | Trivial EDA eXchange - cheap-to-implement file formats for interoperability |
genxproj | alpha | generic project manager |
sch-rnd | stable | schematics editor |
camv-rnd | stable |
PCB CAM file viewer
(gerber, excellon, etc.) |