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 exploited! I really think that both gschem and pcb are great tools. Regards, Duncan -- Turn ideas into products - http://www.engineersimplicity.com The Art of Engineering - http://blog.engineersimplicity.com _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user