Eagle
Eagle is a low-cost schematic capture and board layout program. It is free for academic use and has Windows, Linux, and Mac versions. The latest version is available for download on CadSoft's web site. You can get version 4.16r1 for Windows from this local link [8MB].
This Wiki page has links to the Eagle FAQ (see below) and some resources for students in my EGR326 class. The resources might be of use to others as well.
FAQ
There is (theoretically) an Eagle FAQ at this site but it never seems to be up. In the meantime, feel free to add/edit the FAQ's at the EagleFAQ page.
Part Libraries
Design Rules
Use lpkf.dru for circuit board milling. Use fab.dru as a starting point for your own design rule file. Each PCB manufacturer has their own design rules, so make sure you customize the design rule file for the manufacturer you'll be using!
The Bookshelf has some information on PCB manufacturing that can help you choose good design rules.
Documentation
Printed documentation for Eagle can be borrowed from Ron Grew in EC613.
Here is a local copy of the Eagle Tutorial [396K].
Here is a local copy of the Eagle Manual [814K].
CAM Files
The CAM Processor is Eagle's back-end tool for generating Gerber data, used in board manufacturing/milling. A CAM file tells Eagle how to print a board layout, which layers to include, etc.
The CAM file needs to make use of a "drill rack" for generating the Excellon drill file (the file that tells the board manufacturer where to drill holes and how big to make them). The drill rack tells Eagle what drills are available.
The lpkf.drl file is the set of available drills for our circuit board mill. The lpkfmm.drl file is the same set of drills but in metric units. The apcall.drl file contains a long list of drills that you might want to use for a board manufacturer with lots of drill choices (HINT: if the manufacturer doesn't specify a set of drills you must select from, they have just about every size...if they do specify a set of drills you must select from, you must construct a drill rack for that manufacturer). The apcfree.drl file is the list of "free" drill sizes for the P1 proto service of AP Circuits.
For milling, use onesided.cam for one-sided boards and twosided.cam for two-sided boards, but avoid two-sided boards if you can as it is more work for you. It is better to just mill one-sided and use jumper wires for simulating the top-layer traces (as long as there aren't too many of them). Here are the layers you'll get.
- Note that the drill file was generated with a -2%/+2% rule, meaning that drill sizes 2% smaller or 2% larger than the actual size of your part may be used.
*.cmp
Top-layer copper (component side)
*.sol
Bottom-layer copper (solder side)
*.xln
Excellon drill file
*.bor
Board outline
For board houses, use fullmonty.cam to get the following layers:
*.cmp
Top-layer copper (component side)
*.sol
Bottom-layer copper (solder side)
*.plc
Top-layer silkscreen (placement)
*.pls
Bottom-layer silkscreen (placement)
*.stc
Top-layer soldermask (stop mask)
*.sts
Bottom-layer soldermask (stop mask)
*.fab
Fabrication drawing
*.xln
Excellon drill file
Scripts
Eagle's scripting language allows full control over your schematics and boards. The scripting language is not hard to learn and can save lots of time by automating tedious tasks (e.g., changing the width of all traces on a board, drawing polygons so you don't have to do them by hand, etc.)
Eagle's script process has two steps:
First you run a "ULP file" (User-Language Program). This ULP file creates a new file with extension *.scr
The *.scr file is the actual script file. You then run this file.
The nothp.ulp file generates a nothp.scr script file that places tRestrict circles around all pads of all parts. The effect of these circles is to prevent Eagle from connecting top-layer traces directly to pads. This script can be used to auto-route a board on both layers but when you only want to solder on the bottom layer (highly recommended!).
If you move parts around, the tRestrict circles won't move with them. You'll have to:
Deselect all layers other than tRestrict
Delete all of the tRestrict circles
- Return to viewing all relevant layers
Run the nothp.ulp file again.
Run the new nothp.scr file.
The width12.ulp file changes all traces on the bottom layer of the board to have 12mil width. This is a very simplistic script but it shows you another example of interesting things you can do with Eagle's ULP language. I originally wrote this script because I autorouted a board with 10mil traces and then wanted to see if it would still pass DRC with wider traces. Interestingly, Eagle routed the board differently when using 12mil traces to begin with.
The silkchange.ulp file smashes all packages on a board then changes all text heights and ratios to be values set in the ULP file (so edit the ULP file before running it).
Links
Eagle3D is an amazing program that generates a 3D representation of your Eagle board file. You will waste hours playing with this toy. Here is a sample of its output. This was generated with very little work and could certainly be improved by some attention to detail.
