EAGLE Tool from Cadsoft Overview: 1) General Overview - show sch,brd,pjt,cam and go over board design process A) Schematic 1. Library generation B) DESIGN REVIEW C) Board layout 1. Place components (minimize ratsnest) 2. Route (or autoroute) traces (power, power planes, hig frency, general signals) 3. Optimize? D) DOUBLE CHECK ALL MECHANICAL INTERFACES OR YOU'RE SCREWED E) Generate CAM files 1. Decide what files you need to produce (e.g. .top, .bot, .drl, etc.) 2. Setup a CAM program to output those files 3. APC: Edit drill rack 4. Tile boards in gerbertiler if necessary F) DOUBLE CHECK ALL CAM FILES WITH A 3RD PARTY VIEWER (e.g. gerbiewer, gcprevue, etc) 2) Let's make a board! 3) Traps/Trips/Techniques/Other Demos ------------------------------------------------------ SIGNAL -- airwire NET -- schmatic wire ROUTE -- board trace BUS -- graphical collection of nets??? NAME -- Device VALUE -- Device LABEL -- Signal (Schmatic BUS or NET) PINNAME -- Pin TOP -- Top side copper BOTTOM -- Bottom side copper ROUTEn -- Inner signal layers (not Light version) PADS -- Through hole device pads VIAS -- Plated through holes w/o assosiated devices UNROUTED -- Airwires DIMENSION -- Board and Hole outlines, appears on silk screen t/b DOCU -- Package element; only shows up in Eagle t/b PLACE -- Silk screen t/b ORIGINS -- Package crosshairs t/b NAMES -- Package names, appears on silk screen t/b VALUES -- Package values t/b STOP -- Solder mask t/b CREAM -- Solder cream t/b FINISH -- ??? t/b GLUE -- Glue t/b TEST -- Test info t/b KEEPOUT -- No-Go areas for packages t/b/v RESTRICT -- No-GO areas for tracks DRILLS -- Plated through holes HOLES -- Non-plated holes MILLING -- Areas to be removed by milling MEASURES -- ??? DOCUMENT -- Additional documentation REFERENCE -- Reference marks Forward/Backward anotation The seperate files Eagle Files .brd -- Boards .sch -- Schematics .lbr -- Part Libraries .scr -- Scripts .ulp -- User Language Programs .cam -- Computer Aided Manufacture script (or job) .dri -- Drill Info .gpi -- Gerber Plotter Info file .dru -- Design RUles .def -- Device Definitions .epf -- Eagle Project File (per project settings) .key -- Eagle key file (Generated from freeware key at 1st run). Not specific to "Eagle" Gerber plots .cmp -- Component side foil .ly(n) -- inner signal layers (Not light version) .sol -- Solder side foil .plc -- Component side silk screen (PLace Component) .pls -- Solder side silk screen (PLace Solder) .whl -- aperture (Wheel) shapes .stc -- Component side solder mask .sts -- Solder side solder mask Drill files .drd -- NC drill file .drl -- Drill Rack File Custom Keyboard Bindings Library Editing Rotation -- "run rotate" from a board Electrical Rule Check (and the stupid supply pins) Design Rule Check Eagle Script Files (.scr) -- i don't think every command _can_ be done from a script can't anchor mouse, can't save file? --------------------- Eagle Library Files (.lbr) -- & what's wrong with them Basically management of devices/symbols/packages is too bound together. The auto-supply stuff isn't right. doc/library.txt -- standards document export script -- write library as script (e.g. ASCII text file - can cut/paste) "run exp-descr-script" -- change all descriptions in a library PREFIX -- "U" "Q" etc. PINSWAP, GATESWAP, SWAP LEVEL etc. IN / OUT/ I/O / OC / HiZ / PAS / PWR / SUP SUP pins are not used on components. If a SUP pin exists on a schematic, then PWR pins of the same name will/can??? be connected to the SUP pin automatically. GND@1 -- hides everything after the "@" Function NONE / DOT / CLK / DOTCLK Make a new library by stealing symbols/packages from existing libraries w/CUT & PASTE. ------------------ Eagle User Language Programs (.ulp) -- demo rotate "run find r202" -- also "show r202" "run find gnd all" only for boards count -- count drills pads etc drillcfg -- lists drill sizes by drill number length-freq-ri -- info on every signal on a board rotate -- generates a library w/rotated package only for libraries --------------------- Gotchas: CUT/PASTE are defined on groups, COPY works on objects/elements. INVOKE a part and the hidden gate & Delete vs. Shift Delete Selecting objects requires their origin be visible Forward/Backward annotation requires .brd/.sch to have the same name/directory Little tiny airwires, eagle has a way it wants to join wires, try to avoid a fight - ULP file unrouted.ulp Distinguishes Pads, Vias, SMD `pads', uses different commands. "Replace" by default requires same names, can try: SET REPLACE_SAME COORDS; REMOVE sounds dangerous ------------------------- Techniques: Start NETs from already named NETs to preserve the name and avoid the annoying dialog box Define your own key bindings! goodkeys.scr Enter points as (x y), note spaces separate Add Erc.AllowUserOverrideConsistencyCheck = "1" to .eaglerc (see doc/UPDATE) (allows F/B annotation even if "required" consistancy check fails) OPTIMIZE may help in joining seperate wire segments (is on by default but good to run). SMASH to allow placement of part numbers etc. Do your own menus (turn on "Command Texts" in "User Interface", "SCRIPT menu") Set a MARK to measure from (i.e. relative coordinates) Use of "(@)" (=current position of mouse) and ";" and non-use of "*" "SET Used_Layers" turn on basic layers only: (All, none==basic, Name, Number) Polygon fill -- Activate w/"Ratsnest" Deactivate w/Ripup (Must hit outer edge) Also: set polygon_ratsnest off; turns off fill Ripup; -- Ripup everything Ripup ! GND VCC -- Ripup everything except ... --------------------------------- Things to post: Custom Bindings File apc_freedrill.scr -- not entirely effective (only changes drill pull down) LV2-SPS-x.x.[sch brd] Special Libraries ??? ads.lbr custom.lbr custom-linear-technology.lbr custom-zetex.lbr ??? too long discrete-smd-ipc.lbr ??? too stupid psas_eagle_library.lbr psas.lbr psas-lv2.lbr --------------------------------- Contents of the .epf (Eagle Project File) [Eagle] Header Version, Platform (Linux), Serial #, misc. [Globals] Per Project configuration Auto Save Flag Libraries Used List (Libraries not on this list sometime fail to appear) [Win_n] Windows state Loc State Number Schematic/Board File View WireWidths, PadDiameters, PadDrills, ViaDiameters, ViaDrills, HoleDrills, TextSizes, PolygonSpacings, PolygonIsolates, SmdSizes, WireBend, PadShape, ViaShape, PolygonPour, PolygonRank, PolygbonThermals, PolygonOrphans, TextRatio, PinDirection, PinFunction, PinLength, PinVisible, SwapLevel, ArcDirection, AddLevel, PadsSameType, Layer, Sheet [Desktop] Screen, ... --------------------------------- Partial contents of the .eaglerc (eagle.usr in Win32) file (Eagle Runtime Commands (preferences)) See Also "SET" command Brd.Key.SCA+A = "Assign" Brd.Key.F5 = "Window (@);" Lbr.Key.F11 = "Window (@);" Directories.Lbr = "$EAGLEDIR/lbr" Interface.LimitZoomFactor = "1" Interface.MouseWheelZoom = "1.2" Option.AutoEndNet = "1" Option.AutoJunction = "1" Option.Beep = "1" Option.Drill.Symbol.Diameter = "20320" Option.Drill.Symbol.Nr.0 = "7112" Option.Drill.Symbol.Nr.1 = "8890" Option.Drill.Symbol.Nr.10 = "0" Option.Drill.Symbol.Nr.11 = "0" Option.Drill.Symbol.Nr.12 = "0" Option.Drill.Symbol.Nr.13 = "0" Option.Drill.Symbol.Nr.14 = "0" Option.Drill.Symbol.Nr.15 = "0" Option.Drill.Symbol.Nr.16 = "0" Option.Drill.Symbol.Nr.17 = "0" Option.Drill.Symbol.Nr.2 = "10668" Option.Drill.Symbol.Nr.3 = "13208" Option.Drill.Symbol.Nr.4 = "15113" Option.Drill.Symbol.Nr.5 = "21844" Option.Drill.Symbol.Nr.6 = "31750" Option.Drill.Symbol.Nr.7 = "38608" Option.Drill.Symbol.Nr.8 = "0" Option.Drill.Symbol.Nr.9 = "0" Option.Drill.Symbol.Width = "254" Add Erc.AllowUserOverrideConsistencyCheck = "1"