So far I've only been concerned with designing circuit schematics. That is, an illustration of how the various components are connected to each other but which not necessarily have any correspondance with how the actual, physical components are placed on a board. I have been using the free version of CadSoft's EAGLE which is very capable and has all the features I will need for the forseeable future. And it runs on Mac OS X (as well as Windows and Linux). It does have kind of a weird user interface but you get used to that.
EAGLE has both a schematic editor and a PCB layout editor and until recently I had never spent more than five minutes looking at the PCB layout editor so I had some learning to do. This tutorial from SparkFun and this PDF helped a lot. As did this list of layers from PCB-Pool.
Three more things I learned:
- Choose the right components when making the schematic - or later.
It quickly turned out that I had to go back and spend some more time in the schematic editor. Because up until now I just chose components without much regard for the "footprint" – i.e. size and shape. I didn't care exactly what resistor I was using as long as it had the right symbol and I could specify name and value.
But for PCB layout you really need to know whether there are 0.1 or 0.2 inches between the capacitor leads, for example.
So choose the right components when you make the schematic OR just drop in some components and then go back and change them when you starting working on the PCB layout.
Yes, I know that most engineer types out there will yell stuff about always choosing the correct component to begin with. But honestly, when I make the schematic I have no idea whether a given resistor will be 10 mm or 8 mm long. And I don't want to spend time thinking about at that time. So there!
- Make your own or adjust the packages
For some components I needed to change some details on the footprint. For the polarized capacitor I would like a square pad for the positive lead and for the 7805 volt reg I wanted to remove a lot of unnecessary silk screen print. This tutorial from SparkFun is helpful (http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=110).
As is knowing how to copy everything from an existing package. Here's how:
1) to identify the package and the library it's part of, choose the info tool and click on the part
2) open the library and edit the existing package
3) click the layers tool and show all layers
4) choose the group tool and select everything
5) click the cut tool (the scissor) – yes: cut. It will actually copy and not cut.
6) open or create the new package
7) click the paste tool (next to the cut tool)
And then you can add or remove stuff and save the package. Then edit the part, add a new package and connect pins and pads and then replace the old part with the new variant in the schematic editor (And choose Library -> Update all).
- Print and check
Print out a copy of the board in actual size by choosing File -> Print… and setting the scale factor to 1.
Then place all the components on the paper (push the pins through if possible) and make sure everything fits and the footprints are correct. I caught several mistakes by doing this...