gEDA-pcb footprints
gEDA-pcb footprints
I am creating this topic to keep track of gEDA-pcb footprints. Perhaps they are useful to others; if nothing else I will know where to look next time I lose them. I will be editing this front post as needed. See below for more information, rationale, and pinning.
Last edited by enso on Wed May 12, 2021 8:02 pm, edited 3 times in total.
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut
Re: gEDA-pcb footprints
Rationale
gEDA-pcb (from now on 'pcb') is an ancient PCB design and layout tool for Linux. In my opinion all PCB tools suck, and pcb is no exception: it is overly complicated; it lacks a consistent interface; documentation (beyond the basics) is scattered over obscure internet pages; making footprints is oddly difficult - to name a few issues. On the plus side: it is opensourced; you can make reusable footprint-like submodules; it is reasonably easy to learn, and it reads partial netlists as text files. The last feature requires some clarification, as I don't know of other software that is as flexible as pcb.
Schematic capture software is much worse than PCB layout tools - I have yet to find something that does not make me throw up. Over the last decade I'd given up on schematic tools, and largely follow Garth's example of drawing schematics by hand (or sometimes use a simple bitmap editor). When it's time to make a PCB, I create a netlist file. pcb netlists are simple text files, one net per line, containing a net name and a list of object/pin designations. I create these in a text editor, and load them into pcb as needed. pcb creates a rat-nest from these, and I manually route these.
What is exceptionally nice, is that each netlist file does not have to contain all the connections (which is too messy!) I generally start with a power netlist, then move on to the data bus, address bus, and control signals, all as separate netlists. pcb allows me to load them separately as needed. These netlists are very useful for verification later, and make excellent documentation in the long run - as they are very readable text files. This alone makes me willing to put up with all the faults of pcb.
Pinning
Each pin is named according to its function (use 'd' key to see them). This makes errors glaringly obvious at routing time, and helpful later during verification. The netlists use pin numbers as each net name already communicates its function, providing an extra margin of safety.
gEDA-pcb (from now on 'pcb') is an ancient PCB design and layout tool for Linux. In my opinion all PCB tools suck, and pcb is no exception: it is overly complicated; it lacks a consistent interface; documentation (beyond the basics) is scattered over obscure internet pages; making footprints is oddly difficult - to name a few issues. On the plus side: it is opensourced; you can make reusable footprint-like submodules; it is reasonably easy to learn, and it reads partial netlists as text files. The last feature requires some clarification, as I don't know of other software that is as flexible as pcb.
Schematic capture software is much worse than PCB layout tools - I have yet to find something that does not make me throw up. Over the last decade I'd given up on schematic tools, and largely follow Garth's example of drawing schematics by hand (or sometimes use a simple bitmap editor). When it's time to make a PCB, I create a netlist file. pcb netlists are simple text files, one net per line, containing a net name and a list of object/pin designations. I create these in a text editor, and load them into pcb as needed. pcb creates a rat-nest from these, and I manually route these.
What is exceptionally nice, is that each netlist file does not have to contain all the connections (which is too messy!) I generally start with a power netlist, then move on to the data bus, address bus, and control signals, all as separate netlists. pcb allows me to load them separately as needed. These netlists are very useful for verification later, and make excellent documentation in the long run - as they are very readable text files. This alone makes me willing to put up with all the faults of pcb.
Pinning
Each pin is named according to its function (use 'd' key to see them). This makes errors glaringly obvious at routing time, and helpful later during verification. The netlists use pin numbers as each net name already communicates its function, providing an extra margin of safety.
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut
Re: gEDA-pcb footprints
Hi enso,
I also like gEDA pcb. I quite enjoyed the pcb manual and read it from start to finish but I also made some notes on round-trip engineering with `gschem` (the suggested schematic capture tool) and `pcb`.
I haven't created many footprints since I just use the `DIP40` or similar footprints that come with `pcb`, though having symbols for gschem can be handy.
I've put up a few footprints, though they are mostly related to a project to re-render the Commodore 16 PCB.
I quite like the "Export to gcode" feature of `pcb` that I use to CNC mill simple boards but the best feature has to be the file format, which I often edit by hand or run scripts against to make changes such as harmonizing drill sizes or similar, which the graphical UI will then offer to reload when it regains focus. It may be ancient, but this EDA software does what I want it to.
I also like gEDA pcb. I quite enjoyed the pcb manual and read it from start to finish but I also made some notes on round-trip engineering with `gschem` (the suggested schematic capture tool) and `pcb`.
I haven't created many footprints since I just use the `DIP40` or similar footprints that come with `pcb`, though having symbols for gschem can be handy.
I've put up a few footprints, though they are mostly related to a project to re-render the Commodore 16 PCB.
I quite like the "Export to gcode" feature of `pcb` that I use to CNC mill simple boards but the best feature has to be the file format, which I often edit by hand or run scripts against to make changes such as harmonizing drill sizes or similar, which the graphical UI will then offer to reload when it regains focus. It may be ancient, but this EDA software does what I want it to.
Re: gEDA-pcb footprints
Unclouded, thanks. It looks like you are way ahead of me with round-tripping... I thinlk we are the only users of gEDA here...
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut
Re: gEDA-pcb footprints
You are not the only gEDA users. But gEDA is slowly crumbling these days with pcb-gtk and gschem being harder and harder to install on modern systems. Current project state: https://geda.pages.dev
I switched to pcb-rnd and sch-rnd (both can read gEDA file formats and they continue the path gEDA staretd).
I switched to pcb-rnd and sch-rnd (both can read gEDA file formats and they continue the path gEDA staretd).
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: gEDA-pcb footprints
anon1991 wrote:
You are not the only gEDA users. But gEDA is slowly crumbling these days with pcb-gtk and gschem being harder and harder to install on modern systems. Current project state: https://geda.pages.dev
I switched to pcb-rnd and sch-rnd (both can read gEDA file formats and they continue the path gEDA staretd).
I switched to pcb-rnd and sch-rnd (both can read gEDA file formats and they continue the path gEDA staretd).
It appears developers have lost interest in the project, which is not atypical for Open Source projects that have a limited audience. Part of the problem is Linux itself has become a quagmire of creeping featurism (systemd, I’m looking at you), code bloat (the Linux 4 kernel has become elephantine) and conflicting “standards” (desktop environments that are married to specific libraries at the expense of interoperability). Backward compatibility, which was always a hallmark of the UNIX world, seems to have gone by the wayside as the Windows mentality takes over the Linux universe (systemd, I’m looking at you again). Naturally, things associated with Linux have gotten that way as well.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: gEDA-pcb footprints
That page doesn’t read terribly pessimistic to me.
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: gEDA-pcb footprints
BigEd wrote:
That page doesn’t read terribly pessimistic to me.
Quote:
As of 2024, the gEDA project has unfortunately stalled, with no activity on either PCB or gschem.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: gEDA-pcb footprints
Ah, well, I read the whole page and had a think!