This page adds to the lessons of board number one. It is basically a summary of lessons I learned. While there is no substitute for reading the manual sometimes for a first time user it is difficult to know exactly what you need. See also board number 3.
Expect to produce at least 2 or 3 boards before you feel comfortable laying out a board.
1. As per board number one have a detailed circuit diagram with pin numbers for everything. I was slack with connectors so some turned out to be the mirror image (bottom view and not top view) of what I wanted.
2. Before starting the schematic spend time finding the actual part - I have spent a lot of time trying to find the correct RJ45 socket - many were the mirror image of the part I had from my local store.
3. Except for simple connections do not attempt to wire the components (microcontrollers etc) - use the network tool. Decide on sensible labels before commencing the laying the tracks. If the tracks are already placed changing a label will result in two "lines" going between the pins in question - your track plus a new rat line between the same two pins..
4. Use the supplied Vcc and Gnd symbols
5. Consider headers for test points.
6. Laying out more complex parts save your work continually. Even with the experience of one previous board I still found it easy to lose track of the mode in which I was operating and the various controls. Components such as the connectors and microcontroller in the PCB below where wires weave in and out should be placed with their holes on the grid lines. Once reasonably satisfied with locations etc lock the components in place.
7. Increase width of power tracks.
8. I found with the via's first step is to layout the top and bottom tracks and then where they overlap add the via.
9. The software has the facility to upgrade/modify the layout (you need to be logged in). The new PCB will show your old layout plus the new tracks. Change only one or two connections at a time or you will be back to the original rats nest. Actually it will be more confusing as you will have the blue rats nest plus the blue tracks for the bottom layer of the new board.
10. Add all the text etc for the silk screen. If the design has any jumpers add text to describe.
11. Consider how board is to be mounted and add the necessary holes.
10. If necessary re-dimension the board.
11. The only other operation is to add the copper ground plane. I cannot recommend if it is better to do this before laying out the tracks or after.
My project used 4 instances/objects of a C++ class. Each C++ object had 4 parameters of the form (Sensor,Red_LED,Amber_LED,Green_LED). In the breadboard prototype it was easy to use "sensible" pins such as (A0,2,3,4), (A1,5,6,7) etc. However with the PCB this resulted in many tracks having to cross. For the PCB a better solution is to layout the tracks to the most convenient pin and use define statements and let the C++ code handle the wiring.
#define SEN_1 A0#define RED_1 2#define AMBER_1 3#define GREEN_1 4 etcThen the definitions should be changed to match the PCB wiring.