Here is the method I use for creating professionally manufactured printed circuit boards for very little money. One might call it the Sparkfun Method. The design is done using Eagle, exported to Gerber using a Sparkfun CAM job, then uploaded to BatchPCB (a Sparkfun sister company) for fabrication.
Download and install Eagle from Cadsoft. This nifty little software package runs on Windows, Mac, and Linux, and is free for non-commercial use, the only limitation being the size of the PCB that can be produced. Sparkfun has an Eagle Tutorial that is a good place to start for new users.
Next, get the Sparkfun library. This library contains footprints for many common devices, including everything Sparkfun sells. If Eagle is installed in $EAGLEDIR, then here is how I like to install the library on my Linux box:
cd $EAGLEDIR/lbr git clone https://github.com/sparkfun/SparkFun-Eagle-Libraries.git sparkfun
This way I can update to the latest footprints using “git pull”. Now, when you launch Eagle you’ll see all the Sparkfun libraries in Control Panel -> Libraries -> sparkfun. To use the library, open a schematic, then:
Library -> Use Select everything in the $EAGLEDIR/lbr/sparkfun directory, then click Open Open the ADD window to view the Sparkfun preferred footprints
I try to choose components from the Sparkfun library whenever possible. For a simple part (say, a 10K SMD resistor), there are so many different packages on the market, it’s hard to choose one that is common enough to be inexpensive and readily available. The Sparkfun library helps narrow the choices. Once I’ve found a potential part, I like to cross-reference it with Digikey, which provides links to datasheets, pricing, and availability, and is where I prefer to buy my components (Nothing personal Sparkfun – it’s just easier for us Canadians).
Laying out PCBs is a bit of an art form. I recommend reading, “Better PCBs in Eagle” and follow all their suggestions. You’ll also want to grab the Design Rules (Sparkfun.dru) and CAM script (sfe-gerb274x.cam) using the links in the article as you’ll need them later.
Use the DRC tool loaded with the Sparkfun rules as you complete your board layout. Remember, the DRC checks all visible layers, so turning off layers can reduce errors. Stop Mask errors can be ignored and disabled by turning off the tStop and bStop layers. Generally the only layers you need to check are the Top and Bottom Copper layers, Pads, Vias, and Silkscreens. Here is further discussion on this matter.
When your layout is complete and passes the DRC, turn your layout into Gerber files by running the sfe-gerb274x.cam job. From the PCB window:
- Click File -> Cam Processor
- Click File -> Open -> Job and select sfe-gerb274x.cam
- Click Process Job
You’ll now have 8 Gerber Files (one for each layer) and a Drill File. To view the gerber files on Ubuntu, I use gerbv (sudo apt-get install gerbv). Spend some time examining the individual layers to see how they all fit together.
When satisfied take all the generated files (except the mill file, which BatchPCB doesn’t use) and zip them up:
rm <board name>.GML zip <board name>.zip *.G?? *.TXT
Now that the design is ready, send it to BatchPCB for manufacturing:
- Visit http://batchpcb.com and login/register.
- Select “Upload” and follow the directions. Upload the zip file created earlier.
- Verify the layers. Because you used the sfe-gerb274x.cam job, the layers should all be detected automatically, but this is where it pays to spend some time using gerbv to become acquainted with the individual layers. Make sure <board name>.txt is included in the upload and is correctly detected as the Drill file.
BatchPCB will run additional design rule checks and e-mail you with the results. Using the Sparkfun DRU, I’ve never had any issues, however some preview images fail to render and the Top Stencil image is often distorted. If there are errors, a description of the error can be found in the log file attached to the e-mail.
Once your board has passed, it will be ready for ordering. Batch PCB isn’t the best for large production runs, but for prototypes small runs it really can’t be beat. Don’t forget to factor in shipping costs. I typically receive my boards about 4 weeks after ordering (shipped via USPS to Canada).
Tip: More often than not, I receive more boards than I ordered, which I think is because they have room on the panel and like to fill it up.