I usually collect a few PCB designs before sending them off to the PCB fabhouse. I prefer to use dirtypcbs.com as I know Ian from dangerousprototypes.com for a long time and think he provides good quality, and fast turn around time for your money. Also tend to be loyal to my suppliers so a better alternative may exist. The main reason I wait before sending them off is that I want my PCBs returned quickly. DirtyPCBs provide fast DHL shipping (about 2-3 days to .nl) but it is quite expensive (about 30 USD) compared to the manufacturing the PCBs. Luckily the PCBs don’t weight a ton, and adding more designs will not add much additional shipping costs.
Most time of the PCB designing process goes into the design of the schematic and the routing of the PCB. Adding components to your library is usually a small task which don’t take much time. Nowhere in the process of designing the PCB this small but very important step is checked again. So make sure that the footprints and pinout is correct and double, tripple and quadriple check it!! The easist way to check the footprint (and PCB) is to print it on a sheet of paper (make sure the scale is 1:1 and not mirrored!) Place the component(s) on the printed page and check if all the printed pads align with the components and whether there is plenty of extra copper around it to be handsoldered. Next make sure the placement part of silkscreen is making sense. To check the pinout I found it usefull to enable pins numbered in the cad package and check it with the datasheet afterwards. Preferable dont check it on the same day as you made the library part as you probably make the same mistake again.
Generating Gerber is luckily an automated process, but also prone to lots of errors. enabling the wrong layer(s) in the copper or silkscreen layer could easily ruin your day. PCB manufacturers produces exactly what you tell them to do, nothing more and nothing less, so it is always your own fault. There are several options to check if the gerbers are what you expect. I personally use circuitpeople.com, which is an online tool to check your gerbers. You can upload the same .zip file to them as you would send your boardhouse. They show how each of the layer (copper bottom, top, silkscreen bottom, top, board outline and drill) looks like. Only if you have double checked them send them off.
Other things that could go wrong is swapping signals like RXD/TXD, MOSI/MISO and SDA/SCL. These signal are alway ‘seen’ to or from a device, so an error is easily made. To avoid this you can add these names to the pins of the devices in the library, i.e. RA4/TX and RA5/RX. On prototypes these errors can be easily fixed (on the prototype) with some thin wire (I prefer wirewrap wire for that) and lots of patience. Other errors you can make is to forget to add required components, like pullups on an I2C bus or capacitors on a crystal, or selecting the wrong footprint like D2PAK instead of DPAK and a too small SOIC8 (150mil) for a SPI memory.
Bottom line is to check very often and if possible let other people check it too. In a few days I’ll do a post (or two) how to correct these silly mistakes.