[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: thoughts and comments after first PCB

I recently completed my first PCB which was done entirely with the
gEDA suite. Previously I have used gschem and then output a netlist
file and contracted the layout work to be done in PCAD. As I went
through the learning process with the PCB layout package I noted down
the questions which came up and any thoughts/comments which I had. I
hope that sharing those thoughts will contribute to the community and
these two excellent packages. These comments are mostly about my
experience learning and using PCB. I managed to answer most of my
questions/issues by reading the manual/wiki/mailing list.

I have been really impressed with both tools. Thank you to all of you
who put so much effort into making the gEDA suite, and continually
improving it. I am deeply grateful for all your effort, and I hope
that I can contribute to this community.

I am working in Windows, and running both gschem and PCB on top of
cygwin. I come from a background of working with PCAD, so that forms
my frame of reference for PCB layout (although I never laid out an
entire board in PCAD - mostly just engineering input).

I downloaded the latest stable sources and compiled them. I followed
the info on the wiki and it all worked perfectly (
http://www.geda.seul.org/wiki/geda:cygwin ). One of the things that I
did notice is that the pre-compiled PCB binary for Windows was
*really* slow, and I am very glad that I recompiled on cygwin - it
resulted in a much faster and more pleasant experience. There was also
some other randomness in the Windows version, like strange menu
behaviour (FYI I am running Vista).

When I started I found the user interface very confusing. There were
two things which caused this. Firstly, there are certain "expected"
responses coming from a Windows background, like expecting a context
menu on a right click. After working with PCB for a while I now keep
right clicking to pan the screen around in other programmes :) Once I
had a feel for the actions, it became quite easy to work with, but it
is an initial bump that people have to get over. I had quite a bit of
motivation (had to do this board in PCB regardless), while people who
are considering options might not put in the effort to get over that
bump. I think the controls should remain, what is important is to make
sure that people can easily get over that initial awkwardness with the
controls. The sooner they get past that the sooner they can start
having fun.

The second thing about the interface was that it was inconsistent with
gschem. Left/right/middle clicks do different things, which is
unexpected. I think that is quite a crucial issue to look at and
consider. Although the two programmes are separate, they are still
part of a suite. Consistency in user experience can result in a much
smoother and more pleasant process.

I also had some trouble figuring out the select tool (later I realised
I didn't really ever need it though, but at first it caused me some
confusion). What it selected seemed a bit random. Sometimes I would
end up selecting a pad, sometimes the object on the other side of the
board - it was just confusing, and I couldn't figure out how it
decided what to select. There is also different behaviour for moving
objects based on the selection. If the object is just dragged, then
the lines are extended/dragged with it, if it is selected and then
dragged the lines don't. It is a useful feature, but if you don't know
about it, it is confusing.

I've seen it come up a couple of times on this mailing list that
people think there are only 8 layers supported in PCB. It is clear
from all the comments here and on the wiki that the default is up to
16 layers. I think one of the problems is that on page 4 of the PCB
manual under "Overview" it says, "Up to 8 copper layer designs."
Fixing that may result in fewer questions about the layers.

On the issue of layers, I kind of lucked out while looking through the
menus to figure out where the layers and board size menus were. The
File->Preferences menu seems like an odd place to find board (project)
related info. It would be nice if it was more immediately obvious how
to change the items hidden away there. It is easy to google for an
answer and find it quickly, but again that adds to the "hump" that new
users have to get over. The faster users get over the hump, the
greater the adoption of this excellent tool (and the greater benefit
to the community around it).

This might be a result of coming from PCAD, but I found it quite
strange that the mask and clearance's are set individually for pads.
It makes absolute sense to have that option, but I expected it as an
override for global values, rather than having each pad/pin/etc set
individually. Setting a global value and then overriding it on a
pad/line/etc. seems like an easier way to control these two values.
Similarly being able to control the clearance for a polygon, rather
than for a pad/line seems to make more sense, but again I am carrying
this over from my PCAD experience.

On the topic of polygons I found the need to manually connect nets to
a polygon a little bit cumbersome. Maybe if I was familiar with some
of the commands this process could be quite fast, but having a smart
polygon automatically connect to the relevant nets seems even faster.
Connecting pads to polygons is also quite a pain - I did it by drawing
a line into the polygon and then pressing 'j' to join it to the
polygon. Having the ability to apply a thermal to a pad would be
great. Having the thermals and connections applied automatically by
the polygon would be better.

The final thing with polygons was that they often create very thin
lines (less than the DRC specified line size) between pads or in other
small places. I manually set certain pads' clearances larger to ensure
that none of these unreliable connections were being made and creating
false islands. Fortunately I had a small board which made this easy -
I would hate to do it on a large complicated layout. I saw this raised
recently on the mailing list.

I found the DRC quite difficult to work with. Some of the errors I
could see what was wrong, but others I had no idea what it was
complaining about. There would be an error near a location but there
was nothing there except for a ground plane. I didn't know which layer
to look on or what "near location" really means.

When I generated centroid data for the first time it took me a short
while to figure out where the origin was. I had a board outline layer,
and the "board size" was defined bigger than this. It was a little
confusing, along with the change in coordinate systems (bottom left is
origin, instead of the top left). Once I had that figured out I could
adjust the coordinates around my desired reference point. Being able
to choose the centroid reference point would be nice (then you just
inform the assembly factory where it is).

The BOM that PCB generates is far nicer than the BOM that gschem
generates. The PCB BOM has one type of item per line with all the
corresponding refdes', while gschem creates a line per refdes. Having
a PCB style BOM generator in gschem would be useful (unless I'm
missing something?)

I just want to make it very clear again that I really appreciate all
the effort that has gone into these tools, and I think that they are
wonderful tools. I would like to see more people using them, and I
have some ideas about useful add-on tools that would assist the whole
design process (I'm starting to work on some of those already). The
great thing about the open nature of the tools is the well documented
file structure - there are so many exciting possibilities to be

I really think that both gschem and pcb are great tools.


Turn ideas into products - http://www.engineersimplicity.com
The Art of Engineering - http://blog.engineersimplicity.com

geda-user mailing list