You are on page 1of 318

EAGLE

EASILY APPLICABLE GRAPHICAL LAYOUT EDITOR

Manual
Version 5

5th Edition
00112570

Copyright 2010 CadSoft Computer

All Rights Reserved

How to reach us
Phone:
Fax:
E-mail:
Web:
Office Hours are:
Mon Thu:
Fri:

+1 954-237-0932
+1 954-237-0968
support@cadsoftusa.com
http://www.cadsoftusa.com

9 am to 5 pm EST
9 am to 4 pm EST

CadSoft Computer
19620 Pines Blvd. Suite 217
Pembroke Pines, Florida 33029
U.S.A.

This software and documentation are copyrighted by CadSoft Computer, doing


business under the trade name EAGLE. The software and documentation are
licensed, not sold, and may be used or copied only in accordance with the EAGLE
License Agreement accompanying the software and/or reprinted in this document.
This software embodies valuable trade secrets proprietary to CadSoft Computer.
Specifications subject to change without notice.
Copyright 1988-2010 CadSoft Computer. All rights reserved worldwide.
No part of this publication may be reproduced, stored in a retrieval system, or
transmitted, in any form or by any means, electronic, mechanical, photocopying,
recording, scanning, digitizing, or otherwise, without the prior consent of CadSoft
Computer.
Printing this manual for your personal use is allowed.
CadSoft Computer is a trading division of Newark Corporation.
Windows is a registered trademark of Microsoft Corporation.
Linux is a registered trademark of Linus Torvalds.
Mac is a registered trademark of Apple Computer, Inc.

EAGLELICENSEAGREEMENT
Thisisalegalagreementbetweenyou,theenduser,andCadSoftComputer,which
marketssoftwareproductsunderthetrademarkEAGLE.CadSoftComputershallbe
referred toin this Agreement asCadSoft.If youdonot agreetotheterms of this
Agreement,promptlyreturnthediskettepackageandaccompanyingitems(including
writtenmaterialsandcontainers)totheplaceyouobtainedthemforafullrefund.
USEOFTHISPRODUCTCONSTITUTESYOURACCEPTANCEOFTHESETERMSAND
CONDITIONSANDYOURAGREEMENTTOABIDEBYTHEM.

GrantofLicense
CadSoftgrantstoyoutherighttouseonecopyoftheaccompanyingEAGLEsoftware
programandanyandallupdates thatyoumayreceive (theSoftware) onasingle
computerorworkstation.Youmay,however,installtheSoftwareonmorethanone
computeroronafileserverprovidedyoudonotoperatetheSoftwareonmorethan
onecomputerorworkstationatatime.

Copyright
TheSoftwareisownedbyCadSoftandisprotectedbyUnitedStatescopyrightlaws
andinternationaltreatyprovisions.Therefore,youmusttreattheSoftwarelikeany
othercopyrightedmaterial(e.g.,abookormusicalrecording).Youmaynotcopythe
writtenmaterialsaccompanyingtheSoftware.

OtherRestrictions
YoumaynotrentorleasetheSoftware,butyoumaytransferyourstandalonecopyof
theSoftwareandaccompanyingwrittenmaterialsonapermanentbasisprovidedyou
retainnocopies andtherecipient agrees tothetermsofthisAgreement.Anysuch
transfermustincludeallupdatesandpriorversionsoftheSoftwareandaccompanying
writtenmaterials,andnoticemustbegivenbyyoutoCadSoftthatsuchtransferhas
taken place. You may not reverse engineer, decompile, disassemble, or create
derivative works based on the Software for any purpose other than creating an
adaptationtotheSoftwareasanessentialstepinitsutilizationforyourownuse.You
acknowledge Cadsoft's claim that the Software embodies valuable trade secrets
proprietarytoCadSoft;youmaynotdiscloseanyinformationregardingtheinternal
operationsoftheSoftwaretoothers.

LIMITEDWARRANTY
CadSoftwarrantstheaccompanyingSoftwareanddocumentationtobefreeofdefects
in materials and workmanship for a period of ninety (90) days from thepurchase
date.TheentireandexclusiveliabilityandremedyforbreachofthisLimitedWarranty
shallbe,atCadsoft'soption,either(a)returnofthepricepaidor(b)replacementof
defective Software and/or documentation provided the Software and/or
documentationisreturnedtoCadSoftwithacopyofyourreceipt.Cadsoft'sliability
shallnotincludeorextendtoanyclaimfororrighttorecoveranyotherdamages,
including butnotlimitedto,lossofprofit,dataoruseoftheSoftware,orspecial,
incidentalorconsequentialdamagesorothersimilarclaims,evenifCadSofthasbeen
specifically advised of the possibility of such damages. In no event will Cadsoft's
liability for any damages to you or any other person ever exceed the lower of
suggestedlistpriceoractualpricepaidforthelicensetousetheSoftware,regardless
ofanyformoftheclaim.
TO THEEXTENT PERMITTED UNDER APPLICABLE LAW, CadSoft DISCLAIMS ALL
OTHERWARRANTIES,EXPRESSORIMPLIED,INCLUDINGBUTNOTLIMITEDTO,
ANYIMPLIEDWARRANTYOFMERCHANTABILITYORFITNESSFORAPARTICULAR
PURPOSE. SPECIFICALLY, CadSoft MAKES NO REPRESENTATION OR WARRANTY
THATTHESOFTWAREISFITFORANYPARTICULARPURPOSE,ANDANYIMPLIED
WARRANTY OFMERCHANTABILITY ISLIMITEDTOTHENINETYDAYDURATION
OF THE LIMITED WARRANTY COVERING THE SOFTWARE AND PHYSICAL
DOCUMENTATION ONLY, AND IS OTHERWISE EXPRESSLY AND SPECIFICALLY
DISCLAIMED.
THISLIMITEDWARRANTYGIVESYOUSPECIFICLEGALRIGHTS;YOUMAYHAVE
OTHERS WHICH MAY VARY FROM STATE TO STATE. SOME STATES DO NOT
ALLOWTHEEXCLUSIONOFINCIDENTALORCONSEQUENTIALDAMAGES,ORTHE
LIMITATION ONHOWLONG AN IMPLIEDWARRANTY LASTS,SOSOME OF THE
ABOVEMAYNOTAPPLYTOYOU.

GOVERNINGLAWANDGENERALPROVISIONS
ThisLicenseandLimitedWarrantyshallbeconstrued,interpretedandgovernedby
the laws of the State of Florida, U.S.A. If any provision is found void, invalid or
unenforceable,itwillnotaffectthevalidityofthebalanceofthisLicenseandLimited
Warranty which shall remain valid and enforceable according to its terms. If any
remedy,hereunder,isdeterminedtohavefailedofitsessentialpurpose,alllimitations
ofliabilityandexclusionsofdamagessetforthhereinshallremaininfullforceand
effect.ThisLicenseandLimitedWarrantymayonlybemodifiedinwriting,signedby
youandaspecificallyauthorizedrepresentativeofCadSoft.Allrightsnotspecifically
grantedinthisLicenseAgreementarereservedbyCadSoft.

U.S.GOVERNMENTRESTRICTEDRIGHTS
The Software and documentation are provided with RESTRICTED RIGHTS. Use,
duplicationordisclosurebytheU.S.Governmentissubjecttorestrictionsassetforth
in subparagraph (c)(1)(ii) oftheRights In Technical Data andComputer Software
clauseat252.2277013.Contractor/manufacturer isCadSoftComputer,19620Pines
Blvd.Suite217,PembrokePines,Florida33029,U.S.A.

TableofContents
Chapter1
Introduction................................................................................21
1.1WhatisinthisManual?................................................................21
1.2GeneralCommentsAboutEAGLEComponentLibraries..............22
1.3TechnicalTerms............................................................................22

Chapter2
Installation..................................................................................25
2.1WhatYouNeed.............................................................................25
2.2NewInstallations..........................................................................25
Windows......................................................................................26
Linux............................................................................................26
MacOSX......................................................................................27

2.3UpdatinganOlderVersion...........................................................28
NotesonLibraryFiles...................................................................28
InCaseofChangesintheFileDataStructure..............................29

2.4ChangingorExtendingtheLicense..............................................29
2.5MultipleUserLicenses..................................................................30
NotesforInstallinginaNetwork..................................................30
SpecialInstructionsUnderWindows............................................31
PathInformation........................................................................31
DifferentOperatingSystemsattheWorkingComputers............31

Chapter3
EAGLEModulesandEditions......................................................33
3.1EAGLEModules............................................................................33
TheLayoutEditor.........................................................................33
SchematicEditor..........................................................................33
Autorouter....................................................................................34

3.2DifferentEditions..........................................................................34
ProfessionalEdition......................................................................34
General......................................................................................34
LayoutEditor.............................................................................35
SchematicEditor........................................................................35
AutorouterModule.....................................................................36

Table of Contents
StandardEdition..........................................................................36
LightEdition.................................................................................36

Chapter4
AFirstLookatEAGLE.................................................................37
4.1TheControlPanel.........................................................................37
LibrarySummary..........................................................................38
DesignRules.................................................................................40
UserLanguagePrograms,Scripts,CAMJobs................................40
Projects.........................................................................................40
MenuBar......................................................................................41
FileMenu...................................................................................41
ViewMenu.................................................................................42
OptionsMenu............................................................................43
WindowMenu...........................................................................46
HelpMenu.................................................................................46

4.2TheSchematicEditorWindow.....................................................47
HowYouObtainDetailedInformationAboutaCommand...........48
BubbleHelpAndToolTips........................................................48
HelpFunction...........................................................................49
CommandParameters..................................................................49
GRID.........................................................................................50
TheActionToolbar.......................................................................50
USE...........................................................................................50
SCRIPT......................................................................................51
RUN..........................................................................................51
WINDOW..................................................................................51
UNDO/REDO............................................................................51
StopIcon...................................................................................51
GoIcon......................................................................................51
TheCommandToolbarofTheSchematicEditor..........................51
INFO.........................................................................................51
SHOW.......................................................................................52
DISPLAY....................................................................................52
MARK........................................................................................52
MOVE........................................................................................52
COPY.........................................................................................53
MIRROR....................................................................................53
ROTATE....................................................................................53
GROUP......................................................................................53
CHANGE...................................................................................54
CUT...........................................................................................54
6

Table of Contents
PASTE.......................................................................................54
DELETE.....................................................................................54
ADD..........................................................................................55
PINSWAP..................................................................................55
GATESWAP...............................................................................55
REPLACE...................................................................................55
NAME........................................................................................55
VALUE.......................................................................................55
SMASH......................................................................................55
MITER.......................................................................................56
SPLIT........................................................................................56
INVOKE.....................................................................................56
WIRE.........................................................................................56
TEXT.........................................................................................57
CIRCLE......................................................................................57
ARC...........................................................................................57
RECT.........................................................................................57
POLYGON.................................................................................57
BUS...........................................................................................57
NET...........................................................................................57
JUNCTION................................................................................57
LABEL.......................................................................................58
ATTRIBUTE...............................................................................58
ERC...........................................................................................58
CommandsNotAvailableintheCommandToolbar.....................59
ASSIGN......................................................................................59
CLASS........................................................................................59
CLOSE........................................................................................59
EDIT...........................................................................................59
FRAME.......................................................................................59
EXPORT.....................................................................................59
LAYER........................................................................................59
MENU........................................................................................60
OPEN.........................................................................................60
PACKAGE...................................................................................60
PRINT........................................................................................60
QUIT..........................................................................................60
REMOVE....................................................................................60
SET............................................................................................60
TECHNOLOGY...........................................................................61
UPDATE.....................................................................................61
WRITE........................................................................................61
7

Table of Contents
MouseKeys..................................................................................61
SelectingNeighbouringObjects.................................................61

4.3TheLayoutEditorWindow...........................................................62
TheCommandsontheLayoutCommandToolbar.......................63
INFO.........................................................................................63
SHOW.......................................................................................63
DISPLAY....................................................................................63
MARK........................................................................................63
MOVE........................................................................................63
COPY.........................................................................................64
MIRROR....................................................................................64
ROTATE....................................................................................64
GROUP......................................................................................64
CHANGE...................................................................................65
CUT...........................................................................................65
PASTE.......................................................................................65
DELETE.....................................................................................65
ADD..........................................................................................66
PINSWAP..................................................................................66
REPLACE...................................................................................66
LOCK.........................................................................................66
NAME........................................................................................66
VALUE.......................................................................................66
SMASH......................................................................................67
MITER.......................................................................................67
SPLIT........................................................................................67
OPTIMIZE.................................................................................67
ROUTE......................................................................................67
RIPUP........................................................................................68
WIRE.........................................................................................68
TEXT.........................................................................................68
CIRCLE......................................................................................69
ARC...........................................................................................69
RECT.........................................................................................69
POLYGON.................................................................................69
VIA............................................................................................70
SIGNAL.....................................................................................70
HOLE........................................................................................70
ATTRIBUTE...............................................................................70
RATSNEST................................................................................70
AUTO........................................................................................70
ERC...........................................................................................71
8

Table of Contents
DRC...........................................................................................71
ERRORS....................................................................................71

4.4TheLibraryEditorWindow..........................................................71
LoadorRenamePackage,Symbol,orDevice...............................72
EDIT..........................................................................................72
REMOVE....................................................................................72
RENAME....................................................................................73
ThePackageEditingMode...........................................................73
DesignNewPackage..................................................................73
PAD...........................................................................................73
SMD..........................................................................................73
TheSymbolEditingMode............................................................74
DesignaNewSymbol................................................................74
PIN............................................................................................74
TheDeviceEditingmode..............................................................74
CreateActualComponentsfromSymbolsandPackages............75
ADD..........................................................................................76
NAME........................................................................................76
CHANGE...................................................................................76
PACKAGE...................................................................................76
CONNECT..................................................................................76
PREFIX.......................................................................................76
VALUE........................................................................................76
TECHNOLOGY...........................................................................77
ATTRIBUTE...............................................................................77
DESCRIPTION............................................................................77

4.5TheCAMProcessor.......................................................................77
GenerateData..............................................................................78
StartingtheCAMProcessor........................................................78
LoadJobFile..............................................................................79
LoadBoard.................................................................................79
SetOutputParameters...............................................................79
StartOutput...............................................................................79
DefineNewJob..........................................................................79

4.6TheTextEditorWindow..............................................................79

Chapter5
PrinciplesforWorkingwithEAGLE.............................................81
5.1CommandInputPossibilities........................................................81

Table of Contents
ActivateCommandandSelectObject...........................................81
CommandLine.............................................................................81
HistoryFunction...........................................................................82
TheContextMenu........................................................................82
FunctionKeys...............................................................................83
ScriptFiles....................................................................................85
MixedInput..................................................................................85

5.2TheEAGLECommandLanguage..................................................85
TypographicalConventions..........................................................86
EnterkeyandSemicolon............................................................86
BoldTypeorUpperCase............................................................86
LowerCase.................................................................................86
Underscore.................................................................................86
Spaces........................................................................................87
AlternativeParameters...............................................................87
RepetitionPoints........................................................................87
MouseClick................................................................................87
EnteringCoordinatesasText.......................................................88
Relativevalues:..........................................................................88
Polarvalues:..............................................................................88
RightMouseClick:.....................................................................89
Modifier:....................................................................................89

5.3GridsandtheCurrentUnits..........................................................90
5.4AliasesforDISPLAY,GRID,andWINDOW...................................91
Example:DISPLAYAlias...............................................................92
Example:GRIDAlias....................................................................92
Example:WINDOWAlias.............................................................92
Editing,Renaming,DeletingofanAlias.......................................93

5.5NamesandAutomaticNaming.....................................................93
Length..........................................................................................93
ForbiddenandSpecialCharacters................................................94
AutomaticNaming.......................................................................94

5.6ImportandExportofData............................................................94
ScriptFilesandDataImport.........................................................95
FileExportUsingtheEXPORTCommand....................................95
DIRECTORY...............................................................................95
NETLIST.....................................................................................95
NETSCRIPT................................................................................96
PARTLIST...................................................................................96
PINLIST......................................................................................96
SCRIPT.......................................................................................96
10

Table of Contents
IMAGE........................................................................................96

5.7TheEAGLEUserLanguage...........................................................97
5.8Forward&BackAnnotation...........................................................98
5.9ConfiguringEAGLEIndividually...................................................99
ConfigurationCommands.............................................................99
TheMenuOptions/Set(SETCommand)....................................100
DisplayCertainLayersOnly.....................................................100
ContentsofTheParameterMenus...........................................100
ColorSettings.............................................................................100
MiscellaneousSETOptions........................................................103
Theeagle.scrFile........................................................................105
TheeaglercFile..........................................................................106
EAGLEProjectFile......................................................................107

Chapter6
FromSchematictoFinishedBoard...........................................109
6.1CreatingtheSchematicDiagram................................................109
OpentheSchematicDiagram.....................................................110
SettheGrid................................................................................110
PlaceSymbols.............................................................................110
LoadDrawingFrame................................................................110
PlaceCircuitSymbols(Gates)..................................................112
HiddenSupplyGates................................................................112
DeviceswithSeveralGates......................................................113
WiringtheSchematicDiagram...................................................114
DrawNets(NET).....................................................................114
DefiningCrossReferencesforNets..........................................114
CrossReferencesforContacts..................................................116
SpecifyingNetClasses..............................................................117
Drawingabus(BUS)...............................................................118
PinswapandGateswap...............................................................119
PowerSupply.............................................................................120
DefineAttributes........................................................................121
GlobalAttributes......................................................................121
AttributesforElements............................................................122
ERCCheckandCorrectSchematic...........................................124
OrganizeSchematicSheets........................................................126
PointstoNotefortheSchematicEditor......................................127
SuperimposedPins...................................................................127
OpenPinswhenMOVEing.......................................................127
MergeDifferentSchematics.....................................................127

6.2ConsiderationsPriortoCreatingaBoard...................................127
11

Table of Contents
CheckingtheComponentLibraries.............................................127
AgreementwiththeBoardManufacturer...................................128
SpecifyingtheDesignRules.......................................................128
GeneralPrinciples....................................................................129
Layers.......................................................................................130
MinimumClearanceandDistance............................................131
Sizes.........................................................................................132
Restring(PadandViaDiameter).............................................132
Shapes......................................................................................134
Supply......................................................................................136
Masks.......................................................................................137
Misc..........................................................................................138

6.3CreateBoard...............................................................................139
WithouttheSchematicEditor.....................................................140
SpecifytheBoardOutline...........................................................140
ArrangeComponents..................................................................142
AttributesforComponentsandGlobalAttributes.......................144
BoardswithComponentsonBothSides.....................................144
ExchangingPackages..................................................................144
PACKAGECommand................................................................145
REPLACEcommand.................................................................146
ChangingtheTechnology...........................................................146
DefineForbiddenAreas..............................................................146
RoutingPlacingTracksManually............................................147
DefiningaCopperPlanewithPOLYGON...................................149

6.4DRCCheckingtheLayoutandCorrectingErrors.....................152
TheDRCErrorsWindow............................................................154
ErrorMessagesandtheirMeaning.............................................155

6.5MultilayerBoards.......................................................................158
InnerLayer.................................................................................159
SignalLayers............................................................................159
SupplyLayerswithPolygonsandMorethanOneSignal.........159
PowerSupplyLayerwithOneSignal.......................................159
SupplyLayersandAutorouter..................................................161
MultilayerBoardswithThroughVias.........................................161
LayerSetup..............................................................................161
MultilayerwithBlindandBuriedVias........................................162
Disambiguation........................................................................162
DisplayingVias.........................................................................163
LayerSetup..............................................................................163
HintsForWorkingWithBlind,Buried,andMicroVias............168
12

Table of Contents
MicroViaASpecialCaseofBlindVia.....................................169

6.6UpdatingComponents(LibraryUpdate)....................................170
6.7PrintOutSchematicandLayout.................................................171
SettingsofthePrintDialog........................................................171

6.8CombiningSmallCircuitBoardsonaCommonPanel...............174
6.9ConsistencyLostbetweenSchematicandLayout......................175

Chapter7
TheAutorouter..........................................................................177
7.1BasicFeatures.............................................................................177
7.2WhatCanbeExpectedfromtheAutorouter..............................177
7.3ControllingtheAutorouter.........................................................178
BusRouter..................................................................................178
RoutingPass...............................................................................179
Optimization..............................................................................179

7.4WhatHastobeDefinedBeforeAutorouting..............................179
DesignRules...............................................................................179
TrackWidthandNetClasses......................................................179
Grid............................................................................................180
PlacementGrid........................................................................180
RoutingGrid............................................................................180
MemoryRequirement.................................................................181
Layer..........................................................................................182
PreferredDirections...................................................................182
RestrictedAreasfortheAutorouter............................................183
CostFactorsandOtherControlParameters...............................183

7.5TheAutorouterMenu.................................................................183
7.6HowtheCostFactorsInfluencetheRoutingProcess.................186
LayerCosts.................................................................................187
cfBase.xx:0..20........................................................................187
Costs...........................................................................................187
cfVia:0..99...............................................................................187
cfNonPref:0..10.......................................................................187
cfChangeDir:0..25...................................................................188
cfOrthStep,cfDiagStep.............................................................188
cfExtdStep:0..30......................................................................188
cfBonusStep,cfMalusStep:1..3................................................188
cfPadImpact,cfSmdImpact:0..10.............................................188
cfBusImpact:0..10...................................................................189
cfHugging:0..5........................................................................189
cfAvoid0..10............................................................................189
13

Table of Contents
cfPolygon0..30........................................................................189
Maximum...................................................................................189
mnVia0..30.............................................................................189
mnSegments0..9999...............................................................189
mnExtdSteps0..9999...............................................................189

7.7NumberofRipup/RetryAttempts..............................................190
7.8RoutingMultiLayerBoards........................................................190
SupplyLayers.............................................................................190
PolygonsasSupplyLayers..........................................................191

7.9BackupandInterruptionofRouting...........................................191
7.10InformationfortheUser...........................................................192
StatusDisplay.............................................................................192
Logfile.......................................................................................193

7.11ParametersofaControlFile.....................................................193
7.12PracticalHints...........................................................................195
General.......................................................................................195
SingleSidedBoards...................................................................195
SMDBoardsWithSupplyLayers................................................195
Whatcanbedoneifnotallsignalsarerouted?..........................196

7.13TheFollowmeRouter..............................................................196
PartialandFullMode.................................................................196
Configuration.............................................................................197
RoutingParameters....................................................................198
Notes..........................................................................................199

Chapter8
ComponentDesignExplainedthroughExamples.....................201
8.1DefinitionofaSimpleResistor...................................................201
ResistorPackage.........................................................................202
DefineaNewPackage..............................................................202
SettheGrid..............................................................................202
SolderPads..............................................................................202
PadName.................................................................................203
SilkscreenandDocumentationPrint........................................203
Labeling...................................................................................204
Restrictedareaforcomponents................................................205
Description...............................................................................205
Note.........................................................................................205
ResistorSymbol..........................................................................205
DefineaNewSymbol...............................................................205
SettheGrid..............................................................................206
14

Table of Contents
PlacethePins...........................................................................206
PinNames................................................................................208
SchematicSymbol....................................................................208
ResistorDevice...........................................................................209
DefineaNewDevice................................................................209
Selecting,NamingandConfiguringSymbols...........................209
SelectingthePackage...............................................................210
ConnectionsBetweenPinsandPads........................................210
DefinePrefix............................................................................211
Value........................................................................................211
Description...............................................................................212
Save.........................................................................................212
LibraryDescription.....................................................................212
UseLibrary.................................................................................213

8.2DefiningaComplexDevice.........................................................213
CreatingaNewLibrary..............................................................215
DrawingthePinLeadedPackage...............................................215
SettheGrid..............................................................................216
PlacePads................................................................................216
PadName.................................................................................217
DrawtheSilkScreenSymbol...................................................217
PackageNameandPackageValue...........................................217
AreasForbiddentoComponents..............................................218
Description...............................................................................218
Save.........................................................................................219
DefiningtheSMDPackage.........................................................219
SettheGrid..............................................................................220
PlacingSMDSolderPads.........................................................221
SMDNames.............................................................................222
DrawtheSilkScreen................................................................223
PackageNameandPackageValue...........................................223
AreaForbiddentoComponents................................................224
LocatingPoint(Origin)............................................................224
Description...............................................................................224
Save.........................................................................................224
DefiningtheLogicSymbolfortheSchematicDiagram...............225
ChecktheGrid.........................................................................226
PlacethePins...........................................................................226
PinName.................................................................................227
DrawtheSymbol......................................................................227
PlaceholdersforNAMEandVALUE..........................................227
Save.........................................................................................227
15

Table of Contents
DefiningaPowerSupplySymbol...............................................228
ChecktheGrid.........................................................................228
PlacethePins...........................................................................228
PinName.................................................................................229
PlaceholdersforNAMEandVALUE..........................................229
AssociatingthePackagesandSymbolstoFormaDeviceSet.....229
SelectSymbols.........................................................................230
NamingtheGates.....................................................................230
SpecifyAddlevelandSwaplevel...............................................231
ChoosingthePackageVariants................................................231
TheConnectCommand............................................................232
DefiningTechnologies..............................................................233
SpecifyingthePrefix................................................................234
Value........................................................................................234
Description...............................................................................235
Save.........................................................................................235

8.3SupplyVoltages..........................................................................236
ComponentPowerSupplyPins...................................................236
InvisibleSupplyPins................................................................236
PinswiththeSameNames.........................................................237

8.4SupplySymbols..........................................................................238
8.5Attributes....................................................................................240
DefineAttributes........................................................................240
DisplayAttributes.......................................................................242
PlaceholdersinSymbolandPackage.......................................243

8.6LabelingofSchematicSymbols..................................................243
8.7MoreabouttheAddlevelParameter...........................................244
Summary....................................................................................244
Relay:CoilandFirstContactmustbePlaced.............................245
Connector:SomeConnectionPinscanbeOmitted....................245
ConnectorwithFixingHoleandRestrictedArea........................246

8.8DefiningComponentswithContactCrossReferences................247
DefineSymbol............................................................................247
DefineDevice.............................................................................248
DefinePackage...........................................................................248

8.9DrawingFrames..........................................................................249
8.10ComponentsontheSolderSide...............................................250
8.11ComponentswithOblongHoles...............................................251
8.12CreatingNewPackageVariants................................................251
PackagefromAnotherLibrary....................................................251
DefiningthePackageVariant...................................................252
16

Table of Contents
ConnectCommand...................................................................253
DefiningTechnologies..............................................................253
Save.........................................................................................254
UsingaModifiedPackagefromAnotherLibrary........................254
CopyingthePackage................................................................254
DefiningtheVariant.................................................................255

8.13DefiningPackagesinAnyRotation...........................................255
RotatingaPackageasaWhole...................................................255
PackageswithRadialPadArrangement.....................................256

8.14LibraryandPartManagement..................................................256
CopyingofLibraryElements......................................................256
WithinaLibrary.......................................................................256
FromOneLibraryintoAnother................................................257
CompositionofYourownLibraries..........................................259
RemovingandRenamingLibraryElements................................260
UpdatePackagesinLibraries......................................................260

Chapter9
PreparingManufacturingData..................................................263
9.1WhichDatadoweNeedforBoardManufacture?......................263
GerberPlotData.........................................................................264
GERBER_RS274X.....................................................................264
GERBERAUTOandGERBER....................................................264
DrillData....................................................................................265
EXCELLON...............................................................................265
EXCELLON_RACK....................................................................265
SM1000andSM3000..............................................................265
FurtherDrillDataDevices........................................................266
PrototypeManufactureWithaMillingMachine.........................266
outlines.ulp..............................................................................266
milloutlines.ulp.......................................................................266
FilmGenerationUsingPostScriptFiles.......................................266
PrintingonaFilm.......................................................................267
DataforPickandplaceMachinesandIncircuitTesters............267
Documentation...........................................................................268
PartsList..................................................................................268
DrillPlan..................................................................................269
DrillLegend.............................................................................270

9.2RulesthatSaveTimeandMoney...............................................271
9.3QuickGuideforDataOutput......................................................272

17

Table of Contents
Jobgerb274x.cam......................................................................272
Jobexcellon.cam........................................................................273
Jobgerber.cam...........................................................................274

9.4WhichFilesdoINeedformyBoard?.........................................275
FilesList.....................................................................................276
PlaceholdersforOutputFileNameGeneration........................278
HintsConcerningFileExtensions:............................................279

9.5PeculiaritiesofMultilayerBoards...............................................279
SimpleInnerLayers....................................................................279
SupplyLayer...............................................................................279
DrillDataforMultilayerBoardsWithBlindandBuriedVias......280

9.6SetOutputParameters...............................................................280
9.7AutomatingtheOutputwithCAMProcessorJobs.....................284
DefiningaNewCAMJob...........................................................284
Extendinggerber.camJobforMultilayerBoards........................285
ErrorMessage:AperturesMissing..............................................286
GerberInfoFiles.........................................................................286
DrillDataGenerationwithSeparateRackFile...........................287
DefineaDrillConfiguration(Rack)File...................................287
DefineJobforDrillDataOutput..............................................287
DrillInfoFile............................................................................288

9.8DeviceDriverDefinitionineagle.def..........................................288
CreatingYourOwnDeviceDriver..............................................288
Example1:Gerber(auto)device,Millimetre...........................288
Example2:EXCELLONDevice,OutputwithLeadingZeros.....289
UnitsintheApertureandDrillTable.........................................289

9.9GerberFilesforPhotoplotterswithFixedApertureWheels.......290
DefiningtheApertureTable(Wheel).........................................290
ApertureEmulation....................................................................292

Chapter10
Appendix...................................................................................293
10.1LayersandtheirUsage.............................................................293
InLayoutandPackageEditor.....................................................293
InSchematic,Symbol,andDeviceEditor...................................294

10.2EAGLEFiles..............................................................................294
10.3EAGLEOptionsataGlance......................................................295
10.4ConfigurationoftheTextMenu...............................................299
10.5TextVariables...........................................................................300
10.6OptionsforExpertsineaglerc..................................................300
ChangeComponentValueWarning........................................300
18

Table of Contents
ConsistencyCheck....................................................................300
DeleteWireJoints....................................................................301
DeviceNameasValueforallComponents...............................301
DisableCtrlforRadiusMode...................................................301
GroupSelection.......................................................................301
OpenProject............................................................................301
PanningDrawingWindow.......................................................301
PolygonEdgesasContinuousLines.........................................302
RepositionoftheMouseCursor...............................................302
UnitsinDialogs........................................................................302

10.7ErrorMessage...........................................................................303
WhenLoadingaFile...................................................................303
Restringsmallerthaninolderversion.....................................303
Libraryobjectswiththesamenames.......................................303
Pad,ViaReplacedwithaHole.................................................304
Skippedunsuitableobjects.......................................................305
Can'tUpdateFile......................................................................305
InaLibrary.................................................................................306
Package/Symbolisinuse.........................................................306
IntheCAMProcessor.................................................................307
Polygonmaycauseextremelylargeplotdata..........................307
IntheLightorStandardEdition.................................................307
Can'tperformtherequestedaction..........................................307

19

Table of Contents

This
page
hasbeen
leftfree
intentionally.

20

Chapter 1
Introduction
ThismanualdescribestheuseoftheEAGLEsoftwareanditsbasicprinciples.
Theorderofchaptersfollowsthetypicalprocessfromdrawingaschematicto
areadytouselayout.

1.1 What is in this Manual?


Achapter'smainheadingisintendedtotellyoubrieflywhatthecontentsof
thatchapterare.Hereinthefirstchapterwewanttogiveaquickoverview
whatyoucanexpectfromthismanual.
Chapter1Introduction
Containsapreviewofthemanual.
Chapter2Installation
Dealswiththeprogram'sinstallation.
Chapter3EAGLEModulesandEditions
Explainsthevariousprogramvariants.
Chapter4AFirstLookatEAGLE
Givesapreviewoftheprogram'sstructureanddescribesthe
editorwindowsandtheircommands.
Chapter5PrinciplesforWorkingwithEAGLE
ExaminesthebasicwaysofusingandconfiguringEAGLE.
Chapter6FromSchematictoFinishedLayout
Followstheroutefromschematictolayout.
Chapter7TheAutorouter
DedicatedtotheAutoroutermoduleanditsconfiguration.
Chapter8ComponentDesignExplainedthroughExamples
Explainsthedefinitionoflibrarycomponentsthroughexamplesand
informsaboutlibraryandcomponentmanagement.
Chapter9PreparingtheManufacturingData
Everythingyouneedtoknowaboutgeneratingmanufacturingdata.

21

1 Introduction
Appendix
Listsusefuladditionalinformationandexplainssomeerrormessages
EAGLEpromptsincertainsituations.
Foraquick,handsonintroduction,refertotheEAGLETutorial.Pleaseread
thetutorialforabetterunderstandingbeforeworkingwiththemanual.
Anybody who has already been working with a priorversion ofEAGLE is
advisedtoreadthefileUPDATEunderLinuxandMacorUPDATE.TXTunder
Windows.Itcontainsadescriptionofallthedifferencesfromearlierversions.
Thisfileislocatedintheeagle/docdirectory.Pleasereaditbeforeyoustart
workingwiththenewEAGLE.
Informationthatwasnotavailableorthathasbeenchanged sincefinishing
thismanualisalsodescribedinUPDATEorUPDATE.TXT,or,ifexisting,ina
READMEfile.
Detailedinformation,especiallyabouttheEAGLEcommandlanguageandthe
EAGLEUserLanguage,isavailableonthehelppages.Youcanreachabasic
understanding very quickly by using this manual, and you can use the
convenientsearchfeaturesofthehelpfunctiontoquicklylocatetheanswers
toparticularquestions.

1.2 General Comments About EAGLE


Component Libraries
ThecomponentlibrariessuppliedwithEAGLEhavebeencompiledwithgreat
care as an additional service to you, our customer. However, the large
numberofavailablecomponentsandsuppliersofthesecomponentsmeans
thattheoccasionaldiscrepancyisunavoidable.Pleasenote,therefore,that
CadSoft takes no responsibility for the complete accuracy of information
includedinlibraryfiles.
Pleasenotethatlibrariesarenotnecessarilyidenticaltoformerlibrarieswith
thesamename.Therefore,itisadvisabletobackupyouroldlibrariesbefore
installingthenewones.
Additionalnewlibraries, thathavenotyet been officiallyreleased,canbe
found on CadSoft's internet site in the download section of
www.cadsoftusa.com.

1.3 Technical Terms


Inthismanual,inthehelpfunction,andinEAGLEitselfwefrequentlyuse
sometechnicaltermsthatshouldbeexplainedhereinafewwords.
Airwire:
Unroutedconnectiononaboard,displayedintheunroutedlayer(=rubber
band).
22

1.3 Technical Terms


AnnulusSymbol:
Anisolationringthatwillbedrawninasupplylayerorinacopperfilled
area.
BlindVia:
Aplatedthroughholeforchangingthelayerofatrackwhichhasnotbeen
drilledthroughalllayersintheproductionprocessofamultilayerboard.
BuriedVia:
Aplatedtroughhole,whichhasbeendrilledthroughthecurrentlayerstack
intheproductionprocesslikeanormal(through)via,butdoesnotconnect
alllayersofthewholeboard.
Core:
Twocopperlayersappliedtoasolidsubstrate.
DesignRuleCheck(DRC):
EAGLEcanidentifytheviolationofcertainDesignRules(e.g.iftwodifferent
tracksoverlaporaretooclose)withtheDRC.
Device:
Afullydefinedelementinalibrary.ConsistsofatleastonePackageandone
Symbol.
DeviceSet:
ConsistsofDevices thatusethesameSymbolsfortheSchematicbuthave
differentPackagevariantsortechnologies.
Drill:
Platedthroughdrillinginthelayout(inpadsandvias)
ElectricalRuleCheck(ERC):
EAGLEcanidentifytheviolationofcertainelectricalrules(e.g.iftwooutputs
areconnected)withtheERC.Italsocheckstheconsistencyoftheschematic
andthelayout.
FollowmeRouter:
ThemanualROUTEcommandoffersanoperatingmodethatcalculatesand
displays the connection of a selected signal automatically. The current
position ofthe mousecursordetermines thetraceoftheconnection.Only
availablewiththeAutoroutermodule.
Forward&BackAnnotation:
Transformsalltheactionsonemakesinaschematiconlineintothelayout
(andwithlimitationsfromlayoutintoschematic).Bothfilesareconsistentall
thetime.
Gate:
ThetermGateisusedinthismanualforapartofacomponentwhichcanbe
individually placed on a schematic. This can be one Gate of a TTL
component, one contact pair in a relay, or an individual resistor from a
resistorarray.
Hole:
Nonplatedthroughdrillinginthelayout(e.g.amountinghole).
23

1 Introduction
LayerStack:
Currentnumberandorderofcopperandisolationlayerswhichareusedto
buildupaprintedcircuitboard.
Microvia:
Aplatedthroughhole(likeBlindvia)witharelativelysmalldrilldiameter
whichconnectsanouterlayerwiththenextreachableinnerlayer.
Net:
Electricalconnectioninaschematic.
Package:
Componentfootprintstoredinalibrary.
Pad:
ThroughholepadassociatedwithaPackage.
Pin:
ConnectionpointonaSchematicSymbol.
Prepreg:
Usedinacompoundofinnerandouterlayersformultilayerboards.
Rack:
Configurationtableforadrillingmachine.Neededforgeneratingdrilldata.
Ratsnest:
Commandforcalculatingtheshortestairwiresandforhidingordisplaying
certainairwiresforabetteroverview.
Restring:
Pronunciation:restring.Settingthatdeterminesthewidthofthecopperring
aroundaplatedthroughholeofapadorvia.
Signal:
Electricalconnectioninaboard.
SupplySymbol:
Representsasupplysignalintheschematic.CausestheERCtorunspecial
checks.
Symbol:
Schematicrepresentationofacomponent,storedinaLibrary.
UserLanguage:
Freelyprogrammable,Clikelanguagefordataimportandexport.
Via:
Platedthrough hole for changing the layer of a track.See also Micro via,
Blindvia,andBuriedvia.
Wheel:
Aperture configuration file. Generated with Gerber data for board
manufacturing.
Wire:
Electricalconnectioninaboard,ora line(since linesaredrawnwiththe
WIREcommand).
24

Chapter 2
Installation
2.1 What You Need
For installing EAGLE you need to have an EAGLE installation file, your
personalinstallationcode,andtheappropriatelicensefile.
Ifyouhaveaskedforanupgradeforanexistingcurrentinstallationorforan
extensionofyourlicense,youdon'thavetoinstallEAGLEanew.Yournew
installationcode and its appropriate license file will update your existing
license.
IfyouintendtoinstalltheEAGLEFreeware,theEAGLEinstallationfileisall
youneed.
Keeptheyourpersonalinstallationcodeinasafeplace,inaccessibleto
unauthorizedpersons!Nevergivethelicensefileorinstallationcodeto
others! Never send your installation code by email to CadSoft or to
anyoneelse.

2.2 New Installations


On the CadSoft website you will always find the newest installation files.
Keep ready your personal license data, consisting of your license file
license.keyandtheinstallationcode.
The installation routine determines depending on the operating systems'
language used whether EAGLE will be installed in English or in German
language.
AnyrecentinformationaboutinstallationmaybefoundintheREADMEfiles.

25

2 Installation

Windows
EAGLEforWindowsisavailableasaselfextractingarchive,whichisnamed,
forexample, eaglewin5.7.0.exe.Doubleclickthisfileandthe WinZipSelf
Extractorwindow willappear. Theinstallationroutinestartswithextracting
thefilesfromthearchive.ClicktheSetupbuttontobegin.
Theversionnumberinthefilenamemay,dependingonthecurrentversion,
differ.
Nowtheactualinstallationstarts.Followtheinstructionsstepbystep.
AttheendofthisprocessyouwillbeaskedhowyouwanttolicenseEAGLE:
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
thefollowingdialogasksyouforthepathtoyourlicensefile license.key
andforyourpersonalinstallationcodewhichyouhavegotfromCadSoft.
RunasFreeware
EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto
upgradetoapurchasedlicensewithoutreinstallationatanytime.
Don'tlicensenow
postponesthelicensingonthefirstEAGLEstart.
The Windows Start menu now contains in the Programs section the new
entry EAGLELayoutEditor5.7.0.Tutorialandmanualinpdffileformatare
alsopartoftheinstallation.
UninstallingEAGLEcanbedonebyusualmeansofyouroperatingsystem
usingWindowsuninstalltools.

Linux
EAGLEforLinuxisavailableasselfextractingshellscriptwithsetupdialog.
YoumayinstalltheprogramasRoot/AdministratororasanormalUser.
Initiatetheinstallationprocessinafilemanagerwithadoubleclickonthe
shellscriptfileeaglelin5.7.0.run.
Pleasecheck,whetherthefileismarkedasexecutablebefore.Ifthisisnotthe
case, you could, for example, use the chmod command in the console to
changeitsattributes.
Youcanstarttheshellscriptformtheconsole,aswell,bytyping:
/path_to_file/eagle-lin-5.7.0.run
Theversionnumberinthefilenamemaydiffer,dependingonthecurrently
availableEAGLEversion.
Theinstallationroutinestartswithextractingthefilesfromthearchive.Then
theactualinstallationprocessstarts.Followtheinstructionsstepbystep.
AttheendyouwillbeaskedhowyouwanttolicenseEAGLE:
26

2.2 New Installations


UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense. Inthiscase
thefollowingdialogasksyouforthepathtoyourlicensefile license.key
andforyourpersonalinstallationcodewhichyouhavegotfromCadSoft.
RunasFreeware
EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto
upgradetoapurchasedlicensewithoutreinstallationatanytime.
Don'tlicensenow
postponesthelicensingonthefirstEAGLEstart.
TostartEAGLE,executebin/eagleintheinstallationdirectory.
Tutorialandmanualinpdffileformatarealsopartoftheinstallation.They
canbefoundinthedocdirectoryoftheEAGLEinstallation.
DeletetheentireEAGLEdirectory,ifyouwanttouninstallEAGLE.

Mac OS X
EAGLEforMacOSXisavailableasUniversalBinaryandworksonPowerPC
and on Intel based computers. In order to start the installation process
doubleclickontotheiconthatrepresentstheEAGLEarchivewhichisnamed,
forexample,eaglemac5.7.0.zip.Thearchivewillbeextractedautomatically.
A new folder icon named eaglemac5.7.0.pkg will appear on the Desktop
now.Clickitwiththemouseandtheinstallationprocessstarts.
Theversionnumberinthefilenamemaydiffer,dependingonthecurrent
EAGLEversion.
Followtheinstructionsstepbystep.
ConfirmtheEAGLESoftwareLicenseAgreementbyclickingContinue,ifyou
agreewithit.Ifnot,youcanaborttheinstallationbyclickingthe Goback
button.
ThenextstepsetsuptheEAGLEdestinationfolderandpossiblyadestination
volume. Byclicking Continue youacceptthesuggesteddirectory.Clickthe
Choose buttonandyoumayselectanyotherlocationfortheEAGLEfolder.
After confirming the installation path the files are copied into the EAGLE
folder.
Afterfinishing theinstallationyou areabletostartEAGLEbyclickingthe
EAGLEiconintheFinder'sApplications/EAGLEentry.
While starting EAGLE forthefirst time, youwill beasked howtolicense
EAGLE:
UseLicensefile
ThisimpliesthatyouhavealreadyboughtanEAGLElicense.Inthiscase
the following dialog asks for the path to your personal license file
license.key and for your personal installation code you have got from
CadSoft.
27

2 Installation
RunasFreeware
EAGLEwillbelicensedwiththelimitsoftheLightEdition.It'spossibleto
upgradetoapurchasedlicensewithoutreinstallationatanytime.
Tutorialandmanualinpdffileformatarepartoftheinstallationandare
locatedinthedocfolderoftheEAGLEinstallation.
IncaseyouwanttouninstallEAGLEfromyourcomputer,simplydeletethe
EAGLEentryinthetheFinder'sApplicationsfolder.

2.3 Updating an Older Version


Forreasonsofsafetyitisgoodpracticetocreateabackupofyourprevious
databeforeproceeding!
Please read the file update.txt in the EAGLE/doc directory, in order to
familiarize yourself with the changes in the new version of the program.
AdditionalnotesoninstallinganupdatemaybefoundinthelatestREADME
files.
You should follow the same procedure described in the section on New
Installationsonpage25.ThenewEAGLEreleasewillbeinstalledintoanew
folderwithitssubfoldersforLibraries,Scriptfiles,UserLanguagePrograms
andsoon.
AfterstartingEAGLEforthefirsttime,pleasecheckthepathsettingsinthe
ControlPanel'sOptions/Directories..menu.
ThepathsettingsaretakenfromtheEAGLEconfigurationfileeaglerc(.usr),if
existing, from a previous EAGLE version installed. Modify the settings if
necessary.Thevariable$EAGLEDIRstandsforthecurrentEAGLEinstallation
directory.

Notes on Library Files


Allfiles from previousversions canbe usedwith thenewEAGLEversion.
Please check which library files are in use, and available for the ADD
command.TomakesurethatyouareworkingwiththoseofthenewEAGLE
versionyoushould,forexampleintheSchematicEditor,typethefollowing
commandinthecommandline
USE -*
Thisremovesalllibrariesfromthebuffer.Thentype
USE *
toloadalllibrariesofthecurrentlygivendirectoryorotherdirectories.
Theinformation about libraries in use is stored in the eagle.epf fileofthe
currentlyactiveproject.

28

2.3 Updating an Older Version


IfyouhaveaddednewDevicestoexistinglibraries,youshouldrenameand
copytheselibrariestoaseparatefoldertoavoidoverwriting,muddlingup
fileswithnewerorolderones,andintheworstcaseloosingyourworkprior
toupdating.ThissameruleholdstrueforULPsandScriptfilesaswell.

In Case of Changes in the File Data Structure


Incaseofanupdatewhereitwasnecessarytochangethefiledatastructure,
itmaybewisetosaveyourownlibraryfilesfromtheearlierversioninthe
new EAGLE. Expanding the tree view's library preview or showing all
librariesbythefirstADDcommandcauseadditionaltimeinscreenupdate
viewing,dependingonyourcomputerspeed.EAGLEhastoupdatethefiles
temporarilytothenewfileformatbeforeshowingthelibraries'contents.
Incaseyouhavealotoffiles,thereisaquickandcomfortablewaytosolve
thisissue.Youneedtwotoolstoachievethis:
TheUserLanguageProgram runloopalllbrscript.ulpandaScriptfilethat
containsoneline:
WRITE;
EditoneofthelibraryfilesthatshallbeupdatedandstarttheULP.Youwill
beaskedfortheScriptfiletobeexecuted,thenalllibrarieswhichareinthe
samedirectorywillbeupdated.
Filesfromearlierversionscanbeuseddirectlywiththecurrentone.In
casethefilesweremadewithaversionpriortoEAGLE2.60youhaveto
convertthemwithaprogramnamedUpdate26.exe.Detailedinformation
aboutthiscanbefoundonpage305.

2.4 Changing or Extending the License


If you are changing your license you will receive new installation code
togetherwithanewlicensefilelicense.key.
Run EAGLE, and select the item Product Registration intheControl Panel
underthe Help menu.Youwillnowbeaskedforthepathtothe license.key
file.Chooseitandthentype,inthesecondline,yourpersonalinstallation
code.ThenclickOK.

29

2 Installation

TheLicenseDialog
Theprogramhasnowbeenrelicensed.Youcancallupthelicensedataat
any time in the EAGLE Control Panel by means of the Help/Product
Informationmenu.
Soyou can upgrade an already installed LightEditionwithaProfessional
Edition,forexample.

2.5 Multiple User Licenses


Multipleuserlicensesmaybeinstalledseparatelyondifferentcomputers,or
maybe usedina networkwithinthe scope ofthe licenseconditions.The
installationprocedureinanetworkisgenerallythesameasthatonastand
alone computer, and is described in the section on New Installations on
page25.

Notes for Installing in a Network


Theuserrightsofmultipleuserlicensesdifferfromthoseofthesingleuser
version.Thesoftwareitselfdoesnotcontainanyspecialnetworkmechanism,
andcanthereforebeusedonmostnetworks.
Atypicalinstallationmaybeperformedasthefollowing:
TheEAGLEprogramisinstalledonaserver.
Library,design,ULP,projectandotherdirectoriescanbefreelychosen.
After installation, EAGLE is started and licensed from one of the
workstations.ThisrequireswriteaccessinthesubdirectorybinoftheEAGLE
directory. The license file eagle.key that has been created is not changed
againaftertheinstallation.Writeaccessisnolongerrequired.
EAGLEcannowbecalledfromalltheotherworkstations.
PleaseensurethatalltheworkstationscallEAGLEinthesamewayaswas
usedwhenlicensing.
Aprivateworkingdirectory(localoronthenetwork)cannowbesetupfor
eachcomputer.Auserspecificconfigurationfile(eaglerc.usrunderWindows,
or .eaglerc under Linux orMac OS X) is located inthisdirectory.Further
subdirectoriescanthen,forinstance,containindividualprojects.
30

2.5 Multiple User Licenses


Alternatively it is possible for each computer on which EAGLE is to be
availabletohaveaseparatelicense.Inthiscase,copytheeagle.keyfilethat
wascreatedintheEAGLEprogramdirectory(eagle/bin)intothecomputer's
private working directory. When first starting the program, enter the
installationcodeandthepathtothelicensefilelicense.key.
Thisprocedureisrecommended,forinstance,formultipleuserlicensesfor3
to5userswhowillonlyworkatspecificcomputers.
Innetwork situations it is suggested that allusers accessonelocationfor
Library,ULP,Script,etc.Thisshouldbeasinglenetworklocationfolder.This
precautionisrecommendedbecauseanycustomDevice,ULP,Scriptcreated
byoneusercannowbeutilizedbytheentireteam.

Special Instructions Under Windows


Path Information
It has been found tobe helpful to use theserver namesin UNCnotation
whengivingthepath forcallingEAGLE,ratherthanthedriveletters. For
example:
\\netservername\eagle\bin\eagle.exe

Different Operating Systems at the Working Computers


IfnetworkcomputershavingdifferentWindowssystemsareinuse,itisfirst
necessarytoperformaninstallationasdescribedabove.
Thefollowingsituationcanarise:
Allthecomputersthatareusing,forinstance,WindowsXPcanrunEAGLE.
Computers with Windows 2000, however, cannot. In order to be able to
operate the computers running Windows 2000 as well, copy the files
eagle.exeandeagle.key,locatedintheeagle\bindirectoryontheserver,to,for
instance, eaglexp.exe and eaglexp.key.Nowstartallthecomputersthatrun
WindowsXP,usingthecommand
EAGLEXP
ThenstartEAGLEfromacomputerwithWindows2000,andlicenseitagain
withtheinstallationcodeandthelicensefile.Theeagle.keyfileisthenvalid
foralltheWindows2000computers.Theprogramisrunwith
EAGLE
You need write authorization for the eagle\bin directory to perform the
copyingandlicensing!

31

2 Installation

This
page
hasbeen
leftfree
intentionally.

32

Chapter 3
EAGLE Modules and Editions
3.1 EAGLE Modules
AnumberofEAGLEeditionsareoffered.YoucanaddanAutorouterModule
and/oraSchematicEditortotheLayoutEditor.
AstandaloneSchematicEditorcanbeusedfordrawingwiringdiagrams.In
thiscaseyouwon'tneedtheLayoutEditor.Theuserinterfaceisidenticalfor
allpartsoftheprogram.

The Layout Editor


TheLayoutEditor,whichallowsyoutodesignPrintedCircuitBoards(PCBs)
comes with the Library Editor, the Computer Aided Manufacturing (CAM)
Processor, and the Text Editor. With the Library Editor you can already
design Packages (footprints), Symbols and Devices (for a schematic). The
CAM Processor is the program which generates the output data for the
productionofthePCB(e.g.Gerberordrillfiles).ItisalsopossibletouseUser
LanguageprogramsandScriptfiles.

Schematic Editor
The Schematic Editor without Layout Editor is applicable for drawing
electrical wiring diagrams (connection scheme, contact plans...). The
SchematicEditorcomes,aswellastheLayoutEditor,withthefullLibrary
EditorfordesigningSymbolsfortheSchematicandPackagesfortheLayout,
withtheCAMProcessor,andtheTextEditor.YoucanalsouseUserLanguage
programsandScriptfiles.
IfyouwanttodrawSchematicdiagramsforelectronicsystemsyoushould
haveSchematicandLayout Editor. Youcangeneratetheassociatedcircuit
board at any time with a mouseclick. EAGLE thenchangestotheLayout
Editor,wherethepackagesareplacednexttoanemptyboardconnectedvia
airwires(rubberbands).FromhereyoucangoondesigningwiththeLayout
Editorasusual.Schematicandlayoutareautomaticallykeptconsistentby
EAGLE (Forward&Back Annotation). Schematic diagrams can consist of a
maximum of 999 sheets in the Professional Edition (99 sheets in the
Standard Edition). On the left side of the Schematic Editor window the
previewofthesheetsisdisplayed.

33

3 EAGLE Modules and Editions

Autorouter
YoucanroutetheairwiresautomaticallyifyouowntheAutoroutermodule.
You can choose single nets, groups of nets or all nets for the automatic
routing pass. The program will handle various network classes having
differenttrackwidthsandminimumclearances.
TheAutorouteralsoservesasbasicengineoftheFollowmerouter.Thisisan
advancedoperatingmodeoftheROUTEcommandformanualrouting,which
calculatesanddisplaysthetraceofaselectedsignalautomatically.

3.2 Different Editions


EAGLE offers various performance/price categories (editions) called Light,
Standard,and Professional.Thefacilitiesmentionedinthismanualalways
refertotheProfessionaledition.

Professional Edition
General
maximumdrawingarea64x64inches
resolution1/10,000mm(0.1microns)
mmorinchgrid
upto255drawinglayers
command(Script)files
ClikeUserLanguagefordataexportandimportandthe
realizationofselfdefinedcommands
easylibraryediting
compositionofselfdefinedlibrarieswithalreadyexisting
elementsbyDrag&Drop
easygenerationofnewPackagevariantsfromotherlibrariesby
Drag&Drop
freerotationofpackagevariants(0.1degreesteps)
librarybrowserandpowerfulcomponentsearchfunction
technologysupport(e.g.74L00,74LS00..)
Easydefinitionoflabelleddrawingframes
freedefinableattributes,applicableforDevicesintheLibrary
andinSchematicorLayout
integratedPDFdataexportfunction
exportfunctionforgraphicfiles(BMP,TIF,PNG...)
printoutsviatheOS'sprinterdriverswithprintpreview
partlistgenerationwithdatabasesupport(bom.ulp)
Drag&DropintheControlPanel
34

3.2 Different Editions


contextmenuwithobjectspecificcommandsforallobjects,available
througharightmouseclick
propertiesofobjectscanbeaccessedandeditedviacontextmenu
automaticbackupfunction

Layout Editor
fullSMDsupport
supportofBlindandBuriedvias
rotationofobjectsinarbitraryangles(0.1degreesteps)
componentscanbelockedagainstmoving
textscanbeplacedinanyorientation
dynamiccalculationofsignallineswhileroutingthelayout
magneticpadsfunction
trackscanbelayedoutwithroundedcornersinanyradius
miteringtosmoothwirejoints
DesignRuleCheckforboardlayouts(checkse.g.overlaps,
measuresofpadsortracks)
copperpouring(groundplains)
Packagevariantssupport
userdefinable,freeprogrammableUserLanguagetogeneratedatafor
mountingmachines,testequipments,millingmachinesoranyother
dataformat
outputofmanufacturingdataforpenplotters,photoplottersand
drillingmachineswiththeCAMProcessor

Schematic Editor
upto999sheetsperschematic
iconpreviewforsheets
sortingschematicsheetsbyDrag&Drop
crossreferencesfornets
automaticgenerationofcontactcrossreferences
simplecopyingofparts
replacefunctionforpartswithoutlossofconsistencybetween
schematicandlayout
OnlineForward&BackAnnotationbetweenschematicandboard
automaticboardgeneration
automaticgenerationofsupplysignals
ElectricalRuleCheck(errorcheckintheSchematicandconsistency
checkbetweenSchematicandLayout)

35

3 EAGLE Modules and Editions


Autorouter Module
fullyintegratedintobasicprogram
usesthesetofDesignRulesyoudefinedforthelayout
changebetweenmanualandautomaticroutingatanytime
basicenginefortheFollowmerouter,atoolthatsupports
youinmanualrouting;thetraceofaselectedsignalwillbe
calculatedautomatically
ripup&retryalgorithm
userdefinablestrategy(bycostfactors)
routinggriddownto0.8mil(0.02mm)
noplacementrestrictions
upto16signallayers(withuserdefinablepreferreddirections)
upto14supplylayers
fullsupportofBlindandBuriedvias
takesintoconsiderationvariousnetclasses

Standard Edition
ComparedtotheProfessionalEditionthefollowingrestrictionsapplytothe
StandardEditionintheLayoutEditor:
Thelayoutareaisrestrictedtoamaximumof160x100mm
(about6.3x3.9inches).Outsidethisareaitisnotpossibletoplace
Packagesanddrawsignals.
Amaximumnumberof4signallayersareallowed(top,bottom,
and2innerlayer).
Aschematiccanconsistofamaximumof99sheets.

Light Edition
ThefollowingrestrictionsapplytotheEAGLELightVersion:
Theboardareaisrestrictedto100x80mm(about3.9x3.2inches).
OutsidethisareaitisnotpossibletoplacePackagesanddrawsignals.
Onlytwosignallayerscanbeused(noinnerlayers).
Aschematiccanconsistofonlyonesinglesheet.
Largerlayoutsandschematicscanbeprintedwiththe smallereditions.The
CAMprocessorcangeneratemanufacturingdataaswell.

36

Chapter 4
A First Look at EAGLE
4.1 The Control Panel
The Control Panel normally appears after starting EAGLE, and this is the
program'scontrolcenter.AllthefilesspecifictoEAGLEaremanagedhere,
and some basic settings can be made. It is similar to the familiar file
managersusedbyawidevarietyofapplicationsandoperatingsystems.Each
EAGLEfileisdisplayedinthetreeviewbymeansofasmallsymbol.
Acontextmenuisopenedbyclickingwiththemouseonanentryinthetree
view. This allows you, depending on the object, to carry out a variety of
actions(rename,copy,print,open,createnewetc.).
The Control Panel supports Drag&Drop. This can also be done between
differentprograms.Youcan,forinstance,copyfiles,movethem,orcreate
linksonthedesktop.UserLanguageprogramsorscriptfilesthatarepulled
withtheaidofthemouseoutoftheControlPanelandintoaneditorwindow
are started automatically. If, for instance, you pull a board file with the
mouseintotheLayoutEditor,thefileisopened.
Thetreestructureprovidesaquickoverviewofthelibraries,DesignRules,
UserLanguageprograms,scriptfiles,CAMjobsandprojects.Speciallibraries,
text,manufacturinganddocumentationfilescanbelongtoaprojectaswell
asschematicdiagramsandlayouts.
Thefirsttimeitiscalled,theControlPanelwillappearverymuchasshown
inthefollowingdiagram. If anobjectis selectedinthetree view, further
relevantinformationisdisplayedintherighthandpartofthewindow.
Simplyclickontovariousfoldersandfilesinordertoexperimentwiththe
ControlPanel'sfacilities.

37

4 A First Look at EAGLE

ControlPanel:Ontheright,thedescriptionoftheRCLlibrary

Library Summary
The possibility of displaying the contents of the libraries is particularly
interesting.ItprovidesaveryrapidoverviewoftheavailableDevices.
Expand the Libraries entry, andyou can see the availablelibraries. Inthe
Descriptionfieldyoucanseeabriefdescriptionofthecontents.Ifalibraryis
selected, youwill see more extensive informationaboutthelibrary inthe
righthandpartoftheControlPanel.Ifyouthenexpandalibraryentrynow,
the contents will be displayed together with a short description of each
element.DevicesandPackagesaremarkedwithasmallicon.
Nowselect,forexample,aDevice:
ThedescriptionoftheDeviceandagraphicalrepresentationofitappearon
theright. TheavailablePackage andtechnologyvariantsarelisted.Ifyou
clickontooneofthePackageversions,thePackagepreviewshownabovewill
change.
IfaSchematicEditorwindowisopen,theentryADDwillbeshownrightof
thevariantname.ClickitandtheDeviceisattachedtothemousecursoras
soonasitisovertheSchematicEditorwindow.Nowyoucandropitinthe
schematic.
If you are only working with the Layout Editor, this will of course also
operatewithPackages.Itis,additionally,possibletodragaDevicefromthe
tree view into a schematic diagram and to place it there by means of
38

4.1 The Control Panel


Drag&Drop.IfithasmorethanonePackageversion,theADDdialogopens
automatically,sothatthedesiredPackagecanbeselected.
Thegreenmarkerbehindthelibraryentryindicatesthatthislibraryisinuse.
Thismeansthatitcanbeusedinthecurrentproject.Devicesinthislibrary
willbeexaminedbythesearchfunctionintheADDdialogoftheschematic
diagram or of the layout. This makes them available for the project. The
librarywillnotbeexaminedifthemarkingisgray.
IfstartingEAGLEwithoutaproject(noeagle.epffileisread,theprojecthas
beenclosedbeforeexitingEAGLElasttime)andcreatinganewproject
( File/New/Project) all libraries will be in use automatically. However,
openinganalreadyexistingproject,whereonlycertainlibrariesare inuse
beforecreatingthenewproject,willadoptthisselection.
IftheLibraryEditorwindowisopenyoucanDrag&DropacompleteDevice
setorPackagedefinitionfromtheControlPanelintothelibrarywindow.This
wayyoucancopyitfromonelibraryintoanother.

ControlPanel:LibrarysummarywithDeviceview

39

4 A First Look at EAGLE

Design Rules
SpecialDesignRulescanbespecifiedinEAGLEtogoverntheboarddesign.
Thesecanbesavedasdatasetsinspecialfiles(*.dru).
Theparameter set that is togovern thecurrent projectisspecifiedinthe
DesignRules branchofthetreeview.Ifnodatahasbeenprovidedforthe
Design Rules (DRC command), EAGLE will itself provide parameters. The
markingtotherightofthefileentryspecifiesthedefaultparametersetfor
thecurrentproject. The layout willbe checkedbytheDRCinaccordance
withthesecriteria.FurtherinformationabouttheDRCandtheDesignRules
isfoundstartingonpage128.

User Language Programs, Scripts, CAM Jobs


These entries show the contents of the ulp, scr and cam directories. They
containvariousUserLanguageprograms(*.ulp),scriptfiles(*.scr)andCAM
jobs(*.cam)fortheoutputofdatausingtheCAMProcessor.Ifoneofthese
filesisselectedintheControlPanel,youwillseeafulldescriptionofthefile.
The paths can be set by means of the Options/Directories menu. This is
discussedinmoredetaillaterinthischapter.

Projects
Thevariousprojectsare managedfromtheControlPanel.Aclickontothe
Projects entrydisplaysvariousfolders.Thesearelocatedunderthepathset
underOptions/Directories/Projects.Itisallowedtodefinemorethanonepath
there.
Aprojectusuallyconsistsofafolderwhichrepresentstheprojectbyitsname
andtheproject'sconfigurationfile eagle.epf.Thefolderusuallycontainsall
files that belong to your project, for example, schematic and board file,
speciallibraryfiles,scriptfilesandsoon.
Projectdirectoriesthatcontaintheprojectfileeagle.epfwillbemarkedwitha
redfoldericon.'Normal'folderswillbemarkedwithayellowicon.
TheprojecttobeeditedisselectedintheProjectsbranch.Ontherightofthe
project'snameyouwillfindamarkerwhichiseithergrayorgreen.Withthe
help of this marker one can open or close projects. Clicking onto a gray
marker,loadstheproject.Themarkerappearsgreennow.Clickingontothe
greenmarkeragainorclickingontoanothergraymarkerclosesthecurrent
projectrespectivelyopensanotherprojectafterclosingthecurrentone.This
wayonecanswitcheasilyfromoneprojecttoanother.
Asanalternativeyoucanopenorcloseaprojectbydoubleclickingontothe
entryinthetreevieworbypressingtheSpaceorEnterkey.
WhileclosingaprojectthesettingsofthecurrentlyopenedEditorwindows
willbestoredinthecorrespondingprojectfile eagle.epf,providedthatthe
optionAutomaticallysaveprojectfileissetintheOptions/Backupmenu.

40

4.1 The Control Panel


If the projectfile wasgenerated byanotherEAGLEversionthancurrently
used,youwillbeasked,ifitisallowedtooverwritethefile.
Newprojectsare created byclickingtherightmousebuttonontoafolder
entry in this branch. A context menu opens which permits new files and
directoriestobecreatedandtheindividualprojectstobemanaged.
SelectingtheoptionNew/Projectinvokesanewfolderwhichhastobegiven
theproject'stitle.Theprojectfileeagle.epfwillbecreatedautomatically.
YoucanalsousetheFile/Open/ProjectortheFile/New/Projectmenutoopen
orcreateanewproject.

Contextmenuforprojectmanagement
The context menu contains the Edit Description item. Adescriptionofthe
projectcanbeenteredhere,andthisisthendisplayedintheDescriptionbox.

Menu Bar
TheControlPanelallowsvariousactionstobeexecutedandsettingsmade
throughpulldownmenusthatareexplainedbelow.

File Menu
TheFilemenucontainsthefollowingitems:
New
Createsanewlayout(board),schematic,library,CAMjob,ULP,scriptortext
file.TheProjectoptioncreatesanewproject.Thisinitiallyconsistssimplyofa
newdirectoryinwhichthefilesforanewprojectarehandled.Thesewill
41

4 A First Look at EAGLE


consist as a rule of the schematic diagram and layout,possibly of special
libraries,scriptfiles,UserLanguageprograms,documentationfilesetc.and
ofthefileeagle.epf,inwhichprojectspecificsettingsarestored.
Thedefaultdirectoriesforthevariousfiletypesaredefinedinthe
Options/Directoriesmenu.
CAMjobsaredefinitionsforgeneratingoutputdatawiththeCAMProcessor.
Script and ULP files are text files containing command sequences in the
EAGLE command language or the EAGLE User Language. They can be
created and edited with the EAGLE Text Editor or with an external text
editor.
Open
Opensanexistingfileofthetypesmentionedabove.
Open recent projects
Listsrecentlyusedprojects.
Save all
Allchangedfilesaresaved.Thecurrentsettingsfortheprojectaresavedin
thefileeagle.epf,eveniftheoptionAutomaticallysaveprojectfileinthemenu
Options/Backup... isswitchedoff.Userspecificsettingsarestoredinthefile
eaglerc.usr(Windows)or.eaglerc(Linux/Mac).
Close project
Theprojectwillbeclosed.Projectspecificsettingsaresavedinthe
eagle.epffileofthecurrentprojectdirectory.
Exit
Theprogramisterminated.WhenEAGLEisstartedagain,thelastprogram
status is restored, i.e. the windows and other working environment
parameters appear unchanged. If there was no project loaded only the
ControlPanelwillbeopenednexttime.
ThecurrentstatusisalsosavedwhenyouleaveEAGLEwithAltXfromany
programpart.
IfyouhavedeactivatedthePulldownmenuoftheEditorwindowswith
the Options/User interface menu, Alt+X won't work. Use the QUIT
commandinstead.YoucouldevenassigntheQUITcommandtoAlt+X
withthehelpoftheASSIGNcommand.

View Menu
Refresh
Thecontentsofthetreeviewareupdated.

42

4.1 The Control Panel


Sort
Thecontentsofthetreeviewwillbesortedbynameorbytype.

Options Menu
Directories
The default directories for particular EAGLE files are entered in the
directoriesdialogbox.
More than one path may be entered for each of these. In the Windows
versiontheentriesareseparatedbysemicolons,whileacolonisusedinthe
LinuxandMacversion.TheProjectsdirectoryisthedefaultdirectoryforthe
TextEditor.
The Projects directory contains subdirectories, each of which represents a
particularproject.EachoftheprojectdirectoriescontainsanEAGLEproject
file(eagle.epf).Aprojectdirectoryanditssubdirectoriesusuallycontainall
thefilesthatareassociatedwithoneparticularproject,suchastheschematic
diagramandthelayout,textfiles,manufacturingdata,documentationfiles
andsoon.

ThedirectoriesdialogintheOptionsmenu
Type the path directly into the corresponding box, or select the desired
directorybyclickingtheBrowsebutton.
Thedefaultsettingscanbeseeninthediagramabove.$EAGLEDIRstandsfor
theinstallation'sEAGLEdirectory.
You may also use $HOME for your home directory under Linux. Under
Windows it is possible to define this environment variable wit the SET
command.
Ifa HOMEvariablehasnotbeensetwithinthe Environmentvariable,then
underWindowsEAGLEwillsuggestthedirectoryApplicationData.
ThisdirectoryisdefinedintheWindowsregistryin:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVers
ion\Explorer\Shell Folders\AppData
Inthisfolderyoucanalsofindtheuserspecificconfigurationfileeaglerc.usr.
Itisofcoursealsopossibletospecifypathswithanabsoluteformat.
43

4 A First Look at EAGLE


TheHOMEvariablemustnotpointtotherootdirectoryofadrive!
Backup
Whenfilesaresaved,EAGLEcreatesbackupcopiesofthepreviousfiles.The
maximum backup level field allows you to enter the maximum number of
backup copies (default: 9). Backup files have different file extensions,
enumeratedsequentially.Schematicfilesreceivetheending s#x,boardfiles
b#x,andlibraryfiles l#x.xcanrunfrom1to9.Thefilewith x=1isthe
newestone.
Theautomaticbackupfunctionalsopermitsthebackuptobescheduled.The
timeinterval can bebetween 1 and 60 minutes (default: 5minutes).The
backupfileshavetheendingsb##,s##andl##respectively.
AllthesebackupfilescanbefurtherprocessedinEAGLEiftheyarerenamed
andgiventheusualfileendings(brd,sch,lbr).

Backupdialog
If the option to Automatically save project file is chosen, your project is
automaticallysavedwhenyouclosethecurrentprojectorleavetheprogram.
User Interface
TheUserInterfacedialogallowstheappearanceoftheeditorwindowsfor
thelayout,schematicdiagramandlibrarytobeadjustedtoyourpreferences.
YoucanalsoaccessthismenufromtheEditorwindows.
IntheControlsboxyouspecifywhichobjectsaretobedisplayedintheeditor
window.IfyoudeactivatealltheControls,onlythecommandlinewillremain
forentry.Thismaximizesthefreeareaavailableforthedrawing.

44

4.1 The Control Panel

SettingsfortheUserInterface
TheoptionAlwaysvectorfontshowsandprintstextswiththebuiltinvector
font, independently from the originally used font. Using the Vector font
guaranteesthattheoutputwithaprinterortheCAMProcessorisexactlythe
sameasshownintheeditorwindow.Fontsotherthanvectorfontdependon
thesystems'settingsandcannotbecontrolledbyEAGLE.Theoutputofnon
vectorfontsmaydifferfromtheeditor'sview.
Opening the User Interface dialog from one of the Editor windows (for
example,theLayoutEditor)theAlwaysvectorfontoptionoffersanadditional
itemPersistentinthisdrawing.SettingthisoptioncausesEAGLEtosavethe
Alwaysvectorfontsettinginthecurrentdrawingfile.Soyoucanbequitesure
thatthelayoutwillbeshownwithvectorfontatanother'spersoncomputer
(forexample,ataboardhouse).
Pleaseseethehelpfunctionfordetails(TEXTcommand).
Limit zoomfactor limitsthemaximumzoomfactorinaneditorwindow.At
maximum zoom level the width of the drawing is about one Millimetre
(approx. 40 mil). Switching off this option allows you to zoom until the
0.1Micron(0.004mil)gridwillbecomevisible.
Ifyouareworkingwithawheelmouse,youcanzoominandoutbyturning
themousewheel.Mousewheelzoomdeterminesthezoomfactor.Thevalue0
switchesthisfunctionoff.Thewheelisusedforscrollingthen.
ThefieldExternaltexteditorallowsyoutospecifyanalternativeforthebuilt
inEAGLEtexteditor.Furtherdetailsonthiscanbefoundinthehelpfunction
inthesectionEditorwindows/Texteditor.

45

4 A First Look at EAGLE


The background color and the appearance of the drawing cursor can be
separately adjusted forthelayoutand theschematicdiagrameditors. The
backgroundmaybeblack,whiteorshowninanyothercolor(Colored).The
backgroundcolordefinitionisdescribedonpage100.
Thecursorcanbedisplayedoptionallyassmallcrossoraslargecrosshairs.
ThecheckboxesintheHelpareaallowtoswitchonoroffthepopuptextsfor
thecommandicons(Bubblehelp)andthehelptextsforthecommandsinthe
statusline(Userguidance).
Selectingthe Userguidance checkboxdisplays,additioninformationabout
theselected object,likethenetorsignalname,thenetclass,orthepart's
nameandvalue(withNET,MOVE,ROUTE,SHOW...),instructionsaboutthe
possiblemouseactionsinthestatusbaroftheeditorwindow.
Window Positions
Hereyoucan storethepositionsandthesizesofthecurrentlyopenEditor
windows.EachfilethatwillbeopenedfromnowonappearsinitsEditor
windowatthegivenpositionandsizeparametersthatwerestored.
Ifyoudeletethestoredpositionsagain,EAGLEdeterminesthelocationofan
Editorwindowandusesafixedsizeforit,whichisthedefaultsetting.

Window Menu
FromtheWindowmenuyoucanchoosethewindow(schematic,board,etc.)
tobe displayed in the foreground. The number ontheleftisthewindow
number.ItallowsyoutochooseawindowwhencombinedwiththeAltkey
(e.g.Alt+1selectswindow1).
Thecombination Alt+0 canbeusedanywhereintheprogramtobringthe
ControlPanelintotheforeground.
ThefunctionalityofAlt+window_numberissupportedintheWindows
andintheLinuxversiononly.

Help Menu
TheHelpmenucontainsanitemforcallingthehelpfunction,aswellasitems
for installing a new license (Product registration) and getting information
abouttheprogramversionetc.(Productinformation).
Product registration
TheregistrationdialogiscalledautomaticallywhenyoustartEAGLEthefirst
time.Ifyouwanttoinstallanupgradeyoumuststartthisdialogfromthe
Help menu, and then enter the necessary information according to the
License/Product Registration sectionofthehelpfunction.Alleditorwindows
havetobeclosedbefore.ReadthenotesinthechapterInstallationformore
information.

46

4.1 The Control Panel


Check for Update
By default EAGLE checks for newer EAGLE versions on the CadSoft web
server.Incasethereisanewerversionavailableyouwillbeinformedbya
message window. EAGLE informs you about a new software release, but
won'tdownloaditautomatically.
Clickthe Configure buttontoletEAGLElookforthesoftwareversion daily,
weekly,ornever.IfyouareworkingwithaProxyserver,typeinit'sname.In
case you are interested in the newest beta version, you can activate this
check,too.
Product information
Ifyoucontactourtechnicalsupportyoushouldprovidetheinformationyou
willfindunderthismenuitem.

4.2 The Schematic Editor Window


TheSchematicEditorwindowopenswhenyouloadanexistingschematicor
createanewone.ThereareseveralwaysofopeningfilesinEAGLE.
You can, for instance, load a schematic diagram by means of the
File/Open/Schematic menu in the Control Panel. Alternatively doubleclick
ontoaschematicdiagramfileinthetreeview.
Ifyouwanttocreateanewschematic,selectthemenuFile/New/Schematic.
Thiswillopenaschematicwiththenameuntitled.schinthecurrentproject
directory.

TheSchematicEditor

47

4 A First Look at EAGLE


Ifyouwanttocreateaschematicdiagramstraightawayinanewproject,you
may for example click with the right mouse button onto a project in the
Projects entryofthetreeview, andselectthe Newproject optionfromthe
contextmenu.Thenewprojectreceivesaname.Thenclickontothisentry
with the right mouse button. Now select New/Schematic from the context
menu.
Anewschematicopensinthisprojectdirectory.
Ontopyouwillseethetitlebar,whichcontainsthefilename,andthenthe
menubar,andtheactiontoolbar.
Below the action toolbar there is the parameter toolbar, which contains
differenticons,dependingontheactivecommand.
Abovetheworkingareayouwillfindthecoordinatedisplayontheleft,with
the commandline,wherecommandscanbeenteredintextformat,tothe
rightofit.
EAGLEacceptscommandsindifferentbutequivalentways:asmouseclicks,
textviakeyboard,orfromcommand(script)files.
Ontheleftoftheworkspaceyoufindthecommandtoolbar,whichcontains
mostoftheSchematicEditor'scommands.
In the status line, at the bottom of the screen, instructions for the user
appear,ifacommandisactive.
Ontheleftyouyoucanseethepreviewoftheschematicsheets.Youcansort
thesheetsviaDrag&Drop.
EachofthetoolbarscanbedisplayedorhiddenusingOptions/UserInterface.
Itisalsopossibletorearrangethetoolbarswithincertainlimitswiththeaid
ofthemouse.Thecommandtoolbar,forinstance,canalsobeplacedonthe
right,ortheactionandparametertoolbarscanbeplacedtogetheronone
line.

How You Obtain Detailed Information About a


Command
Bubble Help And Tool Tips
Ifthemousecursorremainsaboveaniconforlongerthanacertaintime,the
name of the EAGLE command appears. You also see a short explanation
belowinthestatusline.
Forexample,movethecursorovertheWIREicon.Bubblehelpwiththeword
Wire appears directly by the cursor. The short description, Draw lines,
appearsinthestatusline.
Ifyouselect the command,a short noteappears belowinthestatusline,
indicatingwhatwouldnormallybeexpectedasthenextaction.Forinstance,
ifyouclickontotheWIREicon,thestatuslinewilldisplaytheinstruction:
Leftclicktostartwire.
ThesefunctionscanbeactivatedorcancelledintheControlPanelbymeans
oftheOptions/UserInterfacemenu.
48

4.2 The Schematic Editor Window


Help Function
Ifyouwanttolearnmoreaboutacommand,e.g.theWIREcommand,click
itsiconinthecommandtoolbar,thenclickthehelpicon.
Asanalternativeyoucantype
HELP WIRE

inthecommandline.ThecharactersymbolizestheEnterkey.
ThecontentsoftheEAGLEHelpisstoredinasingleHTMLfileandcanbe
viewed for example with a web browser, as well. Italsooffersa fulltext
search.
AftertypinginasearchtermintheFindline,EAGLEhelpnolongershowsall
pages but only the pages containing this expression. The keys F3 and
Shift+F3allowyoutogotothenextorpreviouslocation.Eachsearchterm
foundwillbemarked.Greenindicatingthecurrentlyfoundterm,yellowfor
allothers.

EAGLEHelpwindow

Command Parameters
AnumberofEAGLEcommandsneedadditionalparameters.Refertothehelp
pagesforadescriptionofthetextualentryofparameters(viacommandline
orscriptfile).

49

4 A First Look at EAGLE


Mostoftheparameterscanbeenteredbyclickingtheappropriateiconsin
theparametertoolbar,whichchangesaccording totheselectedcommand.
Theseiconsalsoshowbubblehelpexplanations.
This is how the parameter toolbar appears when the NET command is
activated.

ParametertoolbaroftheNETcommand
OntheleftistheGRIDiconforsettingthegridpitch.Totherightarebuttons
forthebendmode(SETWIRE_BEND)ofthenetline,followedbythemiter
radius for smoothing line joints with the options straightorrounded (see
MITERcommand).Nexttothisisthe Style menuwherethetypeoflineis
defined.OnthefarrightisavaluemenuforassigningaNetclass.

GRID
Thisiconisavailableatanytime.Itisusedtoadjustthegridandtoselectthe
currentunit.InEAGLE,anyvaluerelatestothecurrentunit.
ArightclickontotheiconopensapopupmenuthatcontainstheentryLast.
Soyoucanswitchbacktothepreviouslychosengridsetting.TheNew...entry
allowstodefinesocalledAliases.Moreaboutthisinchapter5.

The Action Toolbar


Thistoolbariscomposedofthefollowingicons:

Fromtheleft:Openfile,savefile,printfile,callCAMProcessor,open/create
correspondingboardfile(BOARDcommand).

Load,remove,orcreateanewschematicsheet.

USE
SelectlibrarieswhichwillbetakenintoconsiderationbytheADDdialog.Can
alsobedonewiththe Library/Use menuitemorbyclickingthemarkersin
theLibrariesbranchoftheControlPanel'streeview.Thecontextmenuofthe
entry Libraries orofitssubfolderscontainstheentries Usealland Usenone
foraquickandsimpleselection/deselectionofalllibraries(ofthefolder).
Thiscommandhastobeusedinscriptfilesinordertochoosethelibraryyou
wanttotakepartsfrom.

50

4.2 The Schematic Editor Window


SCRIPT
Execute a script file. This enables you to execute any command sequence
withafewmouseclicks.
Arightclickontotheiconshowsalistofrecentlyexecutedscriptfiles.

RUN
StartaUserLanguageprogram(ULP).
Arightclickontotheiconshowsamenuthatcontainsalistofrecentlyused
UserLanguagePrograms.

WINDOW
TheseiconsrepresentdifferentmodesoftheWINDOWcommand:
Fitdrawingintothescreen(WINDOWFIT,AltF2),zoomin(F3),zoomout
(F4),redrawscreen(WINDOWorF2),selectnewarea.
Tomovethecurrentdrawingwindow,clickthemiddlemousebuttonand
moveyourmouse!
WINDOWLASTreturnstothepreviousdisplaywindow.

UNDO/REDO
These commands allow you to cancel previous commands and to execute
commandswhichhavepreviouslybeencancelled.Defaultfunctionkeys: F9
andF10.

Stop Icon
TerminatestheexecutionofEAGLEcommands(Edit/Stopcommand).

Go Icon
Starts the execution of an active EAGLE command, which allows further
parameterstobeenteredbytheuser,likeitiswiththeAUTOortheMARK
command.

The Command Toolbar of The Schematic Editor


INFO
Shows theproperties of the selected object. Ifyouknowthenameofthe
object,youcanuseitasaparameterinthecommandline.Dependingonthe
selectedobjectsomeofthepropertiescanbealteredinthisdialog.
51

4 A First Look at EAGLE


SHOW
Highlightstheobjecttobeselectedwiththemouse.
It'salsopossibletoentertheobject'sorGate'sname(evenseveralnamesat
once) in the command line. You may use the characters * and ? as
wildcards,aswell.Ctrl+SHOWtogglestheshowstateoftheselectedobject.
Ifyouarelookingforverysmallobjects,itcanbeusefultousetheSHOW
commandwiththe@option,likein
SHOW @ C12;
The location of part C12 will be recognized at once, because the part is
markedwithasurroundingframe.
Ifthesearchedobjectisnotlocatedonthecurrentsheet,theSHOWwindow
opensandinformsyouaboutthesheetwhereitislocated.Incaseofobjects
thatconsistofmorethanonepart,likeelementswithseveralgatesornets
thatspreadoverseveralsheets,thewindowwilllistseveralentries.Clicking
ononeoftheentriescentertheselectedobjectonthescreen.Ifthesearched
objectisnotfoundinthewholeschematic,theSheetcolumnwillbemarked
withaminussign''.

DISPLAY
Select and deselect the layers to be displayed. See the Appendix for the
meaningofthelayers
DISPLAY LAST shows the recently used layer combination that was
previouslyselectedfordisplay.
Forfurtherdetailspleaseseehelpfunction.

MARK
Thefollowingmouseclickdefinestheneworiginforthecoordinatedisplay.
Relativecoordinates(Rxvalueyvalue)andpolarvalues(Pradiusangle)are
showninadditiontoabsolutecoordinatesinthecoordinatedisplaybox.If
youfirstclicktheMARKiconandthenthetrafficlighticon,onlytheabsolute
coordinatevalueswillbedisplayedagain.

MOVE
Moveanyvisibleobject.Therightmousebuttonrotatestheobjectwhileitis
attachedtothemousecursor.
Ifyoumoveanetoverapin, noelectricalconnectionwillbeestablished.If
youmovethepinofaGateoveranetoranotherpin,anelectricalconnection
willbecreated.

52

4.2 The Schematic Editor Window


Tomovegroupsofobjects:
DefinethegroupwiththeGROUPcommand,clicktheMOVEicon,pressthe
Ctrlkey,thenclickintothedrawingwiththerightmousebutton,andmoveit
tothedesiredlocation.
Ifyoudon'tpresstheCtrlkey,thecontextmenupopsupafterclickingwith
therightmousebutton.Itcontainsanentry Move:Group thatallowsyouto
movethegroup,too.Therightmousebuttonrotatesthegroupby90degrees
whileitisattachedtothemousecursor.
Ifyouliketomovethegroupontoanothersheet,clickthesheetcombobox
intheactiontoolbarorselectitfromtheSheetspreview.Placethegroup
there.
MOVEcanbeusedinthecommandlinewithvariousoptions.Seethehelp
functionfordetails.

COPY
Copypartsandotherobjects.
Whencopyingnetsandbusesthenamesareretained,butinallothercasesa
newnameisassigned.
COPYcanbeusedwithgroupsandworksthesameasitwouldbewithCUT
andPASTEwithinadrawing.Thecontentofthegroupdoesnotgotothe
clipboardofyouroperatingsystem!

MIRROR
Mirrorobjects.

ROTATE
Rotateobjectsby90degrees(alsopossiblewithMOVE).

GROUP
Define agroupwhichcanthenbemoved,rotated,orcopiedwithCUTand
PASTEtoanotherdrawingorwhosepropertiesaretobechanged.Afterthe
iconhasbeenclicked,arectangulargroupcanbedefinedbyholdingdown
theleftmousebuttonanddraggingthecursortothediagonalcornerofthe
rectangle.Ifyouwanttodefineagroupbyapolygon,usetheleftmouse
buttontodeterminethecornersofthepolygon.Thenclicktherightmouse
buttontoclosethepolygon.
GROUPALLinthecommandlineselectsallobjectsonthecurrentsheet,if
therespectivelayersaredisplayed.
Thefollowingcommand(ROTATE,CHANGE,MOVE...)hastobeappliedto
thegroupwiththerightmousebuttonwhilethekeyispressed.
ExceptionisCUT:Herealeftmouseclickisexpected.

53

4 A First Look at EAGLE


Ifyouliketoaddfurthergroupstoanalreadyexistingone,pressthe Shift
keyanddefinethefirstcorneroftheselectionareawithamouseclick.
Incaseyouwanttoaddanobjecttoorremoveitfromthegroup,pressthe
Ctrlkeyandclickontotheobjectinquestion.
PressCtrl+Shifttotogglethemembershipofanobjectanditshierarchically
superiorobjects:Clickingforexample, onanetsegmentintheSchematic
invertsthegroupmembershipofthewholenet.

CHANGE
Change the properties of an object, e.g. the width of a line, the Package
variantorthesizeoftext.Seehelpfordetails.
Anobject'spropertiescanbecheckedandevenchanged,whereapplicable,by
the Properties entryofthecontextmenu.Toaccessthecontextmenu,click
ontotheobjectwiththerightmousebutton.

CUT
Transfer the objects of a previously defined group into the paste buffer.
Activate the CUT command and click with the left mousebutton into the
grouptosetareferencepoint.
Allothercommandsthatcanbeexecutedwithagroupexpectarightmouse
clickwhiletheCtrlkeyispressed.
NotidenticaltotheWindowscutfunction!

PASTE
Insertobjectsfromthepastebufferintothedrawing.Restrictions:seehelp
function.
NotidenticaltotheWindowspastefunction.

DELETE
Deletevisibleobjects.
Alsoin combinationwithGROUPcommand.Ifagrouphasbeendefined,it
canbedeletedwiththerightmousebuttonwhiletheCtrlkeyispressed.
TheDELETEcommanddeletesanentirepartintheSchematicwhenclicking
ontoaGatewiththeShiftkeypressed.Inthatcase,thetracksconnectedto
thePackageintheboard,ifalreadyexisting,willstayunchanged.
ClickingontoanetorbuswirewiththeShiftkeypresseddeletestheentire
netorbussegment.

54

4.2 The Schematic Editor Window


ADD
Addlibraryelementstotheschematic.AsearchfunctionhelpsDevicestobe
foundquickly.USEspecifieswhichlibrariesareavailable.
A rightclick onto the ADD icon opens a popup menu that lists recently
fetchedDevices.

PINSWAP
Swap twonetsconnectedtoequivalentpinsofaDevice,providedthepins
havebeendefinedwiththesameSwaplevel.

GATESWAP
SwaptwoequivalentGatesofaDevice,providedtheGateshavebeendefined
withthesameSwaplevel.InEAGLEterminology,aGateisapartofaDevice
whichcanbeindividuallyplacedonaschematic(e.g.onetransistorfroma
transistorarray).

REPLACE
Replacea component(Device)withanotheronefromanylibrary.Thiscan
onlyworkifthenewcomponenthasatleastasmanypinsasthecurrentone
andthepinsaswellasthepadshaveidenticalnamesorthesamepositions.
Arightclickontothisiconopensapopupmenuthatshowsalistofrecently
replacedDevices.

NAME
Givenamestocomponents,nets,orbuses.

VALUE
Providevaluesforcomponents.Integratedcircuitsnormallygetthetype(e.g.
74LS00N)astheirvalue.
Arightclickontothisiconopensalistofalreadyusedvalues.Selectanentry
andapplyittooneormorecomponentsbyclickingontothemsuccessively.

SMASH
Separatename,value,and,ifany,attributetextsfromaDevice,sothatthey
canbeplacedindividually.Thesizeofdetached(smashed)textscanalsobe
individuallychanged.AlsoincombinationwithGROUP.Ifagroupisdefined,
youcansmashitwitharightmouseclickwhiletheCtrlkeyispressed.
UseDELETEtohidesmashedtexts.

55

4 A First Look at EAGLE


Keep the Shift key pressed while using the SMASH command in order to
unsmash text. Text is not editable any more and appears at original
position(s)afterawindowrefresh(alsopossibleinthecontextmenuwith
unSmash).
AlternativelyyoucanalsoswitchonorofftheoptionSmashedinthecontext
menu'sPropertiesentry.

MITER
Round off or bevel wire joints (also possible for nets, buses, polygon
contours).Thegradeofmiteringisdeterminedbythemiterradius.Positive
signresultsinaroundedjoint,negativesigninabevel.
Themiterradius influences some wire bends, too(seehelpfunction:SET
command,Wire_Bend).

SPLIT
Insertanangleintoawireornet.

INVOKE
DevicesthatconsistofmorethanoneSymbols(Gates)canbefetchedGateby
Gate,forexampleincertainorder(GateDbeforeGateC),ifwanted.
INVOKEcanalsobeused tofetchpowersupplyGatesthatdonotappear
automatically in the Schematic. This is useful and required, for example,
whenyouareaddingdecouplingcapacitorstoyourdesign.
ThiscommandallowsyoualsotoaddaGatefromaDevicewhichislocated
onanothersheet.Insuchacase,typethenameoftheDevice(e.g.IC1)into
thecommandlineaftertheINVOKEcommandhasbeenselected.

WIRE
Drawline(thiscommandiscalledWIREbecauseitisusedtodefineelectrical
connections,i.e.wires,intheLayoutEditor).Thetypeoflinecanbechanged
with CHANGE STYLE. Clicking the right mouse button changes the bend
mode(SETWIRE_BEND).
WIREcanalsobeusedtodrawarcs.
Pleasenotetheparticularitiesincombinationwiththe Ctrl and Shift keyin
thehelpfunction:
Ifyoupress,forexample,theCtrlkeywhilestartingtodrawawire,thewire
beginsexactlyattheendofanalreadyexistingwirenearby.Evenifthiswire
isnotinthecurrentlysetgrid.Wirewidth,styleandlayerwillbeadopted
fromthealreadyexistingwire.

56

4.2 The Schematic Editor Window


TEXT
Placingtext.Use CHANGESIZEtoaltertheheightofthetext.Ifthetextis
usingavectorfont,CHANGERATIOwillalterthethickness.CHANGETEXT
isusedtoalterthetextitself.CHANGE FONTaltersthe typeface.Youcan
changelabeltextsbyassigningadifferentnametothebusortoanetby
meansoftheNAMEcommand.SeealsoLABELcommand.

CIRCLE
Drawacircle.Circleswithawidthof0aredrawnasfilledcircles.

ARC
Drawanarc(alsopossiblewithWIRE).
CHANGECAPFLAT|ROUNDdefinesstraightorroundedendsforarcs.

RECT
Drawarectangle.

POLYGON
Drawapolygon(copperareasinanyshape).

BUS
Drawabusline.Themeaningofabusismoreconceptualthanphysical.Itis
only a means to make a schematic easier to read. Only nets define an
electricalconnection.Nets,however,canbedraggedoutofabus.

NET
Draw a net. Nets with the same name are connected (even if located on
differentsheets).
Netsandpinswhichappeartotheeyetobeconnectedarenotnecessarily
electricallyconnected.PleasecheckwiththeSHOWcommand,theERC,orby
exportinganetlistorpinlist(EXPORTNETLISTorPARTLIST).Seealsothe
helpforMOVE.

JUNCTION
Place the symbol for a net connection. In general, junctions are placed
automatically,butnetswhichcrossovercanalsobejoinedmanuallybythe
JUNCTIONcommand.

57

4 A First Look at EAGLE


LABEL
Placethenameofabusornetasalabel.Labelscannotbechangedwith
CHANGE TEXT but rather with the NAME command because the label
representsthenetname.
IfthelabeloptionXREF(intheparametertoolbarorbyCHANGEXREFON)
isset,acrossreferencepointingtoanfurtherinstanceofthechosenneton
thenextsheetisgeneratedautomatically.
The cross reference label format can be defined in the menu
Options/Set/Misc, Xref label format. See the help function of the LABEL
commandforthemeaningoftheplaceholdersthatcanbeused.
Fora proper location of the object you should use a drawing frame with
classificationsforcolumnsandrows. Suchframescanbedefinedwiththe
FRAMEcommand.Thelibraryframes.lbralreadycontainssuchframes.

ATTRIBUTE
Definesanattributeforacomponent. Attributesarefreedefinableandcan
containanyinformation.
Throughthemenu Edit/Globalattributes..youcandefineattributesthatare
validforallcomponentsrespectivelyforthewholeschematic.

ERC
PerformanElectricalRuleCheckandaconsistencycheckforschematicand
board, if already existing. A positive consistency check allows the
Forward&BackAnnotationenginetorun.

58

4.2 The Schematic Editor Window

Commands Not Available in the Command Toolbar


MenuitemsalreadyexplainedintheControlPanelsectionarenotdiscussed
here.
The following commands can be entered into the command line as text
inputs.Someofthemareavailableasmenuitems.Mostofthemcanbeused
intheSchematicandintheLayoutandevenintheLibraryEditor.

ASSIGN
Assignfunctionkeys.
ThemostconvenientwayofdoingthisistousetheOptions/Assignmenu.

CLASS
Select and define net classes (Edit/Net classes...).A net classspecifiesthe
widthofatrack,theclearancefromneighbouringsignals,andthediameter
ofviasfortheAutorouterandtheROUTEcommand.Thesesettingsarealso
usedinpolygons.Seealsopage117.

CLOSE
Textcommandforclosinganeditorwindow(File/Close).

EDIT
Textcommandfor loadingafileoralibraryobject.Youcan,forinstance,
loadaboardfromtheSchematicEditor(EDITname.brd).

FRAME
DefineadrawingframefortheSchematic(Draw/Frame).Alsopossiblefora
boarddrawing.

EXPORT
Output lists (especially netlists), directories, script files, or images
(File/Export...).

LAYER
Choose or define the drawing layer. When using drawing commands the
layercanbechosenintheparametertoolbar.
To create, for example, a new layer with number 200 and layer name
Mylayer,typeinthecommandline:
LAYER 200 Mylayer
IncaseyoucreatedaLayout,forexample,withtheEAGLELightEditionand
upgraded to the Standard Edition because you would like to use its two
additionalinnersignallayers,youhavetocreatetheselayerswiththeLAYER
commandfirst:
LAYER 2 Route2
LAYER 15 Route15
59

4 A First Look at EAGLE


MENU
Specifies the contents of the text menu. See also the example in the
appendix.Thetextmenucanbemadevisiblewiththeaidof Options/User
Interface.Seehelpfunctionfordetails.

OPEN
Text command for opening a library for editing (Library/Open). This
command is not identical to the File/Open menu item of the Schematic
Editor, which only lets you select schematics. You can use the OPEN
commandasanalternativetotheFilemenuoftheControlPanel.

PACKAGE
IncasethereismorethanonePackagevariantdefinedinthelibraryfora
part(Device),atypicalexamplewouldbearesistorfromrcl.lbr,itispossible
to change the currently used Package with the PACKAGE or with the
CHANGEPACKAGEcommand.ThiscanbedoneintheSchematicorinthe
LayoutEditor.

PRINT
Calluptheprintdialogwiththe printericonintheactiontoolbar

or

fromthemenuitemFile/Print....UsuallythePRINTcommandisusedtoprint
schematicsorforcheckingthedrawingsneededforthePCBproduction.
TheactualproductiondataaregeneratedwiththeCAMProcessor.
IfyouwanttooutputyourdrawinginblackandwhitechecktheBlackoption
(andSolid,ifyoudon'twantlayerstobeprintedintheirdifferentfillstyles).
ThecaptiontextissuppressedunlessyoucheckCaption.SetPagelimitto1,if
yourdrawingistobefittedononepage.Ifyouprefertoprintthecurrently
visibledrawingwindowinsteadofthewholedrawing,selectWindowinstead
ofFullintheAreaoption.

QUIT
QuitEAGLE.IdenticalwiththemenuitemFile/ExitorAltX.

REMOVE
Deletefilesorschematicsheets.
REMOVE .S3
forinstance,deletessheet3oftheloadedschematic.

SET
Setsystemparametersandmodes.BestdoneviatheOptions/Setmenuitem.
Pleasenotethatnotallofthepossibilitiesareavailablethroughthisdialog.
Presettingscanbedefinedinthescriptfileeagle.scrbyusingtextcommands.
Furtherinformationcanbefoundinthehelpfunction.

60

4.2 The Schematic Editor Window


TECHNOLOGY
Ifapart(Device)hasbeendefinedwithvarioustechnologiesinthelibrary,
seetypicalexamplesin 74xx.lbr,itispossibletochangethecurrentlyused
technology with the TECHNOLOGY or with the CHANGE TECHNOLOGY
command.ThiscanbedoneintheSchematicorintheLayoutEditor.

UPDATE
TheUPDATEcommandchecksthepartsinaboardorschematicagainsttheir
respective library objects and automatically updates them if they are
different.(Library/Update...orLibrary/Updateall).
ThecontextmenuintheControlPanel's'treeviewofferstheOptionsUseall
andUsenoneforaquickselectionoflibraries.

WRITE
Text command for saving the currently loaded file. Please note that, in
contrastto Saveas,thenameofthecurrentlyeditedfileisneverchanged
whentheWRITEcommandisused.

Mouse Keys
Themiddleandrightmousebuttonhaveaspecialmeaningforanumberof
commands. You can use the middle mouse button only if the operating
systemknowsyourmouseisa3buttonmouse,thatisyourmousemustbe
installedthisway.
Ifyouareworkingwithawheelmouse,youcanzoomintoandoutofthe
drawingwiththehelpofthemousewheel.TheoptionMousewheelzoomin
the Options/User Interface menu determins the zooming in/out factor per
step.Thevalueissetto1.2bydefault.
Selectingavalueof0allowsyoutousethewheelforscrolling.
Keepthemousewheelorthemiddlemousebuttonpressedforpanning.
MouseclicksincombinationwiththeShift,Ctrl,andAltkeycanhavevarious
functions,forexample,whileselectingobjectswithMOVEorwhiledrawing
lineswithWIRE.
The help section on Keyboard and Mouse and the help of the referring
commandgivesyoumoredetails.

Selecting Neighbouring Objects


If one of two objects which are very close together is to be selected, the
individualobjectsarehighlightedoneaftertheother.Theusercanselectthe
highlighted objectwith the left mouse button,orproceedtothenextone
with the right mouse button. The status bar of the editor window shows
information about the preselected object. See also help function (SET
command,SELECT_FACTOR).

61

4 A First Look at EAGLE

4.3 The Layout Editor Window


TheLayoutEditorwindowopenswhenyouopenanexistingboardfileor
createanewboard.IfyouowntheSchematicEditoryouwillnormallydraw
aschematicfirstandthengeneratetheboardfilewiththeBOARDcommand,
orbyclickingtheBoardicon.

LayoutEditorwindow
The Layout Editor window appears very much like the Schematic Editor
window.Evenifyoudon'tworkwiththeSchematicEditor,youshouldstudy
theprevioussection,asmostoftheinformationthereappliestotheLayout
Editor,too.
Onlythecommandsinthecommandtoolbararediscussedagain,assome
commandsdifferintheiruse.
Descriptions of commands that cannot be reached through the command
toolbararealsotobefoundinthesectionconcerningtheSchematicEditor
window. Allof thecommandscan alsobereached throughthepulldown
menusinthemenubar.Thisalsoapplies,ofcourse,totheSchematicand
LayoutEditorwindows.

62

4.3 The Layout Editor Window

The Commands on the Layout Command Toolbar


INFO
Shows the properties of the selected object. Typing INFO IC1 in the
command line results in the properties dialog of the object named IC1.
Dependingontheselectedobjectsomeofthepropertiescanbealteredhere.

SHOW
Highlightstheobjecttobeselectedwiththemouse.
It'salsopossibletoentertheobject'sname(evenseveralnamesatonce)in
thecommandline.*and?areallowedtobeusedaswildcards,aswell.
Ctrl+SHOWtogglestheshowstateoftheselectedobject.

DISPLAY
Selectanddeselectthelayerstobedisplayed.Componentsonthetopsideof
theboardcanonlybeselectedifthelayer23,tOrigins,isdisplayed.Thesame
appliestocomponentsonthebottomsideoftheboardandlayer24,bOrigins.
OnlythosesignallayersthataredefinedintheLayersetupareshown.
SeeAppendixforthemeaningofthelayers.
TheDISPLAYcommandsupportssocalledaliases.Thisallowsyoutoname
certain combinations of layers and use it as a parameter with the LAYER
command. Aquick changefromone view toanotherlayercombinationis
possiblewiththiscommand.
DISPLAYLASTswitchestothelastdisplayedlayercombination.
DetailedinformationabouttheDISPLAYcommandcanbefoundinthehelp
function.

MARK
Thefollowingmouseclickdefinestheneworiginforthecoordinatedisplay.
Relativecoordinates(Rxvalueyvalue)andpolarvalues(Pradiusangle)are
showninadditiontoabsolutecoordinatesinthecoordinatedisplaybox.
If you first click the MARK icon and then the trafficlight icon, only the
absolutecoordinatevalueswillbedisplayedagain.

MOVE
Moveanyvisibleobject.Therightmousebuttonrotatestheobject.
TheMOVEcommandcannotconnectsignalsevenifawire(trace)ismoved
overanotherwireorapad.UseROUTEorWIREtoroutesignals.

63

4 A First Look at EAGLE


KeepingtheCtrlkeypressedwhileselectinganobjectselectsitinaparticular
manner. Pleaseconsult the helpfunction fordetails(CRICLE,ARC,WIRE,
MOVE,ROUTEetc.).
Formovinggroups,pleaseseeMOVEintheSchematicEditorsection.

COPY
Copypartsandotherobjects.
Whencopyingobjects,anewnamewillbeassigned,butthevaluewillbe
retained.Whencopyingasinglewire,thecopywillhavethesamename.
COPYcanbeusedwithgroupsandworksthesameasitwouldbewithCUT
andPASTEwithinadrawing.

MIRROR
Mirrorobjects.Componentscanbeplacedontheoppositesideoftheboard
byusingtheMIRRORcommand.

ROTATE
Rotateobjects(alsopossiblewithMOVE).Keeptheleftmousebuttonpressed
torotatetheselected objectbymoving the mouse.Theparametertoolbar
showsthecurrentangle.Thiscanbedonewithgroups(GROUPandright
mousebutton)aswell.
ROTATEcanbeusedwithgroups,aswell.ActivateROTATE,presstheCtrl
keyandclickwiththerightmousebuttonintothedrawingtosetthecenter
ofrotation.Thegroupwillberotatedcounterclockwisebythegivenangle.
Alternatively type in the angle in the Angle box or in the command line.
Detailsaboutthesyntaxcanbefoundinthehelpfunction.

GROUP
Define agroupwhichcanthen bemoved,rotated,orcopiedwithCUTand
PASTE to another drawing or whose properties should be changed. After
clickingtheicon,arectangulargroupcanbedefinedbyholdingdowntheleft
mouse button and dragging the cursor to the diagonal corner of the
rectangle,orifyouwanttodefineanonrectangulargrouparea,usetheleft
mousebuttontodeterminethecornersofthepolygon.Thenclicktheright
mousebuttontoclosethepolygon.
GROUPALLinthecommandlineselectsallobjects.
TobesurethatallobjectsareselectedDISPLAYALLlayersbefore.Onthe
otherhand,deselectingspecificlayerscanexcludecertainobjectsfromthe
selection.
Further information about GROUP can be found in the section about the
SchematicEditorandinthehelpfunction.
64

4.3 The Layout Editor Window


CHANGE
Changethepropertiesofanobject,forexamplethewidthofawireorthe
size of a text. If the Esc key is pressed after changing a property, the
previouslyusedvaluemenuwillappearagain.Inthiswayanewvaluecanbe
convenientlychosen.Seealsothehelpfunction.
Alternatively, object properties can be viewed and some of them even
changedwiththecontextmenu's Properties entry.Thecontextmenuopens
afterarightmouseclickontotheobject.

CUT
Transfertheobjectsofapreviouslydefinedgroupintothepastebuffer.
Activate the CUT command and click with the left mousebuttoninto the
grouptosetareferencepoint.
Allothercommandsexecutedwithagroupexpectarightmouseclickwhile
theCtrlkeyispressed.
NotidenticaltotheWindowscutfunction.

PASTE
Insertobjectsfromthepastebufferintothedrawing.Restrictions:seehelp.
NotidenticaltotheWindowspastefunction.

DELETE
Deletevisibleobjects.
Ifagrouphasbeendefined,itcanbedeletedwiththe right mousebutton
whiletheCtrlkeyispressed.
DELETESIGNALSinthecommandlineerasesall tracksandsignalsinthe
layout,providedthereisnoconsistentschematicloaded.
TheDELETEcommanddeletesanentirepolygonwhenclickingonapolygon
wirewiththeShiftkeypressed.
KeepingtheCtrl keypressedwhileclickingwiththeleftmousebuttonona
wirebendwill deletethebend.Anewdirectconnectionbetweenthenext
bendswillbedrawnnow.
Ifobjectscannotbedeleted,thereasoncanliewitherrorpolygonsrelatedto
the DRC command. They can be deleted with the ERRORS command
(ERRORS CLEAR). If layer 23, tOrigins, or 24, bOrigins, is not displayed,
componentscannotbedeleted.

65

4 A First Look at EAGLE


ADD
Addlibraryelementstothedrawing.Itoffersaconvenientsearchfunction
forPackageshere.USEspecifieswhichlibrariesareavailable.
ArightclickontotheADDiconopensapopupmenuthatcontainsalistof
recentlyplacedDevices.

PINSWAP
Swaptwosignalsconnectedtoequivalentpadsofacomponent,providedthe
pinshavebeendefinedwiththesameSwaplevel.

REPLACE
Replaceacomponent(oraPackage,ifthereisnoschematic)byanotherone
fromanylibrary.
IfyouwanttochangethePackagevariantonlyandnotthewholeDevice,use
CHANGEPACKAGEorthePACKAGEcommand.
ArightclickontotheREPLACEiconopensapopupmenuthatshowsalistof
recentlyreplacedcomponents.

LOCK
Locks the position and orientation of a component on the board. If a
componentislocked,youcan'tmoveitorduplicateitwithCUTandPASTE.
Shift + LOCKunlocksthecomponent.Thisisalsopossiblewiththe unLock
entryofthecontextmenu.
Tobeabletodistinguishlockedfromunlockedcomponents,theorigincross
ofalockedcomponentisdisplayedlikea'x'insteadofa'+'.
Thepositionofalockedcomponentcanbechanged,however,bytypingin
newcoordinatevaluesinthepropertiesdialog.

NAME
Givenamestocomponents,signals,vias,andpolygons.
WithNAMEit'spossibletomoveapolygonfromonesignaltoanother.

VALUE
Provide values for components. A resistor, for example, gets 100k as its
value. Arightclickontothisiconopensalistofalreadyusedvalues.Select
an entry and apply it to one or more components by clicking onto them
successively.

66

4.3 The Layout Editor Window


SMASH
Separatename,value,andattribute(ifany)textsfromaDevice,sothatthey
canbeplacedindividually.Thesizeofdetached(smashed)textscanalsobe
individuallychanged.
AlsoincombinationwithGROUP.Ifagroupisdefined,youcansmashitwith
arightmouseclickwhiletheCtrlkeyispressed.
UsetheDELETEcommandtohidesmashedtexts.
Keep the Shift key pressed while using the SMASH command in order to
unsmashtexts.Theyarenoteditableanymoreandappearattheiroriginal
positionsafterawindowrefresh(alsopossiblewith unSmashinthecontext
menu).
Alternatively you can switch on or off the option Smashed in the context
menu'sPropertiesentry.

MITER
Roundofforbevelwirejoints(alsopossibleforpolygoncontours).Thegrade
of mitering is determined by the miter radius. Positive sign results in a
roundedjoint,negativesigninabevel.
Themiterradiusinfluencessomewirebendmodes,too(seehelpfunction:
SET,Wire_Bend).

SPLIT
Insertabendintoawire.
If you want to change, for example, the layer fora sectionof an already
routedtrack,youcaninserttwowirebendswiththeSPLITcommandand
change thelayerof thenewly created segmentwiththeCHANGELAYER.
EAGLEwillsetviasautomaticallyatthepositionofthewirebends.
YoucanusetheSPLITcommandforaquickreroutingofanalreadyexisting
track.Clickontothetracktoinsertawirebend.Nowmovethemouseand
route it anew. To remove the previous track use the RIPUP command or
DELETEincombinationwiththeCtrlkey.

OPTIMIZE
Joinswiresegmentsinasignallayerwhichlieinonestraightline.

ROUTE
Route signals manually. Airwires are converted to wires. If your EAGLE
licensecomeswiththeAutoroutermodule,theROUTEcommandsupports
the Followme router mode which automatically processes the trace of a
selectedsignal.
67

4 A First Look at EAGLE


Thiscommandoffersseveraloptionswiththedifferentmousebuttons,alsoin
combinationwiththeCtrlandShiftkey.
Ctrl+Left
Shift+Left
Center
Right
Shift+Right
Ctrl+Right
Shift+Left
Ctrl+Left

startsroutingatanygivenpointalongawireorvia
iftheairwirebeginsatanalreadyexistingwireand
thiswirehasadifferentwidth,thenewwireadopts
thiswidth
selectsthelayer
changesthewirebendstyle
reversesthedirectionofswitchingbendstyles
togglesbetweencorrespondingbendstyles
placesaviaattheendpointofthewire
definesarcradiuswhenplacingawire'sendpoint

Moreinformationcanbefoundinthehelpfunction.

RIPUP
Convertroutedwires(tracks)intounroutedsignals(airwires).Changethe
displayoffilled(calculated)polygonstooutlineview.
Using signal names inthe command line allows youtoripuponlycertain
signals,toexcludeparticularsignals,ortoexecutethecommandexclusively
forpolygons.Moredetailscanbefoundinthehelpfunction.
WiresnotconnectedtocomponentsmustbeerasedwithDELETE.

WIRE
Drawlinesandarcs.Ifusedinthelayers1through16,theWIREcommand
createselectricalconnections.
The Style parameter(CHANGE)determinestheline type.TheDRCandthe
AutorouteralwaystreataWIREasacontinuousline,regardlessofwhatStyle
isused.
Clickingtherightmousebuttonchangesthewirebend(SETWIRE_BEND).
Pleasenotetheparticularitiesincombinationwiththe Ctrl and Shift keyin
thehelpfunction:
Ifyoupress,forexample,theCtrlkeywhilestartingtodrawawire,thewire
beginsexactlyattheendofanalreadyexistingwirenearby.Evenifthiswire
isnotinthecurrentlysetgrid.Wirewidth,styleandlayerwillbeadopted
fromthealreadyexistingwire.

TEXT
Placingtext.Use CHANGESIZEtoaltertheheightofthetext.Ifthetextis
usingavectorfont,CHANGERATIOwillalterthethickness.CHANGETEXT
isusedtoalterthetextitself.CHANGEFONTaltersthetypeface.
Theoption Alwaysvector font (Options/UserInterface)showsandprintsall
textsinvectorfont,regardlessofwhichfontisactuallysetforaparticular
text.
68

4.3 The Layout Editor Window


Ifyouwanttohaveinvertedtextinacopperlayer,youhavetoenterthetext
inthelayers41,tRestrict,or42,bRestrict,anddrawacopperplaneinTopor
Bottom layer around the text with the POLYGON command. The polygon
keepstherestrictedareas(whichisthetext)freefromcopper.
Itisstronglyrecommendedtowritetextsincopperlayersasvectorfont!
SoyoucanbesurethattheCAMProcessor'soutputisidenticalwiththe
textshownintheLayoutEditor.Seealsohelpfunction.

CIRCLE
Draw a circle. This command creates restricted areas for the
Autorouter/Followmerouter,ifusedinthelayers41,tRestrict,42,bRestrict,
or43,vRestrict.Circleswithwirewidth=0aredrawnasfilled.

ARC
Drawanarc(alsopossiblewithWIRE).
CHANGECAPFLAT|ROUNDdefinesstraightorroundedendsforarcs.
Ifthearcisapartofatraceandbothendsareconnectedtoawire,capswill
beround.
Arcs with flat caps are emulated when generating manufacturing data in
GerberformatwiththeCAMProcessor.Thatmeanstheywillbedrawnwith
smallshortstraightlines.Arcswithroundcapswon'tbeemulated.

RECT
Drawarectangle.ThiscommandcreatesrestrictedareasfortheAutorouter
orFollowmerouter,ifusedinthelayers41, tRestrict,42, bRestrict,or43,
vRestrict.

POLYGON
Drawapolygon.
Polygonsinthesignallayersaretreatedassignals.Theykeepanadjustable
distancetoobjectsbelongingtoothersignals(copperpouring,floodfill).This
enables you to realize different signal areas on the same layer and make
isolatedregionsforyourdesign.
Thecontourofapolygonintheoutlinemodeisdisplayedasadottedline.
ThePOLYGONcommandcreatesrestrictedareasfortheAutorouter/Follow
merouter,ifusedinthelayerstRestrict,bRestrict,orvRestrict,.
ForotherpossibilitiesofthePOLYGONcommandseehelp.

69

4 A First Look at EAGLE


VIA
Place a platedthrough hole. Vias are placed automatically if the layer is
changedduringtheROUTEcommand.Youcanassignaviatoasignalwith
theNAMEcommandbychangingit'snametothenameofthesignal.Vias
canhavedifferentshapesintheouterlayers(round,square,octagon),but
arealwaysroundininnerlayers.

SIGNAL
Manual definition of a signal. This is not possible if the Forward&Back
Annotationisactive.Inthatcaseyouhavetodefinetheconnectionwiththe
NETcommandintheSchematicEditor.

HOLE
Defineamountinghole(notplatedthrough).

ATTRIBUTE
Definesanattributeforacomponent.
Throughthemenu Edit/Globalattributes..youcandefineattributesthatare
validforthewholelayout.

RATSNEST
Calculatetheshortestairwirespossibleandtherealmode(filled)displayof
polygons.
UsetheRATSNESTcommandwithasignalnameinordertocalculateand
displayor hideacertain airwire. Aprecedingexclamationmarkhidesthe
airwiresofthegivensignalname.Moreinformationcanbefoundinthehelp
function.
ThepolygoncalculationcanbedeactivatedwiththeSETcommand.Either
throughthemenuOptions/Set/Miscorbytypinginthecommandline:
SETPOLYGON_RATSNESTON|OFForinshort:SETPOLYON|OFF.
RATSNEST will be executed automatically for the selected signal while
drawingawirewithROUTE.
WhileRATSNESTisactivethestatusbaroftheLayoutEditordisplaysthe
nameofthecurrentlycalculatedsignal.

AUTO
StarttheAutorouter.
IfyoutypeAUTO FOLLOWMEinthecommand line,the Autorouter Setup
windowopensinthefollowmemode,whichallowstosettheparametersfor
thefollowmerouteronly.
70

4.3 The Layout Editor Window


ERC
Performaconsistencycheckforschematicandboard.

DRC
DefineDesignRulesandperformDesignRuleCheck.

ERRORS
Showerrors found by theDRC.Ifyouhaven'talreadyprocessedaDesign
RuleCheckfortheboard,itwillbedoneautomaticallybeforeshowingthe
errorlist,ifthereareanyerrorsfound.
TherearefurthercommandsfortheLayoutEditor,astheyareinthe
Schematic,thatarenotavailableintheCommandMenu.Pleasetakea
lookatthesectionbeginningwithpage 59.Mostofthemarevalidin
SchematicandLayout.

4.4 The Library Editor Window


TheLibrary Editorwindowopens when youloadalibrary forcreatingor
editing components. A library normally has three different elements:
Packages,SymbolsandDevices.
APackageisaDevice'shousing,aswillbeusedintheLayoutEditor
(ontheboard).
TheSymbolcontainsthewayinwhichtheDevicewillbeshowninthe
schematic.
TheDevicerepresentsthelinkbetweenone(ormore)Symbol(s)and
aPackage.HerewedefinetheconnectionbetweenapinofaSymbol
andthereferringpadofthePackage.
WecallitaDevicesetifthecomponentexistsinmorethanone
Packageand/ortechnologyvariant.
EvenifyoudonothavetheSchematicEditor,youcanstillcreateandedit
SymbolsandDevices.
Alibraryneednotcontainonlyrealcomponents.Groundorsupplysymbols
aswellasdrawingframescanalsobestoredasDevicesinalibrary.These
Symbolsdonotnormallycontainanypins.
TherearealsolibrariesthatonlycontainPackages.Theselibrariescanonly
beusedintheLayoutEditor.
Extensiveexamplesofthedefinitionoflibraryelementsaretobefoundina
section entitled Component Design Explained through Examples, starting on
page201inthismanual.
Whenalibraryisloadedthefollowingwindowappearsfirst:
71

4 A First Look at EAGLE

LibraryEditorwindow:Noelementhasyetbeenloaded

Load or Rename Package, Symbol, or Device


Thefollowingcommandsareimportantfornavigatingwithinalibrary:

EDIT
LoadDeviceorPackage(ifyouonlyhavetheLayoutEditor)forediting.

From the left: Load Device, load Package, load Symbol. These icons are
shownintheactiontoolbar.
Ifyouclickononeoftheseiconswiththerightmousebutton,orlongclick
withtheleftmousebuttonononeofthesesicons,alistwiththerecently
editedobjectswillpopup.

REMOVE
Delete Device/Package/Symbol from library. Available only through the
Library menuorthecommandline.Seehelpfunctionorthechapterabout
LibraryandPartManagementinthismanualformore.

72

4.4 The Library Editor Window


RENAME
Rename Device/Package/Symbol in library. Available only through the
Library menuorthecommandline.Seehelpfunctionorthechapterabout
LibraryandPartManagementinthismanualformore.

The Package Editing Mode


Thedefinitionofacomponentisdescribed brieflybelow.Thereisamore
extensiveguideintheComponentDesignExplainedthroughExamplessection.
Theiconsavailableinthecommandtoolbarareequivalenttotheidentical
iconsoftheSchematicorLayoutEditor.

Design New Package


YouchangeintoPackageeditingmodethroughthePackageicon

inthe

actiontoolbar.Typeinthenameofapackage,andreplytotheconfirming
questionCreatenewpackage'packagename'?withyes.
Place pads (thoughhole contacts) or SMDs (SMD contact areas) with the
followingcommandswhichareonlyavailableinthePackageEditor.

PAD
Placethepadofaconventional(throughhole)component.
Thepadcomeswithaplatedthroughdrillthatgoesthroughallsignallayers.
The pad shape can be round, square, octagonorlong in the outer signal
layers.Intheinnersignallayerspadsarealwaysround.

SMD
PlaceaSMDpad.
YoucanchangethenameofthepadsorSMDswiththeNAMEcommand.
UsetheWIRE,ARC,etc.commandstodraw
thesymbolforthesilkscreenonlayer21,tPlace,
additionalgraphicalinformationforthedocumentationprint
intolayer51,tDocu.
DrawrestrictedareasfortheAutorouter,ifneeded,inlayers41,tRestrict,42,
bRestrict,or43,vRestrict,orinlayers39,tKeepout,or40,bKeepout,byusing
thecommandsCIRCLE,RECT,orPOLYGON.
PlacemountingholeswiththeHOLEcommand,ifneeded.
UsetheTEXTcommandtoplace
thestring>NAMEinlayer25,tNames,servingasatextvariable
containingthenameofthecomponent,

73

4 A First Look at EAGLE


thestring>VALUEinlayer27,tValues,servingasatextvariable
containingthevalueofthecomponent.
UsetheDESCRIPTIONcommandtoaddadescriptionforthePackage.
HTMLtextformatcanbeusedforthis.Youwillfindfurtherinformationin
thehelppages.

The Symbol Editing Mode


DefiningaSymbolmeansdefiningapartofaDevicewhichcanbeplaced
individuallyinaschematic.Inthecaseofa74L00thiscouldbeoneNAND
gateandthetwopowerpins,definedasanotherSymbol.Inthecaseofa
resistor,theDevicecontainsonlyoneSymbolwhichistherepresentationof
theresistor.
YounowchangeintoSymboleditingmodethroughtheSymbolicon

in

theactiontoolbar.EnterthenameoftheSymbol,andreplytotheconfirming
questionCreatenewsymbol'symbolname'?withYes.

Design a New Symbol


UsethecommandsWIRE,ARC,etc.todrawtheschematicrepresentationof
theSymbolintolayer94,Symbols.
PlacethepinsbyusingthefollowingPINcommand,whichisonlyavailable
intheSymboleditingmode:

PIN
Placepins.
Youcanadjustthepinparameters(name,direction,function,length,visible,
Swaplevel)intheparametertoolbarwhilethePINcommandisactive,orlater
withtheCHANGEcommand.Thepinparametersareexplainedstartingon
page 206 and in the help pages under the keyword PIN. Pin names are
changedusingtheNAMEcommand.
UsetheTEXTcommandtoplace
thestring>NAMEinlayer25,tNames,servingasatextvariable
containingthenameofthecomponent,
thestring>VALUEinlayer27,tValues,servingasatextvariable
containingthevalueofthecomponent.

The Device Editing mode


ComponentsaredefinedasDevices.IntheDeviceeditingmodeyoudonot
drawanything,butyoudefinethefollowing:
whichPackagevariantisused,
whichSymbol(s)is/areused(calledGatewithintheDevice),
whichnamesareprovidedfortheGates(e.g.A,B),
74

4.4 The Library Editor Window


whichtechnologiesareavailable(e.g.74L00,74LS00,74HCT00),
iftheDeviceshouldhaveadditionaluserdefinableattributes,
ifthereareequivalentGateswhichcanbeinterchanged(Swaplevel),
howtheGatebehaveswhenaddedtoaschematic(Addlevel),
theprefixforthecomponentname,ifaprefixisused,
ifthevalueofthecomponentcanbechangedorifthevalueshouldbe
fixedtotheDevicename,
whichpinsrelatetothepadsofthePackage(CONNECTcommand)
whetheradescriptionforthiscomponentshouldbestoredinthe
library.
Thefollowingdiagramshowsthefullydefined7400DevicewithfourNAND
gatesandasupplygateinvariousPackageandtechnologyversions.
Ifyouclickontooneofthegateswiththerightmousebutton,thecontext
menuwiththeexecutablecommandspopsup.Furthermoreyoucandisplay
thePropertiesofthegate.ClickonEditSymboltoopentheSymbolEditor.

DeviceEditorwindow

Create Actual Components from Symbols and Packages


Switch totheDevice editing modeby clickingthe Device icon

in the

actiontoolbar.TypeintheDevicenameandconfirmthequestionCreatenew
device'devicename'?withYes.
75

4 A First Look at EAGLE


UsethefollowingcommandstocreateaDevice.

ADD
Add a Symbol to a Device. Gate name, Swaplevel, and Addlevel can be
definedin theADDcommandintheparametertoolbar,orredefinedlater
withtheCHANGEcommand.
TheSwaplevelspecifieswhetherthereareequivalentGates.
TheAddleveldefines,forinstance,ifaGateistobeaddedtotheschematic
onlyontheusersrequest.Example:thepowergateofanintegratedcircuit
whichisnormallynotshownontheschematic.

NAME
ChangeGatename.

CHANGE
ChangeSwaplevelorAddlevel.

PACKAGE
DefineandnamePackagevariant(s).ThePACKAGEcommandisstartedby
clickingontheNewbuttonintheDeviceEditorwindow,orbytypingonthe
commandline.ChoosetherequestedPackagevariant.
Moreinformationaboutthiscanbefoundonpage251.

CONNECT
Definewhichpins(Gate)relatetowhichpads(Package).

PREFIX
Provideprefixforthecomponentnameintheschematic(e.g.Rforresistors).

VALUE
IntheDevicemode,VALUEisusedtospecifywhetherthecomponentvalue
canbefreelyselectedfromwithintheschematicdiagramorthelayout,or
whetherithasafixedspecification.
On:Thevaluecanbechangedfromwithintheschematic(e.g.forresistors).
Thecomponentisnotfullyspecifieduntilavaluehasbeenassigned.
Off: The value corresponds to the Device name, including, when present,
assignmentofthetechnologyandthePackageversion(e.g.74LS00N).
EvenifValueisOff,thevalueofacomponentcanbechanged.Aquerychecks
ifthisactionisintended.
Thealteredvalueofthecomponentremainsunchanged,iftheTechnologyor
the Package version is altered later with CHANGE PACKAGE or CHANGE
TECHNOLOGY.
76

4.4 The Library Editor Window


TECHNOLOGY
If necessary, various technologies canbe defined,forexample,foralogic
component.ClickonTechnologiestherefore.

ATTRIBUTE
Click on Attributes to define any additional attribute for the Device. A
detailed description can be found in the chapter about libraries in this
manual.

DESCRIPTION
Compose a description of the Device which can also be examined by the
searchfunctionassociatedwiththeADDdialog.
Information about Copying of Packages, Symbols and Devices can be
foundfrompage256on.

4.5 The CAM Processor


ManufacturingdataisgeneratedbymeansoftheCAMProcessor.Anumber
ofdriversforthedataoutputareavailable.Thedriversaredefinedinthefile
eagle.def,whichcanbeeditedwithanyTextEditor.
Outputtomatrixprinters,however,isnotcreatedwiththeCAMProcessor
butwithaPRINTcommand.
TheEAGLElicenseconditionsallowyoutogivetheCAMProcessortoyour
boardmanufacturer.YouonlyneedtosupplythemwithacopyoftheEAGLE
Light Edition. TheCAMProcessorofEAGLE Lightrunswithoutlimitation.
Alternatively,EAGLELightcanbedownloadedfromCadSoft'swebserver.

77

4 A First Look at EAGLE

TheCAMProcessor
TheCAMProcessorcanalsobestarteddirectlyfromthecommandline.A
numberofcommandlineparameterscanbepassedtoitwhenitiscalled.
Thesearelistedintheappendix.
Pleasedonotpassonyourpersonalinstallationcode!Thisispunishable
bylaw!

Generate Data
Starting the CAM Processor
TherearedifferentwaystostarttheCAMProcessor:
YoucandothisdirectlyfromtheLayoutorSchematicEditorwindowwith
the CAM Processor icon
in the action toolbar or through the menu
File/CAM Processor. The current schematic or board will be loaded
automaticallyfromtheControlPanelbyclickingononeoftheentriesinthe
Tree View's CAM Jobs branch. Then the selected CAM Job will be loaded
automatically.Youstillhavetoloadtheschematicorboardfromwhichyou
want to make the CAM Processor manufacturing data from through the
File/Openmenubyusingthecommandprompt(Windowscommandprompt,
Terminal or Console window) without graphical user interface. Particular
informationcanbefoundintheappendixchapteraboutEAGLEOptions.
78

4.5 The CAM Processor


Load Job File
A job defines the sequence of several output steps in an automatic data
creation task. You can, for example, use a jobtogenerate individualfiles
containingtheGerberdataforseveralPCBlayers.
Ajobisloadedwiththe File menuoftheCAMProcessororwithadouble
clickononeoftheTreeview'sCAMJobsentriesintheControlPanel.
Ajobisnotabsolutelyessentialforoutput.Allthedatacanbemadestepby
stepmanually.

Load Board
BeforeyoucangenerateanoutputyoumustopentheFilemenuandloada
board file, if not already loaded automatically while stating the CAM
ProcessorfromanEditorwindow.AtthebottomleftintheCAMProcessor
windowyouwillseethefilenamethedataisbeinggeneratedfrom.
TheoutputofdataforaSchematic,forexampleforacertainplotter,isalso
possible.

Set Output Parameters


Ifajobfileisloaded,theoutputparametersarealreadyadjusted.Ajobcan
containseveralsectionswithdifferentparametersets.Thevariousperipheral
devicesacceptdifferentparameters.
Ifnojobisloaded,settheparameterstowhateveryouneed(seepage280).

Start Output
Ifyouwanttoexecutethejobwhichhasbeenloaded,clickthe ProcessJob
button.Ifyoujustwanttogetanoutputusingthecurrentlyvisibleparameter
settings,clicktheProcessSectionbutton.

Define New Job


Performthefollowingstepstodefineanewjob:
1.ClickAdd,toaddanewsection.
2.Setparameters.
3.Repeat1.and2.ifnecessary.
4.SavejobwithFile/Savejob.
TheDescriptionbuttonallowstodescribethejobfile.Thisdescriptionwillbe
shownintheControlPanel.
The chapter on Preparing the Manufacturing Data contains detailed
informationonthissubject.

4.6 The Text Editor Window


EAGLEcontainsasimpleTextEditor.
79

4 A First Look at EAGLE


Youcanuseittoeditscriptfiles,UserLanguageprogramsoranyothertext
file.TheEAGLETextEditorstoresitsfileswithUTF8encoding.
The menus bring you to a variety of functions, such as commands for
printing,copyingandcutting,searching,replacing(withsupportofRegular
Expressions),changingfontandsize,andsoon.
ThekeyboardshortcutsintheEAGLETextEditorfollowtheplatformspecific
standards.
WhenintheTextEditor,therightmousebuttoncallsupacontextmenu.

TheTextEditor
In case you prefer an external text editor, define theprogram call in the
ControlPanel'sorinoneoftheEditorwindow'sOption/Userinterfacemenu,
External texteditor. Ifyou wanttopreventEAGLEtostartanytexteditor
automatically,typeinaminussign''intheExternaltexteditorline.Clearthe
lineforthebuiltinEAGLEtexteditor.
Pleasenotefurtherinformationabouttheusageofanexternaltexteditorin
thehelpfunction,sectionEditorwindows/TextEditor.

80

Chapter 5
Principles for Working with EAGLE
5.1 Command Input Possibilities
UsuallythecommandsinEAGLEareexecutedbyclickinganiconoranitem
inthemenubarandthenclickingontotheobjectyouwanttoedit.Butthere
arealsoalternativetoexecutecommands.
PossibilitiesforcommandinputinSchematic,Layout,andLibraryEditor:
clickingacommandicon
typingtextcommandsinthecommandline
throughthecontextmenu
viafunctionkeys
viascriptfiles
viaUserLanguageprograms
InanycaseitisnecessarytounderstandthesyntaxoftheEAGLEcommand
languagewhichisdescribedinthefollowingsection.
A detailed description of the EAGLE commandscanbefoundonthehelp
pages.

Activate Command and Select Object


TheclassicalwayofworkingwithEAGLEistoactivatethecommandfirst,
andthenchoosetheobjectyouwanttohaveitexecutedon.Forexample,
firstactivatetheMOVEcommandbyclickingtheiconinthecommandmenu
orselecting the command inone ofthe menus,andfinallyclickontothe
objectyouwanttomove.

Command Line
Asanalternativetothepreviouslymentionedclickingontoaniconyoucan
usethecommandline. Whenenteringcommandsyoumayabbreviatekey
wordsaslongastheycannotbemistakenforanotherkeyword,oryoumay
usesmallorcapitalletters(theinputisnotcasesensitive),forexample:
CHANGE WIDTH 0.024
isequivalentto
cha wi 0.024
81

5 Principles for Working with EAGLE


TheactualunitforthevaluesissetintheGRIDmenu. It'salsopossibleto
specifytheunitdirectlyinthecommandlinewithoutchangingthecurrently
setgrid:
CHANGE WIDTH 0.6MM
or
cha wid 24mil
Mostcommandscanbeexecuted whilstdeclaringcoordinatevaluesinthe
commandline.
Examples:
MOVE IC1>VALUE (2.50 1.75) ;
ThevalueplaceholdertextforpartIC1movestoposition2.501.75inthe
layout,providedithasbeenreleasedwiththeSMASHcommandbefore.
MIRROR U1;
PartU1willbemirroredtothebottomsideoftheboard.
HOLE 0.15 (5 8.5) ;
Placeaholewithdrilldiameter0.15atposition58.5.
VIA 'GND' 0.070 round (2.0 3.0) ;
Aroundshapedviawithadiameterof0.070belongingtosignalGNDwillbe
placedatposition2.03.0.

History Function
YoucanrecallthemostrecentlyenteredcommandsbypressingCrsrUp()
or CrsrDown () and edit them. The Esc key deletes the contents of the
commandline.

The Context Menu


Anotherwayof usingEAGLEistowork with theobjectspecificcommand
menu.Inthiscaseyoufirstclickwiththerightmousebuttonontotheobject
andthenyouselectthecommandthatyouwanttohaveexecuted.
The context menu contains all commands that can be executed with the
selected object. Additionally you can display all the object's properties by
clickingontothePropertiesentry.Someofthemcanbeevenchangeddirectly
inthePropertieswindow.

82

5.1 Command Input Possibilities

ThecontextmenuforaDeviceintheSchematic

Function Keys
Textsmaybeallocatedtothefunctionkeysandtocombinationsofthosekeys
withAlt,Ctrl andShift(forMacOSXadditionally Cmd),ifnotoccupiedby
theoperatingsystemoraLinuxWindowManager(forexampleF1forhelp).
Ifafunctionkeyispressed,thiscorrespondstothetextbeingtypedinviathe
keyboard.Sinceevery commandiscapableofbeingenteredastext,every
command,togetherwithcertainparameters, canbeassignedtoafunction
key.Evenwholesequencesofcommandscanbeassignedtoafunctionkeyin
thisway.
Thecommand
ASSIGN
displays the current function key assignments. Changes to the key
assignmentscanbecarriedoutintheassignwindow.
TheNewbuttoncanbeusedtodefineanewkeyassignment.AclickontoDel
will delete a marked entry, while Change alters anexistingdefinition. OK
closesthedialogandsavesthedefinitions,whileCancelabortsthedialog.
These settings can also be made via the Options/Assign menu in the
SchematicorLayoutEditor.

83

5 Principles for Working with EAGLE

ThedialogfortheASSIGNcommand
TopredefinecertainassignmentsyoucanalsousetheASSIGNcommandin
thefileeagle.scr(seepage105).
Examples:
ThecombinationofCtrl+Shift+Gdisplaysagridof0.127mm:
ASSIGN CS+G 'GRID MM 0.127 ON;';
ThecombinationofAlt+F6changesthelayertoTopandstartstheROUTE
command:
ASSIGN A+F6 'LAYER TOP; ROUTE';
ThecombinationofthekeysAlt+RdisplaysonlythelayersTop,Pads,Vias
andDimensionfirstandthenstartstheprintoutwiththedefaultprinter:
ASSIGN A+R 'DISPLAY NONE 1 17 18 20; PRINT;';
A,C,M,andSarethemodifiersfortheAlt,Ctrl,Cmd(MacOSXonly),and
Shiftkey.
ThecombinationofAlt+0bringstheControlPanelintotheforeground.The
combinations Alt+1 upto 9 areassignedtothevarious editorwindows,
accordingtothewindownumberwhichisshownintherespectivetitlebar.

84

5.1 Command Input Possibilities

Script Files
Script files are a powerful tool. They can contain long sequences of
commands,suchasthespecificationofspecificcolorsandfillpatternsforall
layers, as for example in defaultcolors.scr. On the other hand they might
containnetlistsconvertedfromthedataofotherprograms.
TheSCRIPTcommandisusedtoexecutescriptfiles.
ManyUserLanguageprograms(ULP)createscriptfilesthatcanbereadin
ordertomodifyalayoutoraschematic.
EAGLEoutputsanentirelibrary,forinstance,asascriptfilewiththeaidof
the EXPORT command(Netscript option).Thisfilecanbemodifiedwitha
texteditor,afterwhichitcanbereadinagain.Thisallowschangestobe
madetoalibraryquiteeasily.
Thereismoreinformationaboutscriptfilesandexportcommandslaterin
thischapter.

Mixed Input
Thevariousmethodsofgivingcommandscanbemixedtogether.
You can, for instance, click the icon for the CIRCLE command (which
corresponds to typing CIRCLE on the command line), and then type the
coordinatesofthecenterofthecircleandofapointonthecircumferencein
thisform
(2 2) (2 3)
inthecommandline.
Thevaluesusedabovewould,iftheunitiscurrentlysettoinch,resultina
circle with a radius of one inch centered on the coordinate (2 2). It is
irrelevantwhethertheCIRCLEcommandisenteredbyiconorbytypingon
thecommandline.
SomeEAGLEcommandsareusedincombinationwiththeShift,Altor
Ctrlkeys.IncaseyouareworkingwithEAGLEforMacOSX,pleaseuse
theCmdkeyinsteadofCtrl.

5.2 The EAGLE Command Language


YouonlyneedaknowledgeoftheEAGLEcommandlanguageifyouwantto
makeuseofthealternativeinputmethodsdiscussedintheprevioussection.
ThesyntaxoftheEAGLEcommandlanguagewillbediscussedinthissection,
andtypographicalconventions, whichareimportantforunderstandingthe
descriptions,willbespecified.

85

5 Principles for Working with EAGLE

Typographical Conventions
Enter key and Semicolon
IfEAGLEcommandsareenteredviathecommandlinetheyarefinishedwith
theEnterkey.Insomecasesacommandmusthaveasemicolonattheend,so
thatEAGLEknowsthattherearenomoreparameters.Itisagoodideato
closeallcommandsinascriptfilewithasemicolon.
TheuseoftheEnterkeyissymbolizedatmanyplaceswithinthishandbook
withthesign.
However in the following examples neither the Enter key sign nor the
semicolonareshown,sinceallofthesecommandscanbeusedbothonthe
commandlineandwithinscriptfiles.

Bold Type or Upper Case


CommandsandparametersshownhereinUPPERCASEareentereddirectly.
When they are entered, there is no distinction made between upper and
lowercase.Forexample:
Syntax:
GRID LINES
Input:
GRID LINES

or

grid lines

Lower Case
Parametersshownhereinlowercasearetobereplacedbynames,numbers
orkeywords.Forexample:
Syntax:
GRID grid_size grid_multiple
Input:
GRID 1 10
Thissetsthegridto1mm(assumingthatthecurrentunitissettomm).
Every tenth grid line is visible. The figures 1 and 10 are placed into the
commandinsteadoftheplaceholdersgrid_sizeandgrid_multiple.

Underscore
Inthenamesofparametersandkeywordstheunderscoresignisoftenused
intheinterestsofaclearerrepresentation.Pleasedonotconfuseitwithan
empty space. As can be seen in the example above, grid_size is a single
parameter,asisgrid_multiple.
Ifakeywordcontainsanunderscoresign,suchasCOLOR_LAYERdoesinthe
command
SET COLOR_LAYER layer_name color_word
thenthecharacteristobetypedinjustlikeanyother.Forexample:
86

5.2 The EAGLE Command Language


SET COLOR_LAYER BOTTOM BLUE

Spaces
Whereveraspaceispermissible,anynumberofspacescanbeused.

Alternative Parameters
The|charactermeansthattheparametersarealternatives.Forexample:
Syntax:
SET BEEP ON | OFF
Input:
SET BEEP ON
or
SET BEEP OFF
Thebeep,whichistriggeredbycertainactions,isswitchedonoroff.

Repetition Points
The .. characters mean either that the function can be executed multiple
times, or that multiple parameters of the same type are allowed. For
example:
Syntax:
DISPLAY option layer_name..
Input:
DISPLAY TOP PINS VIAS
Thelayernumbercanalternativelybeused:
DISPLAY 1 17 18
Morethanonelayerismadevisiblehere.
Ifalayer(inthiscaseBottom)istobehidden:
DISPLAY -16

Mouse Click
Thefollowingsign usually means thatat thispointinthecommandan
objectistobeclickedwiththeleftmousebutton.
Forexample:
MOVE
Input:
MOVE (or
Mouse click
Mouse click
Mouse click
and so on.

click the icon)


on the first object to be moved
on the destination
on the second object to be moved

87

5 Principles for Working with EAGLE


Youcanalsoseefromtheseexampleshowtherepetitionpointsaretobe
understoodinthecontextofmouseclicks.

Entering Coordinates as Text


Theprogramseeseverymouseclickasapairofcoordinates.Ifitisdesiredto
entercommandsintextformonthecommandline,theninsteadofclicking
withthemouseitispossibletoenterthecoordinatesthroughthekeyboardin
thefollowingform:
(xy)
where x and y are numbers representing units as selected by the GRID
command.Thetextualinputmethodisnecessaryinparticularforscriptfiles.
Thecoordinatesofthecurrentcursorpositioncanbefetchedwith(@).For
example:
WINDOW (@);
Examplesofcoordinateentryintextform:
Youwanttoentertheoutlineofacircuitboardwithprecisedimensions.
GRID MM 1;
LAYER DIMENSION;
WIRE 0 (0 0) (160 0) (160 100) (0 100) (0 0);
GRID LAST;
The first step is to switch to a 1 mm grid. The dimension layer is then
activated.TheWIREcommandthenfirstsetsthelinewidthto0anddrawsa
rectangle with the aid of the four given coordinates. The last command
returns the grid to whatever had previously been selected, since circuit
boardsareusuallydesignedusinginches.

Relative values:
Itispossibletouserelativecoordinatevaluesintheform(Rxy)whichrefer
toareferencepointsetwiththeMARKcommandbefore.Ifyoudon'tseta
referencepointtheabsoluteoriginofthecoordinatesystemwillbetaken.
Settingaviarelativetothereferencepoint:
GRID MM 0.5;
MARK (20 10);
VIA (R 5 12.5);
MARK;
FirstthegridissettoMillimetres,thenthereferencepointattheposition(20
10)isplaced.Theviaislocatedatadistanceof5mminxand12.5mminy
directionfromthethispoint.Thenthereferencepointisremoved.

Polar values:
Polarcoordinatesaregivenintheformof(Pradiusangle).

88

5.2 The EAGLE Command Language


GRID MM;
MARK (12.5 7.125);
LAYER 21;
CIRCLE (R 0 0) (R 0 40);
PAD (P 40 0);
PAD (P 40 120);
PAD (P 40 240);
Thisexamplesshowshowtosetthereferencepointatposition(12.57.125).
Thenacirclewitharadiusof40mmisdrawninlayer21,tPlace.Threepads
areplacedonthecircumferencewithanangleof120.
Herethecircleiseasilydrawnwiththehelpofrelativecoordinates.Sowedo
nothavetoworryaboutabsolutevaluesofapointonthecircumferencefor
thesecondcoordinatespairtodeterminethecircle.

Right Mouse Click:


The>characterwithinparenthesisrepresentsarightmouseclick.Thatway
onecanmoveawholegroup,forexample:
MOVE (> 0 0) (10 0);
Thepreviouslyselectedgroupwillbemoved10unitsinxdirection.

Modifier:
Withinparenthesisonecanusesomemodifiers.Forcombinationsyoudon't
havetocareabouttheorder:
A representsthepressedAltkey,thealternativegrid
C representsthepressedCtrlkey,MacOSX:Cmd
S representsthepressedShiftkey
R relativecoordinates
P polarcoordinates
> rightmouseclick
CandScausemiscellaneouscommandstobehaveindifferentmanners.More
informationcanbefoundinthehelpfunctionoftherespectivecommand.
Ifthecommandsarebeingreadfromascriptfile,eachonemustbeclosed
withasemicolon.Intheabovecasesthesemicolonscanbeomittedifthe
commandsarebeingenteredviathekeyboardandeachisbeingclosedwith
theEnterkey.
Examples:
Acomponentistobetransposedtoaspecifiedposition.
GRID MM 1;
MOVE IC1 (120 25) ;

89

5 Principles for Working with EAGLE


Alternativelyyoucanusetheobject'scoordinates:
MOVE (0.127 2.54) (120 25);
IC1islocatedatcoordinates(0.1272.54)andismovedtoposition(12025).
ThecurrentpositionofaDevicecanbeobtainedwiththeaidoftheINFO
command.
INFO IC1
WhenaSymbolisdefined,apinisplacedatacertainposition.
PIN 'GND' PWR NONE SHORT R180 (0.2 0.4) ;
Youdrawarectangularforbiddenareainlayer41tRestrict:
LAYER TRESTRICT;
RECT (0.5 0.5) (2.5 4) ;

5.3 Grids and the Current Units


EAGLEperformsitsinternalcalculationsusingabasicgridsizeof
1/10000mm(0.1micron).Anymultipleofthatcanbesetastheworking
grid.
Microns,mils,inchesandmmcanbeusedfortheunit.Thecurrentunitas
setwiththeGRIDcommandappliestoallvalues.
Youshouldalwaysusethepreset0.1inchgridforschematicdiagrams!
This grid should also be used when defining Symbols in the Library
Editor!
Whenstartingthedesignofcircuitboardsorlibrariesitpaystogiveprior
thoughttothequestionofwhichgridsize(orsizes)willbeusedasabasis.
Forexample,itisonlytheoriginofaPackagethatwillbepulledontothe
board'splacementgrid.AllotherobjectsconstitutingthePackage(suchas
pads)areplacedrelativetothatpointontheboard,justasitwasdefinedin
thelibrary.
Thebasicruleforboardsis:alwaysmakethegridasbigaspossibleand
assmallasnecessary.
Various grid sizes can be presetin the eagle.scr filefordifferent typesof
editorwindows(seepage99).
ThecurrentgridSizeissetinthegridmenu.Theunitschoseninthecombo
boxareused.
The Multiple option indicates how many grid lines are displayed. If, for
instance,thevalue5isenteredatMultiple,everyfifthlinewillbedisplayed.

90

5.3 Grids and the Current Units

TheGridmenu
The Alt line allows to set an alternative grid which can be activated by
pressingthe Alt key(while,forexample,MOVE,ROUTE,ADD,orWIREis
active). This can be very useful for placing parts in a dense layout or
arranging labels in the schematic. If you decide not to place it in the
alternativegridandreleasetheAltkeybeforeplacingit,theobjectstaysinits
origingrid.
Stylespecifiesthewayitisdisplayed:LinesorDots.
TheoptionsOnandOffunderDisplayswitchthegriddisplayonoroff.
Finestsetsthefinestgridthatispossible.
Clickingondefaultwillselecttheeditor'sstandardgrid.
Beginningwithacertainzoominglimit,gridlinesarenotdisplayedanymore.
ThislimitcanbesetinthemenuOptions/Set/Misc,Min.visiblegridsize.
Gridlinesandgriddotscanhaveanycolor.Clickthecoloredbuttonofthe
respective palette (depends on the background color) in the menu
Options/Set/Colorsandselectthecolorasrequested.Thiscanalsobedonein
thecommandline,forexample:
SET COLOR_GRID BLUE
Insteadofthecolornamethecolornumbercanbegiven,aswell.Itcanbein
therange0..63.Theshowncolordependsonthe(self)definedcolorsofthe
currentpalette.
SeealsothehintsconcerningColorsettingsonpage100.

5.4 Aliases for DISPLAY, GRID, and WINDOW


ForthecommandsDISPLAY,GRID,andWINDOWyoucandefinesocalled
aliases.Thisisasetofparameterswhichyoucansavewithanynameand
executeditwiththecommand.Toaccesssuchanaliassimplyclickwiththe
rightmousebuttonontothecommandicon.
Thealiasesarestoredinthe eaglerc fileforSchematic,Layout,andLibrary
separately.TheyareavailableforallSchematics,Layout,andLibrariesthen.
91

5 Principles for Working with EAGLE

Example: DISPLAY Alias


DisplaythelayersyouwanttoseeintheLayoutEditorwiththe
DISPLAYcommand,forexampleTop,Pads,Vias,andDimension
RightclickontotheDISPLAYicon

andapopupmenuappears

SelecttheNew..entry
Enterthenameofthealias,forexampleTop_view
ClicktheOKbutton
FromnowonthepopupmenuoftheDISPLAYiconcontainstheentryTop
view.
Ifyoupreferthecommandlineforactivatingthisaliasyouhavetoenter:
DISPLAY TOP_VIEW

or

disp top_v

Itdoesnotmatterifyouwriteinupperorlowercaselettershers.Youmay
useabbreviationsaslongasthenameisclear.
Therearenolimitationtothenumberofaliasesused.
UseDISPLAY LASTinthecommandlineortheentryLastoftheDISPLAY's
popupmenuicontoreturntothelastlayerselection.
MoredetailscanbefoundonthehelppageoftheDISPLAYcommand.

Example: GRID Alias


The how to and the function of a grid alias is exactly the same as it is
explainedfortheDISPLAYcommand.Settheappropriategridinoneofthe
Editor windows, rightclick onto the GRID icon

,and select the New..

entryinthepopupmenutodefinethealias.
Thiscanbedoneinthecommandlineaswell.forthegridcommanditcould
looklikethis:
GRID = My_Grid inch 0.005 lines on
Thecommand
grid my_grid

orinshort

gri my

executes the alias. The command is case insensitive, the alias can be
abbreviated.

Example: WINDOW Alias


TheWINDOWcommandallowsyoutodefineanaliasforacertainpartofthe
drawingarea.Aliaseshelpyoutonavigatecomfortablyfromonelocationto
anotherinyourdrawing.ThedefinitionofaWINDOWaliasissimilartothe
DISPLAYaliasasdescribedabove:
Selecttheappropriatedisplaywindowinthedrawing

92

5.4 Aliases for DISPLAY, GRID, and WINDOW


RightclickontotheSelecticonoftheWINDOWcommand

to

openthepopupmenu
ClicktheNew..entrynowandnameyouralias
Let'sassumethealiasnameisupper_left:Youcanrestorethisdisplaydetail,
forexample,inthecommandlinewith:
WINDOW Upper_Left

orinshort

win upper_l

Alternativelyrightclickontothe Select iconoftheWINDOWcommandand


selecttheentryupper_leftinthepopupmenu.
InaSchematicthatconsistsofmorethanonesheetanaliasisexecuted
alwaysonthecurrentlyactivesheet,independentofwhereitwasdefined
originally.

Editing, Renaming, Deleting of an Alias


Inthecaseyouwanttodeleteanalias,youcandothisinthecommandicon's
popup menu. First rightclick onto the command icon to open the popup
menu.Thenusearightmouseclickontothealiasentry.Thisopensacontext
menu.ClicktheDeleteoptionthere.

DeletingaWINDOWalias
ThesamemethodscanbeusedtoRenameorEditanalias.
These actions can be executed also via the command line. Further
informationcanbefoundinthehelppagesabouttheDISPLAY,GRID,and
WINDOWcommands.

5.5 Names and Automatic Naming


Length
NamesinEAGLEcanhaveanydesiredlength.Thereisnolimit.

93

5 Principles for Working with EAGLE

Forbidden and Special Characters


Nonamesmaycontainspaces,semicolonsorumlauts.Quotationmarksand
otherexoticcharacters(above127intheASCIItable)shouldbeavoidedas
faraspossible.
Devicenamesmustnotcontaineitherquestionmarksorasterisks,sincethese
charactersareusedasplaceholdersforPackagevariants(?)andtechnologies
(*).
Commasmustbeavoidedinpadnames.
Partbusnamesmustnotcontaincolons,commasorsquarebrackets.
Theexclamationmarkisaspecialcharacterthatstartsandendsa barover
the text. See the help function for the TEXT command for details. If an
exclamationmarkshouldbevisibleinthetext,itneedstobeescapedbya
leadingbackslash.
Inordertohaveabackslashdisplayedinanameortext,youhavetotypeit,
forexamplewiththeNAMEorTEXTcommand,twice.

Automatic Naming
IfanameisgiventogetherwithoneofthecommandsPIN,PAD,SMD,NET,
BUS or ADD, then other names will be derived from it as long as the
commandisstillactive.
Thenameissimplytypedintothecommandlinebeforeplacingtheobject
(whileitisattachedtothemouse).Notethatthenamemustbeplacedwithin
simplequotationmarks.EntryiscompletedwiththeEnterkey().
Theexamplesillustratehowautomaticnamingfunctions:
ADD DIL14 'U1'
fetchesthreeDIL14PackagestotheboardandnamesthemU1,U2andU3
(correspondstoamouseclick).
PAD OCT '1'
placesfouroctagonalpadswiththenames1,2,3,and4.
If the name consists of only one character from A...Z, then the following
objectsreceivethefollowinglettersofthealphabetasnames:
ADD NAND 'A'
fetches four NAND gates with thenames A, B, C and D. Ifthegenerated
namereachesZ,thennameswiththedefaultprefixwillagainbegenerated
(e.g.G$1).

5.6 Import and Export of Data


EAGLEprovidesanumberoftoolsfordataexchange.
Scriptfilesforimporting
Theexportcommandforexporting
94

5.6 Import and Export of Data


EAGLEUserLanguageprogramsforimportandexport.
TheUserLanguageisveryflexible,butdoescallforasuitableprogramtobe
created. You will find further details in the section on The EAGLE User
Language.

Script Files and Data Import


TheSCRIPTcommandmakesauniversaltoolavailabletotheEAGLEuserfor
dataimport.
Since every EAGLE operation can be carried out with the aid of text
commands,youcanimportalltypesofdatawiththeaidofascriptfile.A
scriptfilecaninturncallotherscriptfiles.
Scriptfilescanbecreatedwithasimpletexteditor.Theprerequisiteforthe
development of your own script files is that you understand the EAGLE
commandlanguage.Youwillfindtheprecisefunctioningandthesyntaxof
theindividualcommandsintheEAGLEhelppages.
The file euro.scr in the eagle/scr directory, which draws the outline of a
eurocardwithcornerlimits,providesasimpleexample.
Ifanetlististobeimportedintoaboarddesignwhichalreadycontainsthe
appropriatecomponents,thenascriptfileofthefollowingformisnecessary:
SIGNAL GND IC1 7 IC2 7 J4 22;
SIGNAL VCC IC1 14 IC2 14 J4 1;
ANetscript ofthissortcaneasilybecreatedfromtheschematicdiagramby
theEXPORTcommand.
Youwillgetafurtherimpressionofthepowerofimporting,ifyououtputa
library with the EXPORT command (Script option). The script file that is
generated provides an instructive example for the syntax of the script
language.Itcanbeexaminedwithanytexteditor.IfSCRIPTisthenusedto
readthisfileintoanemptylibrary,anewlibraryfilewillbecreated.
Commentscanbeincludedfollowinga#character.
TheexecutionofascriptfilecanbestoppedbyclickingtheStopiconinthe
actiontoolbar.

File Export Using the EXPORT Command


TheEXPORTcommandhasthefollowingmodes:

DIRECTORY
Outputs a list of the contents (Devices, Symbols, and Packages) of the
currentlyloadedlibrary.

NETLIST
Outputsa netlistforthecurrentlyloadedschematicorboardinanEAGLE
specificformat.Itcanbeusedtochecktheconnectionsinadrawing.

95

5 Principles for Working with EAGLE


TherearealsoavailableseveralUserLanguageprogramsthatallowtoexport
variousnetlistformats.PleasetakealookintoCadSoft'sDownloadareain
theweb:http://www.cadsoftusa.com/download.htm.

NETSCRIPT
Outputsanetlistofthecurrentlyloadedschematicintheformofascriptfile.
ThenetscriptcanbeimportedintotheboardfilewiththehelpoftheSCRIPT
command. Thiscouldbepossiblysuggestiveiftherearedifferencesinthe
netlistbetweenschematicandlayout.
Inthefirststepyouhavetodeleteallsignalsinthelayoutwiththecommand
DELETESIGNALS.Beawarethatalltracesarelost!NowexporttheNetscript
fromtheSchematicandimportitwiththeSCRIPTcommandintothelayout.
TheresultisaSchematic/Layoutfilepairwithanidenticalnetlist.

PARTLIST
Outputsacomponentlistfortheschematicorboard.

PINLIST
Outputsapin/padlistfortheschematicorboard,listingtheconnectednets.

SCRIPT
Outputsthecurrentlyloadedlibraryintheformofascriptfile.
This script can be modified with a text editor in order to generate, for
example,auserdefinedlibrary,ortocopypartsofonelibraryintoanother.
Themodifiedscriptfilecanbeimportedintoaneworanalreadyexisting
librarywiththehelpoftheSCRIPTcommand.
ThescriptfilealsoservesasagoodexamplefortheEAGLEcommandsyntax.
Inorderto avoidlossof precision the grid unit in thescriptfileissetto
Millimetres.

IMAGE
TheoptionImageallowsyoutogeneratefilesinvariousgraphicformats.
Thefollowingformatsareavailable:

96

bmp

WindowsBitmapfile

png

PortableNetworkGraphicsfile

pbm

PortableBitmapfile

pgm

PortableGrayscaleBitmapfile

ppm

PortablePixelmapfile

tif

TagImagefile

xbm

XBitmapfile

xpm

XPixmapfile

5.6 Import and Export of Data

Settingsforgraphicfileoutput
ClicktheBrowsebutton,selecttheoutputpath,andtypeinthegraphicfile
namewithitsextension.Thefileextensiondeterminesthegraphicfiletype.
Togenerate ablackand white imageactivatetheoption Monochrome.To
maketheimageavailableviathesystem'sclipboardsettheClipboardoption.
The Resolution canbesetindotsperinch.Theresulting ImageSize willbe
showninthelowestfield.
The Area field allows aselectionof Full or Window. Full printsthewhole
drawing,whereas Window printsthecurrentlyintheEditorwindowvisible
partofthedrawing.
Further graphic formats, like HPGL, Postscript (PS), or Encapsulated
Postscript(EPS),canbegeneratedwiththehelpoftheCAMProcessor.
The User Language Program dxf.ulp generates Dxf data. The PRINT
commandsupportsPDFoutput.

5.7 The EAGLE User Language


EAGLEcontainsaninterpreterforaClikeUserLanguage.Itcanbeusedto
accessanyEAGLEfile.Sinceversion4ithasalsobeenabletoaccessexternal
data.Itispossible,withveryfewrestrictions,toexportdatafromEAGLE,and
importawiderangeofdataintoEAGLE.
ULPscan,forexample,manipulatealayoutfileoralibrarybygeneratingand
executingaScriptfile.TheScriptfilecontainsallthenecessarycommands
forthemanipulation.TheUserLanguage'sintegratedexit()functionallowsit
toexecutethesecommandsdirectly.
Theprogram examples included (*.ulp) willprovidesomeinsightintothe
capacity ofthe UserLanguage. Theyarelocatedinyourinstallation'sULP
directory.AdescriptionofthewayinwhichaULPworksislocatedinthefile
header.ThisisalsodisplayedintheControlPanelorintheusageboxwhen
the program is called. User Language programs must be written ina text
editorthatdoesnotaddanycontrolcodes.

97

5 Principles for Working with EAGLE


AULPisstarted withtheRUNcommand, or bydraggingaULPfromthe
ControlPanelintoaneditorwindow(Drag&Drop).Tocanceltheexecution
ofanULPclicktheStopicon.
EAGLE prompts a message in the status bar, Run: finished, if the User
Languageprogramhasbeenended.
The language is described in detail in the EAGLE help pages, under the
keywordUserLanguage.
TypicalapplicationsforULPs:
Creatingpartslistsinvariousformats.
Seealsopage268.
Outputingraphicalformats.
Dataoutputforcomponentinsertionmachines,incircuittestersetc.
Linkingtoanexternaldatabase.
Manipulationofthesilkscreenprint,thesolderstopmask,andsoon.
Importofgraphicdatafiles(forexampleimportbmp.ulpforlogosor
thelike)
AlotofvaluableULPscanbefoundonourwebpages.Simplytakealook
athttp://www.cadsoftusa.com/download.htm.

5.8 Forward&Back Annotation


A schematic file and the associated board file are logically linked by
automatic Forward&Back Annotation. This ensures thattheschematicand
theboardarealwaysconsistent.
AssoonasalayoutiscreatedwiththeBOARDcommand

,thetwofiles

are consistent. Every action performed on the schematic diagram is


simultaneously executed in the layout. If, for instance, you place a new
Device,theassociatedhousingwillappearonthelayoutattheedgeofthe
board.Ifa netisplaced,thesignallines are simultaneously drawninthe
layout.Certainoperationssuchastheplacementordeletionofsignalsare
only allowed in the schematic. The Layout Editor does not permit these
actions,andissuesanappropriatewarning.RenamingDevicesorchanging
theirvalues,forexample,arepermittedinbothfiles.
TheEAGLEhelppagescontainacloserdescriptionofthetechnicaldetails.
Itisnotnecessaryforyou,astheuser,topayanyfurtherattentiontothis
mechanism.Youonlyhavetoensurethatyoudonotworkonaschematic
whoseassociatedboardfilehasbeenclosed,andviceversa.Thismeansthat
both files must always be loaded at the same time. Otherwise they loose
consistency,andtheannotationcannolongerwork.

98

5.8 Forward&Back Annotation


Ifyouhave,however,onceeditedtheboardortheschematicseparately,the
ElectricalRuleCheck(ERC)willcheckthefilesforconsistencywhentheyare
loaded.Ifinconsistenciesarefound,theERCopensanErrorwindowwith
appropriate messages about the Schematic and the Layout. Section 6.9,
startingwithpage175,showshowtoproceedinsuchacase.

5.9 Configuring EAGLE Individually


Thereareanumberofsettingsthatpermittheprogramtobeadjustedfor
individualneeds.Wedistinguishbetweenprogram,userandprojectspecific
settings.
Basicprogramsettingsthatwillapplytoeveryuserandeverynewprojectare
madeinthe eagle.scr file.UnderWindows,personalpreferencesarestored
inthefileeaglerc.usr,or,underLinux,in~/.eaglerc.
EAGLErememberssettingsthatonlyapplytooneparticularprojectinthe
eagle.epfprojectfile.
Valuesthat,forinstance,onlyapplytoonespecificboard,suchastheDesign
Rules,speciallayercolors,uniquenewlydefinedlayersorthegridsettingare
storeddirectlyinthelayoutfile. Thisalso applies,ofcourse,toschematic
diagramandlibraryfiles.

Configuration Commands
Mostoftheoptionsareusuallysetbymeansofthe Options menusofthe
individualEAGLEeditorwindows.
TheControlPanelallowssettingstobemadeforDirectories,fileBackupand
the appearance of the editor window (User interface). These options are
describedinthechapterontheControlPanelunderthe
Optionsmenuheading,startingonpage43.
ThroughtheUserinterfacesettingsitispossibletoselecttheiconbasedmenu
oraconfigurabletextmenu.
The MENU command allows the text menu to be given a hierarchical
configurationbymeansofascriptfile.Thereisanexampleofthisinthe
appendix.
TheOptionsmenuintheeditorwindowsforschematicdiagrams,layoutsand
librariescontains,inadditiontotheUserinterfaceitem,twofurtherentries:
AssignandSet.
The ASSIGN command alters and displays the assignment of the function
keys.Youwillfindinformationaboutthisonpage83.
GeneralsystemparametersarealteredwiththeSETcommand.
The CHANGE command allows a variety of initial settings for object
properties.
The GRID command sets the grid size and the current unit. Further
informationaboutthisstartsonpage90.
99

5 Principles for Working with EAGLE

The Menu Options/Set (SET Command)


Most common options of the SET command are available in the Settings
window of the menu Options/Set. This window can be reached also by
enteringonthecommandline:
SET

Display Certain Layers Only


ThenumberofavailablelayersshownintheDISPLAYorLAYERmenucanbe
setwiththeoptionUsed_Layers.Thatwayitispossibletohideunusedlayers
forclarityreasons.
SET USED_LAYERS 1 16 17 18 19 20 21 23 25 27 29 31
44 45 51;
storedinthefileeagle.scrshowsonlythementionedlayers.After
SET USED_LAYERS ALL;
alllayersareavailableagain.

Contents of The Parameter Menus


TheparametermenusforWidth,Diameter,Drill,SMD,Size,Isolate,Spacing,
andMiter,whichareavailableforexamplethroughtheCHANGEcommand,
canbeconfiguredandfilledwithanyvaluesbytheSETcommand.Simplylist
thevalues,separatedbyblanks,inthecommandline.
ExamplefortheMitermenu:
SET MITER_MENU 0.1 0.2 0.3 0.4 0.5 0.6 1 1.5 2 3 4;
TheunitsofthegivenvaluesaredeterminedbythecurrentlyusedGRIDin
theEditorwindow.Amaximumnumberof16entriesisallowed.
ExamplefortheSMDmenu:
SET SMD_MENU 1.2mm 2.0mm 0.5mm 0.9mm 0.1in 0.14in;
Foreachentryofthethreevaluepairstheunitisgivendirectly.Amaximum
numberof16valuepairsisallowed.
ThevaluesinthemenusarealwaysshowninthecurrentlyselectedGRID
unit.
WritetheSETcommandinthefile eagle.scr tomakeitdefaultforallyou
projects.
ToreturntotheEAGLEdefaultsettingsuseforexamplefortheWidthmenu:
SET WIDTH_MENU ;

Color Settings
The Colors tabcontainssettingsforlayerandbackgroundcolorsandcolors
forgridlinesordots.
Threecolorpalettesareavailable:forblack,whiteandcoloredbackground.
Eachpaletteallowsamaximumof64colorentries,whichcanbegivenany
valuefortheAlphachannelandanyRGBvalue.
100

5.9 Configuring EAGLE Individually

Settingswindow:Colorsettings
IfyouprefertheoldrasterOPbehaviourofpreviousEAGLEversionsonblack
background, deactivate the Use alpha blending check box.In thiscasethe
alphavalueisignoredwhenusingablackbackground.Colorsaremixednow
usinganORfunction.
By default EAGLE uses the first 16 values (entries 0..15). Eight colors
followedbyfurthereightsocalledhighlightcolors.
Thefirstentryofthepalettedeterminesthebackgroundcolor.Inthewhite
palette,however,itisnotpossibletochangethebackgroundcolorbecause
it'sneededforprintouts,whichnormallyaremadeonwhitepaper.
TheimageaboveshowsthreebuttonsinthePalettecolumn.Clickononeof
them.Forexample,thebuttonfor Colored Background.The Color window
opensnow.
Ontheleftan8x8matrixisvisiblethatcontainsalready16predefined
colors.Therearealternatingeight'normal'colorswiththeircorresponding
eighthighlightcolors.Acolorofthepaletteatpositionxcanbegiventhe
correspondinghighlightcoloratpositionx+8.
Inordertodefinenewvaluesselectanunusedboxofthematrixandadjust
thenewcolorwiththehelpofthecolorselectionareaandthesaturationbar
ontheright.ClickSetColortoapplyyourcolor.Nowselectanewcolorbox
inthematrixandrepeattheprocedureforthenextcolor.
Youmayalsoentervaluesfor Red, Green, Blue or Hue, Sat, Val and Alpha
channeldirectly.
Alphachannel determinesthetransparencyofthecolor.Thevalue0means
thecoloristotallytransparent(invisible),themaximumvalue255standsfor
nontransparent.Forprintoutsthevalueofthealphachannelissetto255for
eachcolor.

101

5 Principles for Working with EAGLE

Colorwindow:Definingcolors
The image above shows four further pairs of colors (normal and
corresponding highlight color vertically arranged). In order to change the
colorpaletteforaneditorwindowselecttheappropriate Backgroundinthe
menuOptions/UserInterface.
Youshouldalwaysdefineatleastonepairofcolors:anormalcolorand
itsrelatedhighlightcolor.
Alternatively, thecolordefinitionand changeofpalettecanbemadeina
scriptfileorinthecommandline.
SET PALETTE <index> <rgb>
definesacolorforthecurrentlyusedpalette,wherethevalueforthealpha
channelandthecolorvaluehastobegivenhexadecimal.Indexstandsforthe
colornumber,rgbforthevaluesforalphachannel,thecolorsred,blue,and
green.Example:
SET PALETTE 16 0xB4FFFF0
setsthecolornumber16toyellow,whichcorrespondstothedecimalRGB
value 255 255 0 which is hexadecimal FF FF 00. The first byte B4
determinesthevalueofthealphachannel(decimal180).
Hexadecimalvaluesaremarkedbyaleading0x.
Toactivatetheblackcolorpalettetypeinthecommandline:
SET PALETTE BLACK
Thenewpalettewillbecomevisibleafterrefreshingthedrawingareawith
theWINDOWcommand.

102

5.9 Configuring EAGLE Individually


ThecolorassignmentforlayersisdonewiththeDISPLAYcommandorwith
SETCOLOR_LAYER.
SET COLOR_LAYER 16 4
defines,forexample,thecolornumber4forlayer16.
MoredetailsaboutthesyntaxcanbefoundintheSETcommand'shelp.
Ifyouprefertousethedefaultcolorvaluesagain,startthescriptfile
defaultcolors.scr

Miscellaneous SET Options


The Misc tab of the Settings window contains the most common options,
whichareswitchedonoroffbycheckboxes.Someoptionsallowentering
values.

SettingsatOptions/Set/Misc
Optionsoverview:
Beep:
Switcheson/offtheconfirmationbeep.Default:on.
Checkconnects:
Activatesthepackagecheckwhileplacingpartsintheschematic.
Default:on.
Undo:
Switcheson/offtheundo/redobuffer.Default:on.
Optimizing:
Enablestheautomaticremovalofbendsinstraightlines.Default:on.
103

5 Principles for Working with EAGLE


Ratsnestprocessespolygons:
Thecontentsofpolygonswillbe calculatedwiththeRATSNESTcommand.
Default:on.
Displaypadnames:
PadnamesaredisplayedintheLayoutorPackageEditor.Default:off.
Autoendnetandbus:
Ifplacinganetonapinorabusthenetdropsfromthemousecursor.
Default:on.
Autosetjunction:
Endinganetonanothernetajunctionwillbesetautomatically.
Default:on.
Autosetroutewidthanddrill:
Ifthisoptionisactive,theFollowmeRouterusesthevaluesforwirewidth
andviadrilldiametergivenbytheDesignRulesorthenetclassesforthe
tracks.Thesevalueswillbesetautomaticallyassoonasyouareclickingonto
asignalwire.
Ifthisoptionisswitchedoff,EAGLEwilltakethevalueyouhavesetwith,for
example,thepreviousCHANGEWIDTHcommand.
Min.visibletextsize:
Onlytextswiththegivenminimumsizearedisplayed.
Default:3pixels.
Min.visiblegridsize:
Grid lines/dots which are closer than the given minimum distanceareno
longerdisplayedonthescreen.Default:5pixels.
Catchfactor:
Withinthisradiusamouseclickcanreachobjects.Setthevalueto0inorder
toswitchthislimitationoff.Soyoucanreachevenobjectsthatareplacedfar
beyondtheareaofthecurrentlydisplayedwindow.Default:5%oftheheight
ofthecurrentdisplaywindow.
Selectfactor:
Withinthisradius(givenin%oftheheightofthecurrentdrawingwindow)
EAGLEoffersobjectsforselection.Default:2%.
Snaplength:
DefinestheradiusofthemagneticpadsfunctionofpadsandSMDs.
IfyouarelayingtrackswiththeROUTEcommandandapproachapadora
SMD beyond the given value that is to say the dynamically calculated
airwirebecomesshorterthanthegivenradiusthewirewillbesnappedto
thepads/SMDscenter.Defaultvalue:20mil.
Displaymode:
Pads/viasareshownwithadrillhole(real)orwithoutit(Nodrills).
Default:real.
AllSEToptionscanbeusedinthecommandline.Entering
SET POLYGON_RATSNEST OFF or,inshort
104

SET POLY OFF

5.9 Configuring EAGLE Individually


forinstanceswitchesoffpolygoncalculationfortheRATSNESTcommand.
The help system provides you with more instructions about the SET
command.

The eagle.scr File


Thescriptfileeagle.scrisautomaticallyexecutedwhenaneditorwindowis
openedorwhenanewschematicdiagram,boardorlibraryfileiscreated,
unlessaprojectfileexists.
Itisfirstlookedforinthecurrentprojectdirectory.Ifnofileofthisname
existsthere,itislookedforinthedirectorythatisenteredintheScriptboxin
theOptions/Directoriesdialog.
Thisfilecancontainallthosecommandsthataretobecarriedoutwhenever
aneditorwindow(otherthantheTextEditor)isopened.
The SCH,BRD and LBR labelsindicatethosesegmentswithinthefilewhich
areonlytobeexecutediftheSchematic,LayoutorLibraryEditorwindowis
opened.
TheDEV,SYMandPAClabelsindicatethosesegmentswithinthefilewhich
are only to be executed if the Device, Symbol or Package editor mode is
activated.
Commandswhicharedefinedbeforethefirstlabel(normallyBRD:)arevalid
forallEditorwindows.
If,becauseofthespecificationsinaprojectfile,EAGLEopensoneormore
editorwindowswhenitstarts,itisnecessarytoclosetheseandtoreopen
themso thatthesettingsin eagle.scr areadopted.Itis,asanalternative,
possiblesimplytoreadthefileeagle.scrthroughtheSCRIPTcommand.
Commentscanbeincludedinascriptfilebyprecedingthemwith#.
Exampleofaneagle.scrfile:
# This file can be used to configure the editor windows.
Assign
Assign
Assign
Assign

A+F3
A+F4
A+F7
A+F8

'Window 4;';
'Window 0.25;';
'Grid mm;';
'Grid inch;';

BRD:
#Menu Add Change Copy Delete Display Grid Group Move \
#Name Quit Rect Route Script Show Signal Split \
#Text Value Via Window ';' Wire Write Edit;
Grid inch 0.05 on;
Grid alt inch 0.01;
Set Pad_names on;
Set Width_menu 0.008 0.01 0.016;
Set Drill_menu 0.024 0.032 0.040;
Set Size_menu 0.05 0.07 0.12;
Set Used_layers 1 16 17 18 19 20 21 22 23 24 25 26 \
27 28 39 40 41 42 43 44 45;

105

5 Principles for Working with EAGLE


Change width 0.01;
Change drill 0.024;
Change size 0.07;
SCH:
Grid Default;
Change Width 0.006;
#Menu Add Bus Change Copy Delete Display Gateswap \
#Grid Group Invoke Junction Label Move Name Net \
#Pinswap Quit Script Show Split Value Window ';' \
#Wire Write Edit;
LBR:
#Menu Close Export Open Script Write ';' Edit;
DEV:
Grid Default;
#Menu Add Change Copy Connect Delete Display Export \
#Grid Move Name Package Prefix Quit Script Show \
#Value Window ';' Write Edit;
SYM:
Display all;
Grid Default On;
Change Width 0.010;
#Menu Arc Change Copy Cut Delete Display Export \
#Grid Group Move Name Paste Pin Quit Script \
#Show Split Text Value Window ';' Wire Write Edit;
PAC:
Grid Default On;
Grid Alt inch 0.005;
Change Width 0.005;
Change Size 0.050;
Change Smd 0.039 0.039;
#Menu Add Change Copy Delete Display Grid Group \
#Move Name Pad Quit Script Show Smd Split Text \
#Window ';' Wire Write Edit;

The eaglerc File


UnderWindows,userspecificdataisstoredinthefileeaglerc.usr,or,under
LinuxandMac,in~/.eaglerc.Thisfileisstoredintheuser'shomedirectory.
Ifthereisnohomeenvironmentvariableset,thefollowingWindowsregistry
entryistaken:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData
Itcontainsinformationaboutthe:
SETcommand(Options/Setmenu)
ASSIGNcommand(functionkeyassignments)
UserInterface
Currentlyloadedproject(path)

106

5.9 Configuring EAGLE Individually


EAGLE looks for the configuration file in various locations in the given
sequenceandexecutesthem(ifexisting):
<prgdir>/eaglerc

(Linux,Mac,Windows)

/etc/eaglerc

(Linux,Mac)

$HOME/.eaglerc

(Linux,Mac)

$HOME/eaglerc.usr

(Windows)

Thesefilesshouldnotbeedited.
WiththehelpofvariousUserLanguageprogramsitisalsopossibletodefine
settingsinEAGLE.Visitourwebsite:
http://www.cadsoftusa.com/download.htm.

EAGLE Project File


Ifanewprojectiscreated(byclickingtherightmousebuttononanentryin
the Projects branch of the tree view and thenselecting New/Project inthe
contextmenuintheControlPanel),adirectoryisfirstcreatedwhichhasthe
nameoftheproject.Aneagle.epf configurationfileisautomaticallycreated
ineveryprojectdirectory.
EAGLE takes note of changes to object properties that are madewith the
CHANGEcommandduringeditingandthecontentsofthe Width, Diameter,
andSizemenusintheprojectfile.
Italsocontainsinformationaboutthelibrariesinuseforthisproject.
Thepositionandcontentsoftheactivewindowsatthetimetheprogramis
closedarealsosavedhere.Thisassumesthatthe Automaticallysaveproject
fileoptionunderOptions/BackupintheControlPanelisactive.Thisstatewill
berecreatedthenexttimetheprogramstarts.
Thosewhohavepreviouslyworkedonprojectswith EAGLE3.5x canmost
easilyadaptthemtothestructurethatappliesfromVersion4.0onwardsas
follows:
Createadirectorywiththeprojectname
Copytheoldprojectfileunderthenameeagle.epfintothisdirectory
Copyallthefilesbelongingtotheprojectintothisdirectory
The path that leads to these project directories isspecified intheControl
PanelunderOptions/Directories/Projects.
Aprojectwillbeopenedautomatically,ifyoustartEAGLEdirectlywithan
eagle.epffileorwithaprojectnamethatexistsasfolderinthegivenproject
path.

107

5 Principles for Working with EAGLE

This
page
hasbeen
leftfree
intentionally.

108

Chapter 6
From Schematic to Finished Board
Thischapterillustratestheusualroutefromdrawingtheschematicdiagram
tothemanuallyroutedlayout.ParticularfeaturesoftheSchematicorLayout
Editor will be explained at various points. TheuseoftheAutorouter, the
Followmerouter,andtheoutputofmanufacturingdatawillbedescribedin
subsequentchapters.

Werecommendtocreateaproject(folder)first.Detailscanbefoundon
page41.

6.1 Creating the Schematic Diagram


Theusualprocedureisasfollows:
Devicesaretakenfromexistinglibrariesandplacedonthedrawingarea.The
connectingpoints(pins)ontheDevices arethenjoinedbynets(electrical
connections). Nets can have any name, and can be assigned to various
classes. Power supply voltages are generally connected automatically. In
order to document all the supply voltages in the schematic diagram it is
necessarytoplaceatleastonesocalledsupplysymbolforeachvoltage.
Schematicdiagramscanconsistofanumberofpages(butnotintheLight
edition).Netsareconnectedacrossallthepagesiftheyhavethesamename.
Itisassumedthatlibrariescontainingtherequiredcomponentsareavailable.
Thedefinitionoflibrariesisdescribedinitsownchapter.
ItispossibleatanytimetocreatealayoutwiththeBOARDcommandorwith
theBoardicon.Assoonasalayoutexists,bothfilesmustalwaysbeloadedat
thesametime.Thisisnecessaryfortheassociationoftheschematicdiagram
andtheboardtofunction.Therearefurtherinstructionsaboutthisinthe
sectiononForward&BackAnnotation.

109

6 From Schematic to Finished Board

Open the Schematic Diagram


YoufirststartfromtheControlPanel.Fromhereyouopenaneworexisting
schematicdiagram,forinstancebymeansofthe File/Open ortheFile/New
menus,orwithadoubleclickonaschematicdiagramfileinthedirectory
tree.Theschematicdiagrameditorappears.
Createmoreschematicsheetsifneeded.Forthatpurpose,openthecombo
boxintheactiontoolbarwithamouseclick,andselecttheNew.Anewsheet
willbegenerated(seepage50).Anotherwaytogetasecondsheetistotype
in
EDIT .S2
onthe command line. If, however, you do not infactwantthepage,the
entiresheetisdeletedwith
REMOVE .S2

Set the Grid


Thegridofschematicdiagramsshouldalwaysbe0.1inch,i.e.2.54mm.Nets
and Symbol connection points (pins) must lie on this common grid.
Otherwiseconnectionswillnotbecreatedbetweennetsandpins.

Place Symbols
Firstyouhavetomakeavailablethelibrariesyouwanttotakeelementsfrom
withtheUSEcommand.Onlylibrarieswhichareinusewillberecognizedby
theADDcommandanditssearchfunction.Moreinformationconcerningthe
USEcommandcanbefoundonpage50.

Load Drawing Frame


It is helpful first to place a frame. The ADD command is used to select
Devicesfromthelibraries.
WhentheADDiconisclicked,theADDdialogopens.
Itshowsall the libraries thatare madeavailablewith theUSEcommand,
first.Youcanexpandthelibraryentriesforsearchingelementsmanuallyor
youcanusethesearchfunction.
Aletterformatframeistobeused.EnterthesearchkeyletterintheSearch
line at the lower left, and press the Enter key. Thesearchresult showsa
number of entries from frames.lbr. If you select one of the entries
(LETTER_P),apreviewisshownontheright,providedthePreviewoptionis
active.DisablingtheoptionDescriptionexcludesthepart'sdescriptivetexts.
IntheSchematicEditoryouaresearchingforDevicenamesandtermsof
theDevicedescription,intheLayoutEditorforPackagenamesandterms
ofthePackagedescription!

110

6.1 Creating the Schematic Diagram


Clicking OK closes the ADD window, and you return to the schematic
diagrameditor.Theframeisnowhangingfromthemouse,anditcanbeput
down.Thebottomlefthandcorneroftheframeisusuallyatthecoordinate
origin(00).
Librarynames,DevicenamesandtermsfromtheDevicedescriptioncanbe
usedassearchkeys.Wildcardssuchas*or?areallowed.Anumberofsearch
keys,separatedbyspaces,canbeused.

ADDdialog:Resultsfromthesearchkeyletter
TheADDcommandmayalsobeenteredviathecommandlineorinscript
files.Theframecanalsobeplacedusingthecommand:
add letter_p@frames.lbr
Wildcardslike*and?mayalsobeusedinthecommandline.Thecommand
add letter*@frames.lbr
for example opens the ADD windows and shows various frames in letter
formattoselect.
Thesearchwillonlyexaminelibrariesthatare inuse.Thatmeansthatthe
libraryhasbeenloadedbytheUSEcommand(Library/Use).
IfacertainlibraryshouldnotbelistedintheADDdialoganymore,selectthe
library name in the tree and click the Drop button. Now it is not in use
anymore.
DrawingframesaredefinedwiththeFRAMEcommand.
Thiscanbedoneinalibrary,wheretheframecanbecombinedwitha
document field. EAGLE can also use the FRAME command in the
SchematicaswellastheBoardEditor.Detailsaboutdefiningadrawing
111

6 From Schematic to Finished Board


framecanbefoundonpage249.

Place Circuit Symbols (Gates)


All further Devices are found and placed by means of the mechanism
describedabove.YoudecideaPackagevariantatthisearlystage.Itcaneasily
bechangedlaterifitshouldturnoutthatadifferentPackageformisusedin
thelayout.
IfyouhaveplacedaDevicewithADD,andthenwanttoreturntotheADD
dialoginordertochooseanewDevice,pressthe Esc keyorclicktheADD
iconagain.
GivetheDevicesnamesandvalues(NAME,VALUE).
Ifthetextforthenameorthevalueislocatedawkwardly,separatethem
fromtheDevicewithSMASH,andthenmovethemtowhateverpositionyou
preferwithMOVE.ClickingwithDELETEonatextmakesitinvisible.
UsetheShiftkeywithSMASHtogetthetextsattheiroriginalpositions.The
textsarenownolongerseparatedfromtheDevice(unsmash).Deactivating
theSmashedoptioninthecontextmenu'sPropertieswindowisthesame.
MOVErelocateselements,andDELETEremovesthem.WithINFOorSHOW
informationaboutanelementisdisplayedonthescreen.
ROTATEturnsgatesby90.Thesamecanbedonewitharightmouseclick
whiletheMOVEcommandisactive.
MultipleusedpartsmaybecopiedwiththeCOPYcommand.COPYplaces
alwaysanewpartevenifitconsistsofseveralgatesandnotallofthemare
alreadyused.
Repeatedcircuitrycanbereproducedintheschematicdiagramwiththeaid
oftheGROUP,CUTandPASTEcommands.Firstmakesurethatallthelayers
aremadevisible(DISPLAYALL).

Hidden Supply Gates


SomeDevicesaredefinedinthelibrariesinsuchawaythatthepowersupply
pinsarenotvisibleontheschematicdiagram.Visibilityisnotnecessary,since
all the power pins with the same name are automatically connected,
regardlessofwhetherornottheyarevisible.
Ifyouwanttoconnectanetdirectlytooneofthehiddenpins,fetchthegate
intotheschematicdiagramwiththeaidoftheINVOKEcommand.Clickonto
the INVOKE icon, and then on the Device concerned, assuming that it is
located on the same sheet of the schematic diagram. If the gate is to be
placed on a different schematic diagram sheet, go to that sheet, activate
INVOKE,andtypethenameoftheDeviceonthecommandline.Selectthe
desiredGateintheINVOKEwindow,thenplaceit.Thenjointhesupplygate
tothedesirednet.

112

6.1 Creating the Schematic Diagram

INVOKE:GatePistobeplaced

Devices with Several Gates


SomeDevicesconsistnotofonebutofseveralGates.Thesecannormallybe
placed onto the schematic diagram one after another with the ADD
command.ToplaceacertainGateyoucanusetheGatenamedirectly.
Example:
TheDevice74*00fromthe74xxeulibrarywithPackagevariantNandinAC
technologyconsistsofforNAND gatesnamed A to D andonepowergate
named P.IfyouwanttoplacetheGateCfirst,usetheGatenamewiththe
ADDcommand:
ADD 'IC1' 'C' 74AC00@74xx-eu.lbr
SeealsohelpfunctionfortheADDcommand.
AssoonasoneGatehasbeenplaced,thenextoneisattachedtothemouse
(AddlevelisNext).PlaceoneGateafteranotheronthediagram.Whenallthe
GatesinoneDevicehavebeenused,thenextDeviceisbroughtin.
IftheGatesinoneDevicearedistributedoverseveralsheets,placethemfirst
withADD,changetotheothersheetoftheschematicdiagram,andtype,for
example
INVOKE IC1
onthecommandline.SelectthedesiredGatefromtheINVOKEwindow.
If you select one of the already placed Gate entries in the INVOKE
window,theOKbuttonchangestoShow.ClicktheShowbutton,andthe
selected Gate is shown in the center of the current Schematic Editor
window.

113

6 From Schematic to Finished Board

Wiring the Schematic Diagram


Draw Nets (NET)
TheNETcommanddefinestheconnectionsbetweenthepins.Netsbeginand
endattheconnectionpointsofapin.Thisisvisiblewhenlayer93, Pins,is
displayed(DISPLAYcommand).
Netsarealwaysgivenanautomaticallygeneratedname.Thiscanbechanged
bymeansoftheNAMEcommand.Netswiththesamenameareconnectedto
one another, regardless of whether or not they appear continuous onthe
drawing.Thisappliesevenwhentheyappearondifferentsheets.
Ifanetistakentoanothernet,abus,orapinconnectingpoint,thenetline
endsthereandisconnected.Ifnoconnectionismadewhenthenetisplaced,
thenet line continues to be attached to the mouse.Thisbehavior canbe
changedthroughtheOptions/Set/Miscmenu(usingtheAutoendnetandbus
option).Ifthisoptionisdeactivated,adoubleclickisneededtoendanet.
Netsareshownonlayer91,Nets.
Netsmustendexactlyatapinconnectingpointinordertobejoined.Anetis
notjoinedtothepinifitendssomewhereonthepinline.
EAGLEwillinformyouabouttheresultingnetnameorofferaselectionof
possiblenamesifyouareconnectingdifferentnets.
TheJUNCTIONcommandisusedtomarkconnectionsonnetsthatcrossone
another.Junctionsareplacedbydefault.Thisoption,(Autosetjunction),can
alsobedeactivatedthroughtheOptions/Set/Miscmenu.
NetsmustbedrawnwiththeNETcommand,notwiththeWIREcommand.
DonotcopynetlineswiththeCOPYcommand.Ifyoudothis,thenewnet
lineswon'tgetnewnetnames.Thiscouldresultinunwantedconnections.
IftheMOVEcommandisusedtomoveanetoveranothernet,oroverapin,
noelectricalconnectioniscreated.
To check this, you can click the net with the SHOW command. All the
connected pins and nets will be highlighted. If a Gate ismoved, the nets
connectedtoitwillbedraggedalong.
A simple identifier (without XREF option, see next section about Cross
References)canbeplacedonanetwiththeLABELcommand.Providedyou
havedefinedafineralternativegrid,labelscanbearrangedcomfortablyin
thefinergridwiththeAltkeypressed.

Defining Cross-References for Nets


IfyouplaceaLABELwithactiveXREFoptionforanet,acrossreferencewill
be shown automatically. It points to the next sheet where the net occurs
again.Dependingontherotationofthelabelthecrossreferencereferstoa
previousorafollowingschematicsheet.Ifthelabelitselfgoestowardsthe
rightor bottomborderof thedrawing, thecrossreferenceshowsthenext
higherpagenumber.Ifthelabelpointstotheleftortopborder,theprevious
pagesaretakenintoconsideration.Inthecasethatthenetisonlyavailable
114

6.1 Creating the Schematic Diagram


ononesheet,thiscrossreferenceisshown,independentlyfromtherotation
ofthelabel.
Ifthenetisonlyonthecurrentsheet,onlythenetnameandpossiblythe
label's frame around it is shown. This depends on the Xref label format
definitionwhichcanbedoneinthemenuOptions/Set/Misc(canbedefined
viaSET,too).
The XREF option can be activated in the parameter toolbar of the LABEL
commandorafterplacingthelabelwithCHANGEXREFON.
Thefollowingplaceholdersfordefiningthelabelformatareallowed:
%F
%N
%S
%C
%R

enablesdrawingaflagborderaroundthelabel
thenameofthenet
thenextsheetnumber
thecolumnonthenextsheet
therowonthenextsheet

The default format string is %F%N/%S.%C%R. Apart from the defined


placeholdersyoucanalsouseanyotherASCIIcharacters.If%Cor%Risused
andthereisnoframeonthatsheet,theywilldisplayaquestionmark'?'.See
alsopage249.

CrossreferencewithaXREFlabel
ThelowerlabelinthepicturepointstotherightandreferstothenetABCon
thenextpage3,field4A,theupperXREFlabelpointstotheleft(beginning
withtheoriginpoint)andreferstothepreviouspage1,field2D.
IfaXREFlabelisplacedonanetlinedirectly,itwillbemovedtogetherwith
thenet.
Moreinformationaboutcrossreferencescanbefoundinthehelpfunction
fortheLABELcommand.

115

6 From Schematic to Finished Board


Cross-References for Contacts
In case you are drawing an Electrical Schematic and using, for example,
electromechanical relays, EAGLE can display a contact crossreference. In
order to do that, place the text >CONTACT_XREF inside the Schematic's
drawingframe.Thistextisnotdisplayedinthedrawing(excepteditsorigin
cross), but its position (the y coordinate) determines from where on the
contactcrossreferencewillbedrawnonthecurrentsheet.Assoonasthis
textisplacedthecontactcrossreferencewillbedisplayed.
Theformatofthecontactcrossreferencescanbedefinedasfornetcross
referencesintheOptions/Set/Miscmenu.Itusesthesameformatvariables
as described in the previous section Defining crossreferences for nets. The
defaultsettingis:/%S.%C%R,whichmeans/Pagenumber.ColumnRow.
Thevariables%Cforcolumnand%Rforrowcanonlyworkwithadrawing
frame that was defined with the FRAME command and comes with a
column/rowgraduation.
For a proper display of the contact crossreferences in the Schematic the
elementshavetobedefinedintheLibraryEditoraccordingtocertainrules.
MoreinformationaboutthiscanbefoundinthehelpfunctionunderContact
crossreferenceandinthechapteraboutLibrariesandComponentDesignlater
inthismanual.

ElectricalSchematicwithcontactcrossreference

116

6.1 Creating the Schematic Diagram


Specifying Net Classes
The CLASS commandspecifiesanetclass(Edit/Netclasses menu).Thenet
class specifies the minimum track width, the minimum clearance to keep
away from other signals and the minimum hole diameter for vias in the
layout.Eachnetprimarilybelongstonetclass0.Bydefaultallvaluesareset
to0forthisnetclass,whichmeansthatthevaluesgivenintheDesignRules
arevalid.Youcanuseuptoeightnetclasses.

Netclasses:Parametersettings
Theimageshowsthreeadditionalnetclassesdefined:
Allnetsthatbelongtoclass0,default,willbecheckedbythesettingsofthe
DesignRules.
Net class number 1, for example, has got the name Power and defines a
minimumtrackwidthof40mil.
Theminimumdrilldiameterforviasofthisclassissetto24mil.
The clearance betweentracksofnetclass1andtracksthatbelongtoother
netclassesisalsosetto24mil.
TheleftcolumnNrpredefinesthenetclassofthenextnetthatisdrawnwith
theNETcommand.Thisselectioncanbemadeintheparametertoolbarof
theNETcommand,aswell.
If you would like to define special clearance values between certain net
classes,clickthebuttonmarkedwith>>.TheClearanceMatrixopens.Enter
yourvalueshere.

117

6 From Schematic to Finished Board

Netclasses:TheClearanceMatrix
To return to the simple view, click the << button. This is only possible,
however,iftherearenovaluesdefinedinthematrix.
ThenetclassescanbechangedlaterbymeansoftheCHANGEcommand(the
Classoption)intheSchematicandintheLayoutEditor.
NetclassdefinitioncanbedoneintheLayoutEditor,aswell.

Drawing a bus (BUS)


Busesreceivenameswhichdeterminewhichsignalstheyinclude.Abusisa
drawing object. It does not create any electrical connections. These are
alwayscreatedbymeansofthenetsandtheirnames.Theassociatedmenu
functionisaspecialfeatureofabus.Amenuopensifyouclickontothebus
withNET.Thecontentsofthemenuaredeterminedbythebusname.
ThebusinthediagramisnamedBus1:A[0..12],D[0..7],Clock.
ClickingonthebuslinewhiletheNETcommandisactive,opensthemenuas
illustratedabove.Thenameofthenetthatistobeplacedisselectedfrom
here.

118

6.1 Creating the Schematic Diagram

Busmenu
Theindexofapartialbusnamemayrunfrom0to511.
ThehelpfunctiongivesfurtherinformationabouttheBUScommand.

Pinswap and Gateswap


Pins or Gates that have the same Swaplevel can be exchanged with one
another. Theseproperties are specifiedeither whentheSymbolisdefined
(Pinswap)orwhentheDeviceiscreated(Gateswap).
ProvidedtheSwapleveloftwopinsisthesame,theycanbeexchangedfor
oneanother.Displaylayer93, Pins,inordertomaketheSwaplevelofthe
pinsvisible.
PinsorGatesmaynotbeswappediftheSwaplevel=0.

Swaplevel:Pinslayerisvisible
Inputpins1and2haveSwaplevel 1,sotheycanbeexchangedwithone
another.Theoutputpin,3,whichhasSwaplevel0,cannotbeexchanged.
119

6 From Schematic to Finished Board


YoucanfindtheSwaplevelofaGatebymeansoftheINFOcommand,for
example,typeinthecommandlineINFO IC2A.Alternativelyviathecontext
menu,Propertiesentry.

Power Supply
PinsdefinedashavingthedirectionPwrareautomaticallywiredup.Thisis
true,eveniftheassociatedpowergatehasnotexplicitlybeenfetchedinto
theschematic.ThenameofthePwrpindeterminesthenameofthevoltage
line.ThisisalreadyfixedbythedefinitionoftheSymbolsinthelibrary.
If nets are connected to a Device's Pwr pins, then these pins are not
automaticallywired.Theyarejoinedinsteadtotheconnectednet.
ForeveryPwrpintheremustbeatleastonepinwiththesamenamebutthe
direction Sup (asupplypin).Theremustbeoneoneverysheet.TheseSup
pinsarefetchedintotheschematicintheformofpowersupplysymbols,and
aredefinedasDevices inalibrary(see supply*.lbr).TheseDevicesdonot
haveaPackage,sincetheydonotrepresentcomponents.Theyareusedto
representthesupplyvoltagesintheschematicdiagram,asisrequiredbythe
ElectricalRuleCheck(ERC)forthepurposesofitslogicalchecks.
Various supplyvoltages,suchas0VorGND,whicharetohavethesame
potential (GND, let's say), can be connected by adding the corresponding
supplysymbolsandconnectingthemwithanet.Thisnetisthengiventhe
nameofthatpotential(e.g.GND).

Supplysymbols

Ifyouplaceasupplypin(direction Sup)ontoanet(withADDorMOVE),
youwillbeaskedforanewnetname.Shoulditbethenameofthesupply
pinorshouldthenetnameremainunchanged?

Supplypinnameasnewnetname?

120

6.1 Creating the Schematic Diagram


ClickYes(default)forrenamingthenetwiththenameofthesupplypin(in
theimageabove:AGND).ClickNotopreservethecurrentnetname(VA1).
Ifthenethasanautomaticallygeneratedname,likeN$1,youmaysuppress
thiswarningmessage.UsetheSETcommandinthecommandline:
SET Warning.SupplyPinAutoOverwriteGeneratedNetName 1;

Ifthelastsupplypinofanetisdeleted,thenetwillgetanautomatically
generatedname,likeN$1.

Define Attributes
Global Attributes
ItispossibletodefineGlobalAttributesintheSchematic,forexample,forthe
authororaprojectidentificationnumber,thatcanbeplacedanywhereinthe
schematic,oftenusedinthedocfieldofthedrawingframe.
OpenthedialogthroughtheEdit/GlobalAttributes...menu.Clickthebutton
NewtodefineanewGlobalAttribute.Itconsistsoftheattribute'snameand
itsvalue.

GlobalAttributes:TheAuthorattributeiscreated
If you want to make a global attribute visible in the schematic, write a
placeholderwiththeTEXTcommand.Forthe AUTHOR attribute,writethe
text>author.
It does not matter, if it is written in lower or upper case letters. The
>characterinfrontofthetextindicatesthatthisisspecialtext.
It is possible to define the placeholder text already in the Library, for
example,inaSymbolofadrawingframe.Inthiscasetheglobalattributewill
beshownoneachschematicsheetcontainingthisframe.
GlobalAttributescanbedefinedintheSchematicandLayoutseparately.
MoreinformationonthiscanbefoundintheATTRIBUTEcommand'shelp.

121

6 From Schematic to Finished Board


Attributes for Elements
TheATTRIBUTEcommand allows you todefine attributesfor Devices.An
attributeconsistsoftheattributenameanditsvaluethatmayprovideany
information.Iftherealreadyexistsanattributethathasbeendefinedinthe
library,youmayalterthevalueintheschematic.

Attributedialog
ClickingtheATTRIBUTE

icon andthenontoaDeviceopensadialog

window.Itliststhepart'sattributesalreadydefinedintheschematicorinthe
library.
TheimageaboveshowstheattributesDISTRIBUTOR,IDNUMBER,andTEMP
forpartR1.Theiconsontherightindicatewheretheattributecomesform:
globallyintheSchematic
globallyintheLayout
intheLibrary'sDeviceEditor
fortheelementintheSchematic
forthePackageintheLayout
Thethreeattributesoftheexampledialogabovecomefromthelibrary.
Attributes thataredefinedin theLayoutEditor arenotshowninthe
SchematicEditor.AnewlydefinedattributeintheSchematicadoptsthe
valueofanalreadyexistingattributeintheLayout.
Defining a New Attribute
ClickontotheNewbuttontodefineanewattributeintheschematic.Inthe
followingdialogyoucandefineName,Value,andtheDisplaymode.
Inthisimagetheattribute'snameisTOLERANCE,itsvalueis1%.

122

6.1 Creating the Schematic Diagram

Createandchangeattributes
WiththeDisplayoptionyoumanagethewaytheattributeisdisplayedinthe
drawing.Therearefouroptionsavailable:
Off: Theattributeisnotvisible
Value: Onlytheattribute'svalueisvisible(1%)
Name: Onlytheattribute'snameisvisible(TOLERANCE)
Both: Nameandvaluearevisible(TOLERANCE=1%)
IftheDisplayoptionisnotsetOff,therespectivetextwillbedisplayedatthe
Device's or Gate's origin. The layer which is preset in the Schematic, for
examplewithCHANGELAYERbeforecreatingtheattribute,determinesthe
text'slayer.Locationandlayercanbechangedanytime.
Ifthereisanalreadydefinedplaceholdertextforanelementinthelibrary,
thetextshowsupatthegivenlocation.Itispossibletounfixsuchtextswith
theSMASHcommand.Nowyoucanmoveit,changeitslayer,thefont,its
sizeandsoon.
Changing an Attribute's Value
Valuesofattributesthatarealreadydefinedinthelibrarycanbechangedin
the Schematic Editor. After changing an attribute's value, the attributes
dialog displays special icons that indicate the attribute's status. The icons
havethefollowingmeaning:
theyellowiconindicatesthattheattributeinitiallywasdefined
withavariablevalueandthatthevaluehasbeenchanged.
therediconindicatesthatthevalueoftheattributewhichwas
initiallydefinedasconstanthasbeenchangedafteraconfirmation
prompt.
theplainbrowniconindicatesthataglobalattributewas
overwrittenbyapartattribute.Thevalue,however,remained
unchanged.
thebrowniconwiththeunequalsignindicatesthataglobal
attributewasoverwrittenbyapartattributeandthevaluehas
beenchanged.
123

6 From Schematic to Finished Board

Attributedialogwithdifferentattributes
GrayedtextintheAttibutes'dialogindicatesthatitcan'tbechangedorrather
theelement'sattributevaluewasdefinedasconstantinthelibrary.
Theiconsinformyouabouttheattribute'soriginanditscurrentstatus.Move
themousecursorontooneoftheiconstoletEAGLEdisplaytooltiptextsto
explain its meaning, provided the Bubble help in Options/User interface is
active.
More details on defining attributes can be found in the library chapter
beginningwithpage240.

ERC Check and Correct Schematic


A schematic diagram must be checked with the aid of the Electrical Rule
Check(ERC),whenthedesignoftheschematicdiagramhasbeencompleted,
ifnotbefore.Itisactuallyagoodideatorunthe(ERC)manytimesduring
yourdesignprocesstocatcherrorsimmediately.TostarttheElectricalRule
CheckclickontotheERCiconinthecommandmenu

ortheentryErc...

intheToolsmenu.
AlltheerrorsandwarningsarelistedintheERCErrorwindow.Errorsare
markedwitharedicon,warningswithayellowicon.
Inthecaseofacorrespondingboardfile,theERCalsocheckstheconsistency
betweenschematicandboard.Iftherearenodifferences,ERCreportsBoard
andschematicareconsistent.Otherwise theERCErrorswindowcontainsa
branchwithConsistencyerrors.Forfurtherinformationonthisseepage175.
Itispossibletosorttheerrorsandwarnings,ascendingordescending,by
errortypesorsheetnumbers.clickontothecolumnheaders Type or Sheet
therefore.

124

6.1 Creating the Schematic Diagram

TheERCErrorswindow
Ifyouselectanentryinthe Errors orWarnings branch,alinepointstothe
correspondinglocationintheschematicdiagram.Incaseyouzoomedinto
thedrawing,youcanclicktheoptionCentered.Thecurrentlyselectederroris
showninthemiddleofthedrawingwindownow.
Pleasecheckeacherrorandeverywarning.
Insomesituationsitmaybethecasethatyouwanttotolerateanerrorora
warning.Usethe Approve buttonforthis.Theerror/warningentrywillbe
removedfromthe Errors or Warnings branchandappearsinthe Approved
branch.
Ifyouwanttohavethecapabilityofdisplayinganapprovederror/warning
occurrenceinthe Errors or Warnings branch,expandthe Approved branch,
selecttheerrorentryandclicktheDisapprovebutton.Nowitistreatedasa
normalerror/warningandismarkedintheschematic.
Anapprovederror/warningretainsitsapprovedstatusaslongasyoudonot
disapprove it by clicking the Disapprove button. Even a new ERC won't
changethisstatus.
Ifthe Errors windowlistsapprovederrors orwarningsonly,itwon'topen
automaticallyafterrunningtheElectricalRuleCheckagain.Thestatuslineof
theSchematicEditor,however,willshowthefollowinghint:
ERC:2approvederrors/warnings
Movinganentryfromonebranchintotheother,markstheschematicfileas
changedandnotsaved.

125

6 From Schematic to Finished Board


Whilecorrectingtheerrorintheboard,theERCErrorswindowmayremain
open. After correcting an error or warning you can mark the entry as
Processed in the error list by clicking onto the Processed button. The
error/warning icon turns gray now. Entries marked as processed will be
rememberedaslongasyoudon'tstartERCagain.ReopeningtheERCErrors
windowwiththeERRORS

command,showsthesamestatusasyouleft

itatlast.
IfyouclickontotheClearallbutton,theErrorsandWarningsbrancheswill
be cleared. Approved errors and warnings, however, will remain in the
Approvedbranch.ThemessageListwasclearedbyuserisshownthen.
If you did not run an ERC before, the ERRORS command will start it
automaticallybeforeopeningtheerrorswindow.
TheERCcheckstheschematicdiagramaccordingtoarigidsetofrules.It
can sometimes happen that an error message or warning can be
tolerated.
If necessary, make an output of net and pin lists with the EXPORT
command.
SHOWallowsnetstobetracedintheschematicdiagram.

Organize Schematic Sheets


Ifyourschematicisabitmorecomplexoryouwanttouse morethanone
sheet, for example, for better readability, you can add (and also remove)
sheetswiththehelpofthesheetthumbnails'contextmenu.Clickwiththe
rightmousebuttonontooneofthethumbnailsthatarelocatedontheleft
sideoftheSchematicEditorwindow.
Anewsheetisalwaysaddedasthelastone.
Theschematicsheetscanbesortedbydragginganddroppingthethumbnails.
Thereforeclickwiththeleftmousebuttononathumbnailanddragittoits
newposition.
Alternatively you can sort the sheets with the EDIT command in the
commandline:
EDIT .s5 .s2
moves sheet number 5 at the position before sheet number 2. Further
informationaboutthiscanbefoundintheEDITcommand'shelpfunction.
Gotothe Options/User interface menuinorderto switchon/offthe sheet
preview.
Adding, removing, and reordering schematic sheets clears the
UNDO/REDObuffer.
126

6.1 Creating the Schematic Diagram


Whenswitchingbetweenschematicsheets,thecurrentzoomlevelofeach
sheetwillbemaintained.

Points to Note for the Schematic Editor


Superimposed Pins
Pinswillbeconnectediftheconnectionpointofanunconnectedpinisplaced
ontotheconnectionpointofanotherpin.Pinswillnotbeconnectedifyou
placeapinthatisalreadyconnectedtoanetlineontoanotherpin.

Open Pins when MOVEing


IfaGateismovedthenitsopenpinswillbeconnectedtoanynetsorother
pins which may be present at its new location. Use UNDO if this has
happenedunintentionally.

Merge Different Schematics


ThecommandsGROUP,CUT,andPASTEcanbeusedtocopyaschematicor
partsofitintoanotherone.Todothisopenaschematic,displayalllayers
(DISPLAYALL),selectallobjectsthatshouldbecopiedwithGROUP,activate
theCUTcommand,andleftclickintothedrawing.Openanotherschematic
nowandusethePASTEcommand.
WhileinsertingagroupEAGLEcheckstheobjects'namesandcomparesthem
withthosealreadyexistingintheschematic.Iftherearematchestheaffected
objectstobeinsertedgetnewunequivocalnames.
This works also with board files, provided there is no consistent
schematicavailable.

6.2 Considerations Prior to Creating a Board


Checking the Component Libraries
TheEAGLEcomponentlibrariesaredevelopedbypractisingengineers,and
correspond closely to presentday standards. The variety of components
availableis,however,sowidethatitisimpossibletosupplylibrarieswhich
aresuitableforeveryuserwithoutmodification.
There are even different Packages which are supplied by various
manufacturersusingthesameidentification!Manufacturersrecommendvery
different sizes for SMD pads, and these depend again on the soldering
procedurebeingapplied.
In short: You cannot get away without checking the components, in
particularthePackagedefinitions,beingusedwhenlayingout.

127

6 From Schematic to Finished Board


InthecaseofSMDcomponents,pleasetakeparticularcaretoensurethat
the Package from the library agrees with the specifications of your
component.Housingsfromdifferentmanufacturerswiththesamename
butdifferentdimensionsareoftenfound.

Agreement with the Board Manufacturer


IfyouplantohaveyourPCBprofessionallymanufactured,nowisthetimeto
inquire at your board manufacturer whether they stipulate any particular
valuesforthefollowingparameters:
trackwidth
shapeofsolderlands
diameterofsolderlands
dimensionsofSMDpads
textsizeandthickness
drillholediameters
numberofsignallayers
incaseofmultilayerboards:manufacturingdirectionsforBlindand
Buriedviasandcompositionoftheboard(seepage158)
clearancevaluesbetweendifferentpotentials
parametersconcerningsolderstopmaskandcreamframe
Youwill save yourself time and money if you takethesestipulationsinto
accountingoodtime.Youwillfindmoredetailsonthisinthesectiononthe
PreparingofManufacturingData(Chapter9).

Specifying the Design Rules


Alltheparametersrelevanttotheboardanditsmanufacturearespecifiedin
theDesignRules.
Usethemenu Edit/DesignRules.. toopentheDesignRuleswindowshown
below:

128

6.2 Considerations Prior to Creating a Board

DRC:AdjustingtheDesignRules

General Principles
Thefirsttimethatyoucallthisdialog,theDesignRulesareprovidedbythe
program.Ifnecessary,adjustthevaluestosuityouroryourBoardhouse's
requirements.
The Apply buttonstoresthevaluesthatarecurrentlysetinthelayoutfile.
ChangestovariousDesignRules,likethesettingsconcerningtheRestring,
areimmediatelydisplayedintheLayoutEditorafterclickingApply.
TheDesignRulescanbesavedinaspecialDesignRulesfile(*.dru)bythe
useoftheSaveas..button.Soyoucaneasilyusethissetofrulesforanother
board.
ToapplyasetofDesignRulestoaboard,youcandragany dru fileofthe
Design Rules branch of the tree view inthe ControlPanel intotheLayout
EditorwindoworclicktheLoad.. buttoninthe File taboftheDesignRules
window.
Edit Description.. can be used to alter the descriptive text for the current
parameterset.ThedescriptionusuallyappearsintheFiletab,ascanbeseen
intheimageabove.HTMLtextcanbeused.Youwillfindnotesonthisinthe
helpsystem.
The Design Rules dialog offers a range of different options that can be
selectedthroughthetabs.Theoptionsinclude:
File

ManagetheDesignRules

Layers

Numberofcopperlayers,structureofmultilayer
boards,kindandlengthofvias,thicknessofcopper
andisolationlayers
129

6 From Schematic to Finished Board


Clearance Distancesbetweenobjectsinthesignallayers
representingsignalsthatmaybedifferentorthesame
Distance

Distancesfromtheboardedgeandbetweenholes

Sizes

Minimumtrackwidthandholediameter,particularly
forMicroandBlindvias

Restring

WidthoftheremainingringatPadsand(Micro)viasand
thediameterofThermalandAnnulussymbolsinsupplylayers

Shapes

ShapesofPadsandSMDs

Supply

Thermalandinsulationsymbolsinsupplylayers

Mask

Valuesforsolderstopandsoldercreammasks

Misc

Additionalchecks

Mostparametersareexplainedwiththehelpofasmallimage.Assoonas
youclickintoaparameterline,theassociateddisplayappears.

Layers
Definethenumberofsignallayersandthekindofvias(BlindorBuriedvias)
here.WiththehelpofamathematicalexpressionintheSetuplinetheproper
structure ofthe board, theappropriate combinationofcoresandprepregs
andtheresultingfacilitiesforviascanbedefined.

DesignRules:LayerSetup
In most cases (for simple two or more layer boards) the vias are drilled
throughalllayers.Theimageaboveshowsthedefaultsetupforatwolayer
board.Theexpression(1*16)definesonecorewithlayers1and16,which

130

6.2 Considerations Prior to Creating a Board


can be connected with vias. Parenthesis around the expression define
throughhole(continuous)vias.
Basicexamples:
1layer:
16

Onlylayer16,novias.

4layers,viasthroughalllayers:
(1*2+3*16)
Twocoresareaffiliatedwitheachother.
6layers,viasthroughalllayers:
(1*2+3*4+5*16)
Threecoresareaffiliatedwitheachother.
ThefieldsforCopperandIsolationareusedtodefinethethicknessofcopper
andisolationlayers.Thesesettingsareonlyrelevantforcomplexmultilayer
boardsthatuseBlindorMicrovias.
ThecommandsDISPLAY,LAYER,WIRE,andROUTEworkonlywiththose
signallayersdefinedintheLayerSetup.
FurtherinformationandexamplesabouttheLayersetupcanbefoundinthe
sectionMultilayerBoardsbeginningwithpage158.
LoadingaboardfilethatwasmadewithanolderversioncausesEAGLE
tocheckwhichsignal layerscontainwires.Theselayersappearinthe
layersetup.Pleaseadjustitifnecessary.

Minimum Clearance and Distance


Clearance referstotheminimumdistancesbetweentracks,pads,SMDsand
viasofdifferentsignals,andbetweenSMDs,padsandviasofthesamesignal.
SettingthevaluesforSamesignalchecksto0,disablestherespectivecheck.
Distance allows settings to be made for the minimum distances between
objectsinlayer20, Dimension,inwhichtheboardoutlineisusuallydrawn,
andbetweenholes.
Setting the value for Copper/Dimension to 0 switchesofftheminimum
clearancecheckbetweencopperanddimension.
In this case EAGLE does not recognize holes that are placed on wires.
Polygons don't keep their distance to objects in layer 20, Dimension,
either!
Ifanetbelongstoaspecialnetclass,thevaluesforClearanceandforthedrill
diameterofvias(Drill),definedbymeansoftheCLASScommand,aretaken
intoconsideration,providedthesevaluesarehigherthanthosegiveninthe
DesignRules(ClearanceandMinimumDrillintheSizestab).

131

6 From Schematic to Finished Board


Sizes
Theminimumvaluesfortrack widthandfor holediameterallowedinthe
layoutareselectedhere.
If additionally net classes are defined and values for clearance, width, or
minimum drill, are set, the respectively higher value is taken into
consideration.
Hereyousettheaspectratioofdrilldepthtodrilldiameterforboardsthat
containBlindvias.Pleasecontactyourboardhouseforthisinformation!If
theboardhousespecifies,forexample,anaspectratioof1:0.5youhaveto
enterthevalue0.5inthelineMin.BlindViaRatio.
Formicroviasyouhavetosettheminimumdrilldiameterintheline Min.
MicroVia.Settingthisvaluehigherthanthevaluein MinimumDrill means
thattherearenomicroviasused(default).

Restring (Pad and Via Diameter)


ThesettingsmadeunderRestringdeterminethewidthoftheringremaining
atpads,vias,andmicrovias.Theremainingringreferstotheringofcopper
that remains around a hole after a pad or via has been drilled. Different
selectionscanbemadeforthewidthoftheremainingringintheinnerand
outerlayers.PadsmayalsodifferbetweentheTopandBottomlayers.
Usuallythevalueisexpressedasapercentageoftheholediameter.Minimum
andmaximumvaluescanadditionallybespecified.
TherestingsettingsalsoaffectthediameterofThermalandAnnulussymbols
insupplylayers,providedtheRestringflag(intheDesignRules'Supply tab)
issetforThermal/Annulussymbols.
As soon as you change a parameter and click the Apply button you can
directlyseetheeffectsinthelayout.Ifyouwanttousedifferentvaluesfor
the upper and lower layer (or different shapes, see Shapes tab), it is
recommended to set thelayer color for layers 17, Pads,and18, Vias,the
sameasthebackgroundcolor(blackorwhite).Inthiscaseyoucanrecognize
therealsizeandshapeofthepad/viainitsrespectivelayer.
The INFO command which has the same dialog as the context menu's
Properties entry, informs you about the via diameter in outer and inner
layers,andabouttheinitialuserdefinedvalue.Forexample,inthefollowing
image:

132

6.2 Considerations Prior to Creating a Board

DisplayingViapropertieswithINFO
Predefinedvalue(byCHANGEDIAMETER):
Actualcalculateddiameterintheouterlayers:
Actualcalculateddiameterintheinnerlayers:

0.7
0.9
0.8

Here the resulting via diameter is bigger than the predefined value,
accordingtothegivenminimumvalueintheDesignRules'Restringsettings
forVias.
The following image illustrates the template for setting the width of the
residualring.Thestandardvaluefortherestringaroundholesis25%ofthe
holediameter.Sincethewidthoftheringonsmallholesspecifiedthisway
wouldsoonfallbelowatechnicallyfeasiblevalue,aminimumvalue(here:
10milforpads,8milforvias,4milformicrovias)isspecifiedhere.Itisalso
possibletospecifyamaximumvalue.
Example:
Theringaroundaholewith40mildiameteris10mil(25%).Ittherefore
liesinbetweenthemaximumandminimumvalues.
Iftheholeisonly24milindiameter(e.g.foravia),thecalculationyieldsa
restringvalueofonly6mil.Foraboardmadeinstandardtechnologythisis
extremelyfine,andcannoteasilybemade.Itmightwellinvolveextracosts.
Inthiscaseaminimumvalueof10milisgiven.

133

6 From Schematic to Finished Board

DesignRules:Restringsettings
Ifyouliketodefinearestringwithafixedwidth,usethesamevaluefor
minimumandmaximum.Thevalueinpercenthasnoeffectinthiscase.
Diametercheckbox:
Incaseyoudefinedadiameterforapadinthelibraryorforaviainthe
Layout Editor, and you want to have this given diameter taken into
considerationfortheinnerlayers,activatetheDiameteroption.Thiscanbeof
interestifapredefinedpadorviadiameterexceedsthevaluecalculatedby
the Design Rules. Otherwise the pad or via in the inner layers would be
smaller than in the outer layers. If you want pads/vias to have the same
diameterinalllayers,settheoptionDiameter.
Theoptionissetoff,bydefault,fornewcreatedboards,butwillbesetonfor
boardsthatareupdatedfromversion3.5orpriorbecauseintheseversions
padsandviashadthesamediameterinalllayers.Thustheupdateprocess
doesnotchangetheoriginallayout.
AllthevaluescanalsobegiveninMillimetres(forexample0.2mm).

Shapes
SMDs:
A rounding factor can be specified here for SMD pads. The value can be
between0%(norounding)and100%(maximumrounding).
AsquareSMDhasbeenplacedinsteadofanoblongoneonthefarrightof
the diagram. After assigning the property Roundness = 100 %, the SMD
becomesround.

134

6.2 Considerations Prior to Creating a Board

Roundness:0102550100[%].Right:100%,square
Pads:
Thisiswheretheformofthepadsisspecified.Itispossibletogivedifferent
settingsforthetopandbottomlayers.
The As in library option adopts the form defined in the Package Editor.
ClickingonApplyshowsthechangeimmediatelyintheLayoutEditor.
PadsandViaswithininnerlayersarealwaysround,nomatterwhatthey
areinToporBottomlayer.Thediameterisdeterminedbytherestring
settings.
ProvidedapadwasgiventheFirstflaginthelibraryonecanspecifyacertain
shapeforallthosepadsinthelayout.
ElongationdefinestheaspectratiooflengthtowidthofLongandOffsetpads
(seeimage).Thevalueisgiveninpercent.Clickwiththemouseintothefield
LongorOffsetandtheimageontheleftshowsthecorrespondingcalculation
rule.
100%isequivalenttoanaspectratioof2:1.0%resultsinanormaloctagon
padwithanaspectratioof1:1.Themaximumis200%(ratio4:1).

DesignRules:Adjustingpadshapes

135

6 From Schematic to Finished Board


NotesonthedisplayintheLayoutEditor:
If padsor viashavedifferentshapesondifferentlayers,theshapesofthe
currentlyvisible(activatedwithDISPLAY)signallayersaredisplayedontop
ofeachother.
Ifthecolorselectedforlayer17,Pads,or18,Vias,is0(whichrepresentsthe
currentbackgroundcolor),thepadsandviasaredisplayedinthecolorand
fillstyleoftheirrespectivelayers.Ifnosignallayerisvisible,padsandvias
arenotdisplayed.
Ifthecolorselectedfor layer17, Pads,or18, Vias,is not thebackground
colorandnosignallayersarevisible,padsandviasaredisplayedintheshape
ofthetopandbottomlayer.
ThisalsoappliestoprintoutsmadewithPRINT.

Supply
Specifies the settings for Thermal and Annulus symbols. These special
symbolsaregeneratedinsupplylayersthatarecreatedautomatically(layer
namestartingwitha$sign).
EAGLE calculates the required dimensions for Annulus and Thermal
apertures based on the pad's drill diameter and theAnnulus andThermal
parameterssetintheDesignRules:
Gap defines thegapbetweentheinsulationbridgesonaThermalsymbol.
Thespecificationismadeasa%oftheholediameter,andisconstrainedby
maximumandminimumvalues.
The Isolate values for Thermal and Annulus determine the width of the
thermalbridgeorring.
TheRestringoptiondetermineswhethertheinsulationbridgeoftheThermal
symbolshouldbedrawnimmediatelyattheedgeoftheholeoratadistance
fromtheholegivenbytherestringvalue(Restringtab,Innersetting).
Ifthe Restring optionfor Annulus isdeactivated,afilledcircleisgenerated
insteadoftheAnnulusring.Thisisthedefaultsetting.
The isolate value for Thermal also applies to polygons. It determines the
distancebetweenapolygonandtherestringofthepadorviathatisjoinedto
thepolygonthroughaThermalsymbol.
TheGeneratethermalsforviasflagpermitsThermalsymbolsatthroughholes.
Otherwiseviasarefullyconnectedtothecopperplane.Thisappliesalsofor
polygons. But you can disable this option for individual polygons with
CHANGETHERMALSOFFandamouseclickontothepolygon'scontour.
Inside hatched polygons EAGLE doesn't generate Thermal symbols for
viasthatdonothaveadirectcontacttooneofthepolygonlines.
Calculationsforautomaticallycreatedsymbolsinsupplylayers:
Annulus:
136

6.2 Considerations Prior to Creating a Board


Inner diameter = pad hole diameter + 2 * restring
Outer diameter = max(pad-hole diameter, inner diameter)
+ 2*isolate

Default:restring=0(fullyfilled),isolate=20(mil).
Thermal:
Inner diameter = pad hole diameter + 2 * restring
Outer diameter = inner diameter + 2 * isolate

Isolate

Gap

Restring

Pads or SMDs marked with the flag NOTHERMALS (CHANGE THERMALS


OFF) in the Package Editor will be connected basically without Thermal
symbols.

Masks
Settingsfortheovermeasureofthe solder stopmask(Stop)andthe solder
creammask(Cream)aremadehere.
Thedefaultvalueforsolderstopis4mil,i.e.minimumvalueismaximum
valueis4mil.Thepercentvaluehasnoeffectinthiscase.
Thevalueforthecreamframeissetto0,whichmeansthatithasthesame
dimensionsastheSMD.

137

6 From Schematic to Finished Board

DesignRules:SettingsforSolderStopandCreamFrame
Ifvaluesaregiveninpercent,inthecaseofSMDsandpadsoftheformLong
or Offset, the smaller dimension is the significant one. The values are
constrainedbyminimumandmaximumvalues.
ThevalueforCreamisgivenpositively,asisFrame,althoughitseffectisto
reducethesizeofthesoldercreammask(creamframe).
ThesoldercreammaskisonlygeneratedforSMDs,andisdisplayedonlayer
31,tCream,orlayer32,bCream.
Thesolderstopmaskisdrawninlayers29,tStop,or30,bStop.
SettingtheflagSTOPorCREAM(onlyforSMD)toOFFforapadorSMDat
thePackage definitionforbids EAGLEtogenerateasolderstopmaskora
creamframeforit.
Limitdetermines,togetherwiththeholediameter,whetherornotaviaisto
becoveredwithsolderstoplacquer.
Example:
ThedefaultvalueforLimitis0.Thismeansallviasgetasolderstopsymbol.
Theyarefreeofsolderstoplacquer.
SettheLimit=24:
Allthroughplatedholeswithdiametersupto24mildon'tgetasolderstop
symbol(theyarelacquered),butviaswithlargerholediametersgetasolder
stopsymbol.
For vias with hole diameters below the Limit the STOP flag can be set
(CHANGESTOPON).EAGLEgeneratesasolderstopmaskthen.

Misc
Hereyoucanselect/deselectvariouscheckswhicharemadebytheDesign
RuleCheck:
138

6.2 Considerations Prior to Creating a Board


Checkgrid
examineswhetherobjectsliepreciselyonthegridcurrentlysetbytheGRID
command.Thistestisnotalwaysworthwhile,sinceinmanycasesDevices
built to both metric and imperial grids are in use at the same time. No
commongridcanbefoundinsuchacase.
Checkangle
ensuresthatalltracksarelaidatwholemultiplesof45degrees.Thistestis
normallyswitchedoff,butcanbeactivatedifrequired.
Checkfont
(de)selectsthefontcheck.
TheDRCchecksiftextsarewritteninvectorfont.Textwhichisnonvector
fontismarkedasanerror.Thischeckisnecessaryduetothefactthatthe
CAMProcessorcan'tworkwithothersthanvectorfontforthegenerationof
manufacturingdata.
Assumedyouuseproportionalfonttextinthebottomlayer,placeitbetween
two tracks, and use the CAM Processor to generate Gerber files, it could
happenthatthetracksareshortedbythetext(heightandlengthofthetext
canchange)!
Default:on.
Checkrestrict
canbesetoffifcopperobjectsshouldnotbecheckedagainstrestrictedareas
drawninlayers39,tRestrict,and40,bRestrict.
If restricted areas and copper objects are defined in a common Package,
EAGLEdoesnotcheckthemagainsteachother.
Defaultsetting:on.

6.3 Create Board


Afteryouhavecreatedtheschematic,clicktheBoardicon.
Anemptyboardisgenerated,nexttothecomponentsthataretobeplaced,
joinedtogetherbyairwires.Supplypinsareconnectedbythosesignalswhich
correspondtotheirname,unlessanothernetisexplicitlyjoinedtothem.
Theplacementgridforcomponentsissetto50mil(1.27mm)bydefault.
If you prefer a different placement grid, you are allowed to specify it
optionally with the BOARD command in the Schematic Editor's command
line.
Tohavethecomponentsplaced,forexample,ina1mmgrid,type:
BOARD 1mm
Theunithastobespecifiedinthecommandlinedirectly.
TheboardislinkedtotheschematicbytheForward&BackAnnotationengine
providedthatbothfilesarealwaysloaded.Ifbothloadedduringeditingthey
are guaranteed to remain consistent. Alterations made in one file are
automaticallycarriedoutintheother.

139

6 From Schematic to Finished Board


Ifyoualreadygeneratedaboardfromyourschematicandcontinueplacing
componentsintheschematic,thereferringpackagesintheboardareplaced
inthecurrentgridsettingoftheLayoutEditor.
If,forexample,theSchematicisloadedandeditedwithouttheLayout,
consistencycanbelost.TheForward&BackAnnotationEnginenolonger
functions.Differencesmustthenberectifiedmanuallywiththeaidofthe
errormessagesprovidedbytheERC(seepage175).

Without the Schematic Editor


IfyouworkwithoutaSchematicEditor,youmustgenerateanewboardfile,
placethePackageswiththeADDcommandanddefinetheconnectionswith
theSIGNALcommand.
Tounderstandthisprocess,pleasereadthesectiononPlacingComponentson
page110,andthesectiononSpecifyingNetClasses onpage117.Thesetwo
pointsapplytotheLayoutEditoraswellastotheSchematicEditor.
YouarealsoallowedtodefineattributesintheLayoutEditor.Pleasereadthe
chapteraboutdefiningAttributesbeginningwithpage121.
The remaining procedures are identical for users with and without the
SchematicEditor.

Specify the Board Outline


A board that has just been generated from a schematic diagram initially
appearsasinthefollowingdiagram:

140

6.3 Create Board

Boardcommand:Createthelayoutfromtheschematic
The Devices are automatically placed at the left of the board. The board
outlineisdrawnasasimplelineinlayer20, Dimension.Theoutlineofan
eurocard is displayed in the Professional and Standard editions, a half
eurocardintheLightedition.
Ifyouwish,you mayalter thesizeorshapeoftheemptyboardwiththe
MOVEandSPLITcommands.Pleasenotethehintsinthehelpfunctionfor
WIREandMITER.It'seasilypossibletodrawroundoutlines,too.
Youcanalsodeletetheoutlineandplaceaframefromalibrary(suchas
19inch.lbr)withADD.
Ascriptfilecan,alternatively,bereadbytheSCRIPTcommand.Theeuro.scr
file,forinstance,canbeused.Simplytype
SCRIPT EURO
onthecommandline.
Theboardoutlineservessimultaneouslyasaboundaryfortheautorouteror
Followmerouter(ifpresent).
Ifyourboardhasadditionalcutouts,youshoulddrawthenecessarymilling
contours in a separate layer, for example in 46, Milling. Use the WIRE
commandwithwirewidth=0todefineyourlines.

141

6 From Schematic to Finished Board

Arrange Components
Drag the various components to the desired positions. Use the MOVE
commandforthispurpose.Devicescanbeclickedondirectly,oraddressed
byname.
Ifyoutype,forexample,
MOVE R14
inthecommandline,theDevicenamedR14willbeattachedtothemouse
cursor,andcanbeplaced.
Precisepositioningresultsfrominputsuchas:
MOVE R14 (0.25 2.50)
R14'slocatingpointisnowlocatedatthesecoordinates.
KeeptheCtrlkeypressedwhileselectingacomponentinordertoletits
origin jump atthe mousecursor and move it onto thecurrently used
grid.
AgroupofDevicescanbetransposedbycombiningtheGROUPandMOVE
commands.ClickontotheGROUPiconandthendrawaframearoundthe
desiredelements,clickMOVE,andthenclickwithinthegroupwiththeright
mousebuttoninordertoselectit.Withaclickoftheleftmousebuttonyou
canplacethegroupatthedesiredlocation.
ROTATE,oraclickwiththerightmousebuttonwhiletheMOVEcommandis
activeturnsaDevicethrough90degrees.Thisalsoappliestogroups.
Inorder to place a component in any angle you mayspecifythe rotation
directly with the ADD command or later with ROTATE or MOVE in the
parametertoolbar.

ParametertoolbarforROTATE,MOVE,ADD,COPY,TEXT
NexttotheAngleboxarethebuttonsfortheSpinandMirrorflag.
Thelefthand Spin iconisselected

,ifthespinflagisnotset(default).

Thismeansthattextsaredisplayedalwaysreadablefromtherightorfrom
thebottomsideofthedrawing.
IfthespinflagisactivaetherighthandSpinnedicon
textscanbedisplayedinanyrotation,alsoupsidedown.

142

ismarkedthe

6.3 Create Board


The Mirror icons used with components determine where a component is
placed:onthetopside (default)oronthebottomsideoftheboard.Ifa
componentisplacedontop,thelefthandiconisactive.Ifyouwanttoplace
itonthebottomside,clickontotherighthandMirroredicon.
Asanalternativeyoucanworkwiththecommandline:
ROTATE R45 'IC1' ;
addsarotationof45tothecurrentpositionofpartIC1.Assumedyoutried,
for example, to rotate the component with the ROTATE command and
pressedmousebutton,andyoudecidedthatitisnotpossibletoobtainthe
exact rotation angle this way (because of a too coarse grid) type in the
commandline:
ROTATE =R45 'IC1' ;
TherotationofIC1isnowexactly45.The=signstandsforabsolutevalues.
Theinitialpositiondoesnotmatter.
If,forexample,aSMDshouldbeplacedonthebottomsideoftheboardyou
mayaddtheMirrorflag,asin:
ROTATE =MR45 'IC1' ;
AnadditionalSpinflagcausestextstobewrittenupsidedown(byarotation
of180),thatmeanstheycanbereadfromthetopview:
ROTATE =SMR180 'IC1' ;
TheSpinflagisalternating,i.e.usingitagaincausesthetexttobedisplayed
'normal'again.
Check frequently whether the placement is optimal. To do this, use the
RATSNESTcommand.Thiscalculatestheshortestconnectionsoftheairwires
betweentwopints.
Inboardsthatcontainahugenumberofsignalsitmaybeusefultohidesome
of the airwires or display only a few of them. If you want to hide, for
example,thesignalsVCCandGND,typeinthecommandline
RATSNEST ! VCC GND
ifwanttoseethemallagain,type:
RATSNEST *
MoreinformationaboutthiscanbefoundintheEAGLEhelpsection.
ThepositionofparticularDevicescanbedisplayedbytypingtheDevicename
ontothecommandlineorbyclickingdirectlyonanobjectwhiletheSHOW
commandisactive.
INFOshowsdetailedinformationabouttheselectedobject.Dependingonthe
objectyouclickedon,someofitspropertiescanbealteredinthedialog.
TheLOCKcommandallowsyoutofixcomponentsontheboard.Theycan't
bemovedanymorethen. Shift+LOCKreleasesthecomponentagain.LOCK
canbeusedwithgroupsaswell.

143

6 From Schematic to Finished Board


Ifthetextforthenameorthevalueislocatedawkwardly, separatethem
fromtheDevicewithSMASHandmovethemtowhateverpositionyouprefer
withMOVE.AtthesametimeEAGLEshowsalinefromthetext'soriginto
thebelongingobject.ClickingwithDELETEoneitherofthetextsmakesit
invisible.
ActivatetheSMASHcommand,holddownthe Shift key,andclickontothe
componenttohavethetextsdisplayedattheiroriginalpositionsagain.They
arenolongereditableandunsmashed,again.Anotherwaytoarchivethisis
todeactivatetheoptionSmashedinthecontextmenu'sPropertiesentry.
PleasekeepinmindthattheCAMProcessoralwaysusesvectorfontfor
generatingmanufacturingdata.
Werecommendtowritetextsinthelayoutalwaysinvectorfont(atleast
inthesignallayers).Ifyoudosotheshowntextmeetsexactlyreality.
Furtherinformationcanbefoundonpages45and157.

Attributes for Components and Global Attributes


If you want to assign any further information than name and value to a
componentintheBoard,youcandothiswiththeATTRIBUTEcommand.
ThedefinitionofattributesforacomponentcanbemadeintheSchematicas
wellasintheboardfile.IfBack&ForwardAnnotationisactive,anyattribute
changewillaffectbothfiles,schematicandboard.
Globalattributesarenotvalidforsinglecomponentsbutforthewholeboard.
TheycanbedefinedinBoardandSchematicseparately.
You will find more information about this in the Creating the Schematic
chapteronpage121.

Boards with Components on Both Sides


If the board is also going to have components on the Bottom layer, the
MIRRORcommandisused.ItcausesDevicesontheundersidetobeinverted.
SMDpads,thesilkscreenandthelayersforthesolderstopandsoldercream
masksareautomaticallygiventhecorrecttreatmenthere.
WhileADD,COPY,MOVE,orPASTEisactiveitispossibletomirroranobject
oraselectedgroupwiththemiddlemousebutton.
DefinecomponentsinthePackageEditoralwaysonthetopside!

Exchanging Packages
If, as the layout is developed, you want to replace the selected Package
variantwithadifferentone,thenyoucanuseeitherthePACKAGEorthe
REPLACEcommand,dependingonthesituation.

144

6.3 Create Board


PACKAGE Command
Itisassumedthatthelayoutandtheschematicdiagramare consistent and
theDevicehasbeendefinedwithmorethanonePackagevariant.
Type in the command line PACKAGE and click onto the Package to be
replacedoralternativelyclickontothePackagewiththerightmousebutton
andselectthePackageentryfromthecontextmenu.Athirdvariantwouldbe
toclickontotheCHANGEiconandselectthePackageoption.
Nowyouselectthedesired Package,andconfirmitwith OK,inthedialog
thatthenappears.

CHANGEpackagedialog
IftheShowalltechnologies optionisactive,thePackageversionsforallthe
technologiesavailableforthisDevicearedisplayed.Ifthisoptionisnotactive
youwillonlyseePackagesthataredefinedintheselectedtechnology.
ThePackagecanalsobeexchangedfromwithintheschematicdiagram.
Devicesthatdon'thavealternativePackagevariantsdefined,canbemodified
in the Library Editor. Add further Package variants asneeded andupdate
your drawing with the new library definition. See page 231 Choosing the
PackageVariantsforfurtherinformation.
IfyouchangethePackagevariantofaDevicewhichyougaveanewvalue
with the help of the VALUE command, althoughithasbeen defined with
VALUEOff,thevaluewillremainunchanged.Seealsopage76.
IfyouwouldliketochangethePackagevariantforseveralidenticalparts,
youcandothisinthecommandline.
DefineaGROUPwithallpartsthatshallgetanewPackagevariant,first.
Nowtypeinthecommandline
CHANGE PACKAGE 'new-device-name'
andclickwithCtrl+rightmousebuttonintothedrawing.
ThenameofthenewPackagevarianthastobeenclosedininvertedcommas.

145

6 From Schematic to Finished Board


REPLACE command
Consistent Schematic/Layout Pair
The REPLACE command allows you to substitute one component with
another.ThewellknownADDdialogwindowopenswhereyoucanselectthe
new part. Now click onto the part you want to have replaced in the
SchematicorLayout. The old and new Device mustbecompatible,which
meansthattheirusedGatesandconnectedpins/padsmustmatch,eitherby
theirnamesortheircoordinates.Otherwisethesubstitutionisnotpossible.
Layout without Schematic
Ifyouhavealayoutwithoutanassociatedschematicdiagram,youexchange
the Package with the aid of the REPLACE command. REPLACE opens the
windowthatisfamiliarfromtheADDdialog,inwhichitispossibletosearch
forDevices.WhenthePackagehasbeenchosenyouclickonthepartthatis
tobereplacedinthelayout.
TheREPLACEcommandoperatesintheLayoutEditorintwoways,chosen
withtheSETcommand:
SETREPLACE_SAMENAMES;(default)
SETREPLACE_SAMECOORDS;
ThefirstmodepermitsPackageswhosepadorSMDnamesareidenticaltobe
exchanged.Theconnectingareascanhaveanyposition.
In the second case (replace_same coords) the pads or SMDs in the new
Packagemustbelocatedatthesamecoordinates(relativetotheorigin).The
namesmaydiffer.
ThetextforthenameandvalueofaDeviceisonlyexchangediftheyhave
notbeenseparatedfromtheDevicewithSMASH.
The new Package can come from a different library, and can contain
additional pads and SMDs. Connections on the old Package that were
connectedtosignalsmustexistcorrespondinglyinthenewPackage.Thenew
Package can even have fewer connections, provided that this condition is
satisfied.

Changing the Technology


ItispossibletochangethetechnologyofaDeviceinthelayoutatanytime,
provided there are various technologies defined in the library. Use the
CHANGEcommandwiththe Technology optionorthe Technology command
ofthecontextmenu(availablebyclickingontothePackagewiththeright
mouse button). This procedure is identical to the onedescribed before in
whichPackageformsareexchangedusingPACKAGE.

Define Forbidden Areas


Areasintheformofrectangles,polygonsorcirclesinlayers41,tRestrict,and
42, bRestrict,areforbiddenfortheAutorouter/Followmerouter.Nocopper
objectsmaybedrawninthetoporbottomlayersinsidetheseareas.These
146

6.3 Create Board


regionsaretestedbytheDesignRuleCheckandtakenintoconsiderationby
theAutorouter/Followmerouter.
Layer43, vRestrict,isfordrawingrestrictedareaswheretheAutorouteror
theFollowmeroutermaynotsetvias.vRestrictregionsarenotexaminedby
theDRC.

Routing Placing Tracks Manually


TheROUTEcommandallowstheairwirestobeconvertedintotracks.Aclick
onthemiddlemousebuttonwhileatrackisbeinglaidallowsachangeof
layer. A via is placed automatically then. Clicking with the right mouse
buttonchangesthewayinwhichthetrackisattachedtothemouseandhow
it is laid (SET command, Wire_Bend parameter). Among them are modes
whichallowtouseawireas90degreeorasfreedefinablearc.
IfyourEAGLElicenseprovidestheAutorouterModule,twoadditionalwire
bends(Wire_Bend8and9)areavailablethatcausetheROUTEcommandto
workasFollowmerouter.TheFollowmeroutercanrouteaselectedairwire
automatically.Thepositionofthemousecursordeterminesthetraceofthe
connection. The settings of the Design Rules and the relevant Autorouter
settingsaretakenintoconsideration.
PleasechecktheAutorouterchapterformoreinformationaboutfunctionand
usageoftheFollowmerouter.
The signal'snameandnetclasswillbedisplayedinthestatusbar.Whena
signallinehasbeencompletelylaid,EAGLEconfirmsthatthereisacorrect
connectionwithashortbeepasitisplaced.
The signal name can be used in the command line directly, for example
ROUTE VCC.EAGLEstartsthewireatasignal'sconnectionpointwhichis
nearesttothecurrentmouseposition.
Ifyouwanttohavethewirestartedatavia,presstheCtrlkeyandclickonto
thevia.
Ifthereisnolongerenoughroomforroutingasignal,othertrackscanbe
relocatedwithMOVEandSPLIT,orthepropertiesoftracks(width,layer)
canbemodifiedwithCHANGE.
SPLITcanbeusedtoreroutealreadyexistingtracks,ifnecessary,arrange
segmentforsegmentofthewireanewandremovethepresenttrackwiththe
commandsCtrl+DELETEand/orRIPUP.
Ifaplatedthroughhole(avia)istobeplacedatacertainpoint,thiscanbe
donewiththeVIAcommand.UsetheNAMEcommandtoassigntheviawith
thesignalitshouldbeconnectedto.
Ifyouwanttobeginawireofapartiallyroutedsignalatanotherposition
thanthestartorendpointofanairwire(forexample,atafartherpositionon
awirethatbelongstothesamesignal),presstheCtrlkeyandandclickthe
left mouse button at the position where the wire should begin. EAGLE
generatesanewairwirefromthispositionthen(seealsohelpfunctionfor
ROUTE).
147

6 From Schematic to Finished Board


Airwireswithlengthof0(forexample,fromToptoBottomlayer)aredrawn
asacrossinlayer19,Unrouted.
Endingawireatthesamepositionwhereanotherwireofthesamesignalbut
inanotherlayeralreadyexistsandpressingthe Shift keyatthesametime
causesEAGLEtoplaceavia.Otherwiseitwon't.
IfyouintendtodesignamultilayerboardanduseBlindandBuriedorMicro
vias,pleasenotethedetails(alsofortheVIAcommand)inthesectionabout
MultilayerBoardsbeginningatpage158.
While laying out wires EAGLE calculates the shortest connection to the
closest point of the current signal automatically. This connection is
representedbyanairwire.
PadsandSMDsthatbelongtothecurrentlyroutedsignalhavethesocalled
magneticpadsfunction:
Withinacertainradiusaroundthepadthewirewillbesnappedtothepad's
centerautomatically.Thatistosayassoonasthelengthoftheautomatically
calculatedairwireisshorterthanthegivenvaluefor snaplength,thewire
jumpsintothepad'sorSMD'scenterpoint.Itdoesn'tmatterwhetherthepad
orSMDisexactlyloactedatthecurrentlyusedgrid.Thesnappointisalways
thecenterpoint.
Assoonasyoumovethemousecursorawayfromthispadbeyondthelimits,
theairwirewillbeshownandthewiretoberoutedfollowsthemouseagain.
ThesnaplengthcanbedefinedinthemenuOptions/Set/Misc.Defaultvalue
is20mil.
As the routing proceeds it is helpful to run the RATSNEST command
frequently,inordertorecalculatealltheairwires.
Formorecomplexboardsitmaybeusefultoadjustthe SnapLength inthe
Options/Set/Misc menu as described on page Fehler: Referenz nicht
gefunden.
Use RIPUP ifyouwanttoconvertthewholeorpartofatrackoraviathat
hasbeenlaidbacktoasignalline.Byclickingonatrackitis decomposed
between the nearest bends. If you click on this location again (on the
airwire),thewholesignalbranchbacktothenearestpadsisdecomposed.If
youwanttoundothewholeofthesignal,clickRIPUPandenterthenameof
thesignalonthecommandline.Morethanonemaybeenteredatthesame
time.
Thecommand
RIPUP GND VCC +5V
convertsthethreesignalsGND,VCCand+5Vbacktoairwires.
RIPUP ! GND VCC
ontheotherhandconvertsallsignalsapartfromGNDandVCCtoairwires.
RIPUP ;

148

6.3 Create Board


converts all signals (that are visible in the editor) into airwires. To truly
includeeverytrack,allthelayersinwhichtrackshavebeendrawnmustbe
visible(DISPLAY).
Ifyouwanttousewiresasarcsortrytosmooththewirebendsseethehints
concerning the MITER command in the help function. The miter radius
determines how the wire joints are mitered. A positive value generates a
rounding,anegativeoneastraightline.Themiterradiusinfluencessome
bendmodi(0,1,3,4;seeSETcommand)andisshownadditionallyinthe
parametertoolbarofthecommandsSPLIT,ROUTE,WIRE,andPOLYGON.
WhileWIREorROUTEisactiveitispossibletoclickthroughthepreviously
mentioned wirebends(bendmodes)with therightmousebutton.EAGLE
knowstendifferentmodes(0..9)whichareshownasiconsintheparameter
toolbar.Mode8and9arespecialmodesfortheFollowmerouter.Theyare
notavailable,ifyourlicensedoesn'tsupporttheAutoroutermodule.
HoldingdowntheShiftkeywhileclickingtherightmousebuttonreversesthe
directionofselection.
Holding down the Ctrl key allows to toggle between complementary wire
bends.
If you want to have only some wire bends available for the right mouse
button,youcandefinethis,forexample,intheeagle.scrfile.
Supposedyouwanttoworkwithwirebendsnumber2,5,6,and7usethe
followingsyntax:
SET WIRE_BEND @ 2 5 6 7 ;
However,ifyouwanttouseanotherbendmodeyoucanalwayschoseitfrom
theparametertoolbar.
ItisalsopossibletoleavethetracklayingtotheAutorouterwhichhasits
ownchapterinthismanual.
LayingtrackswiththeFollowmerouterisexplainedinasubsectionof
theAutorouterchapter.

Defining a Copper Plane with POLYGON


EAGLEcanfillregionsofaboardwithcopper.Simplydrawthebordersofthe
areawiththePOLYGONcommand.Thepolygonisdisplayedasadottedline
in the outline mode. You give the polygon a signal name, using NAME
followedbyaclickontotheborderofthepolygon.Thenalltheobjectsthat
carrythissignalareconnectedtothepolygon.Bothpadsand,optionally,vias
(as specified in the Design Rules) are joined tothecopperplane through
Thermalsymbols. Elements notcarryingthissignalarekeptataspecified
distance.
RATSNEST calculates and displays the surface area of allpolygonsin the
layout.IfyoucallRATSNESTwithasignalname,forexample
RATSNEST GND ;
149

6 From Schematic to Finished Board


onlytheGNDpolygon(s)willbecalculated.Allotherpolygonsinthelayout
willremainunchangedintheoutlinemode.
RIPUP,followedbyaclickonthepolygonborder,makesthecontentinvisible
again. Ifthereareseveralpolygonsinyourlayout,andyouwanttohave
themdisplayedintheoutlinemodeagain,typeinthecommandline:
RIPUP @ ;
Tohaveallpolygonsofaparticularsignalswitchedtooutlinemode,specify
thesignalname,like
RIPUP @ GND ;
MoreinformationaboutthesyntaxcanbefoundinthehelpaboutRIPUP.
Thecontentofthepolygonisnotsavedintheboardfile.Whenyoufirstload
the file, you will only see the dotted outline of the polygon. It is only
calculatedanddisplayedagainbyRATSNEST.
Various options can be changed via the parameter toolbar, either as the
polygonisbeingdrawnor,withCHANGE,atalaterstage.

POLYGONcommand:Parametertoolbar(splitintotwolines)
Width:
Linethicknesswithwhichthepolygonisdrawn.Selectthelargestpossible
width.Thatavoidsunnecessaryquantitiesofdatawhentheboardissent
for manufacture. If the wire width is lower than the resolution of the
outputdriverintheCAMProcessor,awarningisissued.
Afinerlinewidthpermitsthepolygontohaveamorecomplexshape.
Pour:
Specifiesthefillingtype.Thewholearea(Solid)oragrid(Hatch).
Rank:
Overlapping polygons must not create any shortcircuits. Rank can
thereforebeusedtodeterminewhichpolygonsaretobesubtractedfrom
others. A polygon with rank = 1 has the highest priority intheLayout
Editor,nootherpolygondrawninthelayoutiseversubtractedfromit,
whileonewithrank=6hasthelowestpriority.Assoonasthereisan
overlap with a higher rank, the appropriate area is cut out from the
polygonwithrank=6.Polygonswiththesamerankarecomparedbythe
DRC.
The rank property works only for polygons with different signals. For
overlappingpolygonswiththesamesignalnameitiswithouteffect.They
willbedrawnoneovertheother.

150

6.3 Create Board


PolygonsthatarecreatedinthePackageEditorcanbeassignedrank0or
7.Rank=0hashighestpriorityandwillnotbeoverwritten(i.e.obscured
by polygons in the layout). Polygons with rank = 7 will always be
overwrittenbyoverlappingpolygonsofrank1to6inthelayout.
Amongotheruses,rank=7allowsasurfacemountpadtobesurrounded
by a polygon (thereby making the polygon electrically the same as the
surfacemountpad) that is, inturn, swallowed by a copperplane and is
thereforeespeciallyusefulforgroundedheatsinks.
Spacing:
IftheoptionHatchischosenforPour,thisvaluedeterminesthespacingof
thegridlines.
Isolate:
Definesthevaluethatthepolygonmustmaintainwithrespecttoallother
objectsnotpartofitssignal.Ifhighervaluesaredefinedforspecialobjects
intheDesignRulesornetclasses,thehighervaluesapply.
InthecaseofpolygonswithdifferentRanks, Isolate alwaysreferstothe
drawncontourwhichisshownintheoutlinemodeofthepolygon,evenif
thecalculatedpolygonhasgotanothercontour,forexample,duetoawire
thatsupersedesthepolygon.Theactualclearancecanbecomegreaterthan
thegivenIsolatevalue.
Thermals:
Determines whether pads in the polygon are connected via Thermal
symbols,orarecompletelyconnectedtothecopperplane.Thisalsoapplies
tovias,assumingthattheoptionhasbeenactivatedintheDesignRules.
The widthofthe thermalconnectorsiscalculatedasthehalfofthepad's
drilldiameter.Thewidthhastobeinthelimitsofaminimumofthewire
widthandamaximumoftwicethewirewidthofthepolygon.
Thelength of thethermal connectors is definedbythe Isolate valuefor
ThermalsintheDesignRules'Supplytab.
Don't choose the polygon's width too fine, otherwise the thermal
connectorswon'thandlethecurrentload.
Thisisalsotrueforbottlenecksintheboard!Thepolygon'swirewidth
determinesthesmallestpossiblewidthofthecopperarea.
Orphans:
Determines if a polygon may contain areas (islands) which are not
electricallyconnectedtothepolygon'ssignal.
IfOrphansissetOffsuchunconnectedareaswon'tbedrawn.
Whendrawingapolygon,pleasetakecaretoensurethattheoutlineis
151

6 From Schematic to Finished Board


notdrawnmorethanonce(overlapping)anywhere,andthatthepolygon
outlinedoesnotcrossoveritself.ItisnotpossibleforEAGLEtocompute
thecontentsoftheareainthiscase.
An error message 'Signalname' contains an invalidpolygon! is issued,
andtheRATSNESTcommandisaborted.
Ifthis message appears, the outline of the polygonmustbecorrected.
Otherwise,manufacturingdatacannotbecreatedbytheCAMProcessor.
TheCAMProcessorautomatically computesthepolygonsinthelayout
beforegeneratingitsoutput.
If the polygon stays in the outline mode after calculating it with
RATSNEST, you should check the parameters for width, isolate, and
orphans and the polygon's name. Probably the polygon's filling is not
abletoreachoneoftheobjectsthatshouldbeconnectedwithitssignal.
RenamingapolygonwiththeNAMEcommand,connectsitwithanother
signal!

6.4 DRC Checking the Layout and


Correcting Errors
TheDesignRuleCheck(DRC)iscarriedoutattheendoftheboarddesign,if
notbefore.IfyouhavenotyetspecifiedanyDesignRulesforthelayout,this
isyourlastopportunity.SeethesectiononSpecifyingtheDesignRules from
page 128. To start theDesign Rule Check click ontotheDRCiconin the
commandtoolbar

ortheentryDRC...inthemenuTools.

UsuallyonesetsthecommonDesignRuleswiththe Edit/DesignRules..
menufirstandstartstheDesignRuleCheckwhenrequiredwiththeDRC
command.ButitisalsopossibletoadjusttheDesignRulesifyouusethe
DRCcommand.Somesettings,likethoseforRestring,affectthelayout
directly.

152

6.4 DRC Checking the Layout and Correcting Errors

StartingtheDesignRuleCheck
Whenyou have finishedtheadjustments, starttheerror checkbyclicking
Check.AtthesametimetheDesignRulesarestoredintheboardfileitself.
ByclickingSelectyouspecifytheregionofthelayoutthatistobeexamined.
Simplydragarectangleoverthedesiredregionwiththemouse.Theerror
checkwillthenstarautomatically.
ClickingonApplytransfersthesettingstotheboardfile.Thismeansthatthe
valuesthathavesofarbeenchosenarenotlostifyoudonotimmediately
starttheerrorcheckandifyouwanttoleavetheDRCdialogviatheCancel
button.
All signal layers are always examined by the Design Rule Check, no
matterifvisibleornot(DISPLAYcommand).

153

6 From Schematic to Finished Board

The DRC Errors Window


IftheDesignRuleCheckfindserrors,anerrorwindowopensautomatically.
Itlistsalltheerrorsfound.Thewindowcanbeopenedatanytimebymeans
oftheERRORScommand.

DRCErrorslistintheLayoutEditor
Eacherrorismarkedwithanerrorpolygon.Itssizetellsyou,forexamplein
thecase of a clearanceerror, about how much thelimitisexceeded.The
errorpolygonsarevisibleintheLayoutEditor,only.Theywon'tbeprinted
norexportedwiththeCAMProcessor.It'snotpossibletoerasethemwiththe
DELETEcommand.ClicktheClearall buttontodeletethem.Ortypeinthe
commandline:
ERRORS CLEAR
Errorsaremarkedwitharediconintheerrorswindow.Ifanerrorinthelist
isselected,alinepointstothecorrespondinglocationintheboard.
Itispossibletohavetheerrorlistsorted,ascendingordescending,byerror
types or layer numbers. therefore click onto the column headers Type or
Layer.

154

6.4 DRC Checking the Layout and Correcting Errors


Theerrorsdialogshowsonlyerrorsthatoccurinthecurrentlydisplayed
layers.
Incaseyouzoomedintothedrawingandthereisonlyapartialviewofthe
board, you can click the option Centered. The currently selected error is
showninthemiddleofthedrawingwindownow.Ifyouprefertohavethe
Centered optiondeactivatedforbrowsingtheerrorlist,youarenevertheless
able tocenteranerrorinthemiddleof thedrawingareabypressingthe
Enterkey.
Whilecorrectingtheerrorontheboard,theDRCErrorswindowmayremain
opened.AftercorrectingoneerroryoucanmarkitasProcessedintheerror
listbyclickingontotheProcessedbutton.Therederroriconturnsgraynow.
Insomesituationsitmaybethecasethatyouwanttotolerateanerror.Use
theApprovebuttonforthis.TheerrorentrywillberemovedfromtheErrors
branchandappearintheApprovedbranchandtheerrorpolygonisnolonger
shownintheLayoutEditor.
Ifyouwanttotreatanalreadyapprovederrorasaquitenormalerror,select
itintheApproved branch,andclickontotheDisapprovebutton.Nowitisa
memberoftheErrorsbranchagain.
ClickingtheClearallbuttondoesnotdeleteapprovederrors.Theyremainin
theApprovedbranch.
Moving an entry from one branch into the other, marks theboard fileas
changedandnotsaved.
EAGLE's minimumresolution is1/10.000 Millimetre. Thatiswhythe
DRCcanreportonlydistanceandclearanceerrorswhicharelargerthan
1/10.000mm.

Error Messages and their Meaning


Angle:
Tracksarenotlaidinanangleof0,45, 90or135.Thischeckcanbe
switchedonoroffintheDesignRules(Misctab).
Default:off.
BlindViaRatio:
Thelimitoftheratioofvialength(depth)todrilldiameterisexceeded.In
thiscaseyouhavetoadjustthevia'sdrilldiameter(DesignRules,Sizestab)
orthelayerthicknessofyourboard(DesignRules,Layerstab).
Clearance:
Clearance violation between copper objects. The settings of the Design
Rules' Clearance tabandthevaluefor Clearance ofagivennetclassare
takenintoconsideration.Ofthesetwovaluesthehigheroneistakenfor
155

6 From Schematic to Finished Board


checking.
Inadditionthe Isolate valuewillbetakenintoconsiderationforpolygons
withthesamerankandpolygonswhicharedefinedasapartofaPackage.
Todeactivatetheclearancecheckbetweenobjectsthatbelongtothesame
signal,usethevalue0forSamesignalsintheClearancetab.
Micro Vias are treated like wires. The clearance value for wire to wire
appliesinthiscase.
Dimension:
DistanceviolationbetweenSMDs,pads,andconnectedcopperobjectsand
adimensionline(drawninLayer20,Dimension),liketheboard'soutlines.
Defined through the value for Copper/Dimension in the Design Rules'
Distancetab.
SettingthevalueCopper/Dimensionto0deactivatesthischeck.
Inthiscasepolygonsdonotkeepaminimumdistancetoobjectsinlayer
20,Dimension,andholes!
TheDRCwillnotcheckifholesareplacedontracksthen!
DrillDistance:
Distanceviolation betweenholes. Defined by thevalue Drill/Hole inthe
DesignRules(Distancetab).
DrillSize:
Drilldiameterviolationinpads,vias,andholes.Thisvalueisdefinedinthe
DesignRules'Sizestab,MinimumDrill.
Itisalsopossibletodefineaspecialdrilldiameterforviasinagivennet
class(CLASScommand,Drills).Inthiscasethehigheroneisusedforthe
check.
InvalidPolygon:
Reasonisanotproperlydrawnpolygoncontour.Assoonasthecontour
lines are overlapping or even crossing, the polygon can't be calculated
correctly. Change the polygon's contour in the Layout Editor or in the
Library,ifitispartofaPackage.
TheRATSNESTcommandshowsthiserrormessage,aswell.
Keepout:
Restricted areas for components drawn in layer 39, tKeepout, or 40,
bKeepout,lieoneuponanother.Thischeckisexecutedonlyiflayers39and
40 are displayed and if the keepout areas are already defined in the
PackageEditorofthelibrary.
LayerAbuse:
Layer17, Pads,or18, Vias,containobjectswhicharenotautomatically
generated by EAGLE. Probably you drew something manually in these
layers, although they are reserved for pads and vias. Better move such
objectsintoanotherlayer.
Incasetherearewires connectedtopadsorviasinaSupplylayer,the
156

6.4 DRC Checking the Layout and Correcting Errors


DesignRuleCheckreportsthiserrormessage,aswell.Youarenotallowed
todrawsignalsinSupplylayers.
LayerSetup:
Thiserrorisshownifanobjectinalayerisfoundthatisnotdefinedbythe
Layersetup.ThesameforviasthatdonotfollowthesettingsoftheLayer
setup,forexample,ifaviahasanillegallength(Blind/Buriedvias).
IfthereisasupplylayerdefinedandthislayerisnotusedintheLayer
Setup,EAGLEreportsthiserror,aswell.
MicroViaSize:
ThedrilldiameterofthemicroviaissmallerthanthevaluegivenforMin.
MicroViaintheSizestab.
NoVectorFont:
Thefont check(DesignRules, Misc tab)recognizestextinasignallayer
whichisnotwritteninEAGLE'sinternalvectorfont.
If you want to generate manufacturing data with the help of the CAM
Processor the texts, at least in the signal layers, oughtto bewritten in
vector font. This is the only font the CAM Processor can work with.
Otherwisetheboardwillnotlookthesameasitisshown.Changethefont
withthehelpofthecommandCHANGEFONTorusethe option Always
vectorfontintheLayoutEditor'sOptions/UserInterfacemenu:
Ifactivated,theLayoutEditorshowsalltextsinvectorfont.Thisistheway
themanufacturedboardwilllooklike.
ActivatingthesuboptionPersistentinthisdrawingsavesthesettinginthe
drawingfile.Ifyousendthelayoutfile,forexample,totheboardhouse
youcanbesurethatthevectorfontwillbedisplayedalsoathissystem.
Norealvectorfont:
Thefontcheck(DesignRules, Misc tab)recognizestextinasignallayer
whichisnotwritteninEAGLE'sinternalvectorfontalthoughitisdisplayed
as vector font in the Layout Editor window. This situation arises if the
optionAlwaysvectorfontinthemenuOptions/UserInterfaceisactive.
SeeerrormessageNovectorfontforfurtherdetails.
OffGrid:
Theobjectdoesnotfitontothecurrentlychosengrid.
ThischeckcanbeswitchedonoroffintheDesignRules' Misc tab.The
defaultsettingis off, becauseassoonastroughholeandsurfacemount
partsareusedtogetherit'snoteasilypossibletofindareasonablecommon
grid.Thecheckissetoffbydefault.
Overlap:
DRC reports this error as soon as two copper elements with different
signalstoucheachother.

157

6 From Schematic to Finished Board


Restrict:
Awiredrawninlayer1,Top,or16,Bottom,oravialiesinarestrictedarea
whichisdefinedinlayer41or42,t/bRestrict.
IfrestrictedareasandcopperobjectsaredefinedinacommonPackage,the
DRCdoesnotcheckthem!
StopMask:
Iftherearesilkscreenobjectsdrawninlayers21,25,27forcomponentson
the Top layer, and22, 26, and 28 for componentsontheBottomlayer
overlappingtheareaofasolderstopsymbolgeneratedinlayer29and30,
theDRCreportsaStopmaskerror.
Youhavetodisplaythecorrespondinglayerstoactivatethischeck!
Pleasekeepinmindthatthischeckalwaystakesthevectorfontasbasisfor
the calculation of the required space. This is the font type the CAM
Processorusesformanufacturingdatageneration.
Width:
Minimumwidthviolationofacopperobject.DefinedbyMinimumWidthin
theDesignRules(Sizestab)or,ifdefined,bythetrackparameterWidthof
areferringnetclass.Thehigheroneofthegivenvalueswillbetakenfor
thischeck.
Alsothelinewidthofvectorfonttextsinsignallayerswillbechecked.
WireStyle:
The DRC treats a line (wire) whose Style is LongDash, ShortDash or
DashDotinthesamewayasacontinuousline.Ifawiredrawnwithoneof
thesestylesislaidasasignal,theDRCreportsaWireStyleerror.
Forfurtherinvestigations,net,partandpinlistscanbeoutputbymeans
oftheEXPORTcommandorbyvariousUserLanguageprograms.

6.5 Multilayer Boards


Youcandevelop multilayer boardswithEAGLE.Todothis,youuseoneor
moreinnerlayers(Route2toRoute15)aswellasthelayersTopandBottom
forthetopandundersides.Youdisplaytheselayerswhenrouting.
Beforestartingtheroutingofthelayoutyoushouldbeawareofthenumber
ofsignallayerstouse,ifviasshouldgothroughalllayers,orifyouhave,due
tothecomplexityofthelayout,toworkwithBlind,BuriedorMicrovias.In
thiscaseyoureallyoughttocontactyourboardmanufacturertoinformyou
aboutthepossiblestructureoftheboardandthecoststobeexpected.
Alsothinkabouthowtousetheinnerlayers:Asanormalinnersignallayer
orasasupplylayer?Onthis,forexample,dependreasonablevialengthsthat
havetobedefinedintheLayerSetup.

158

6.5 Multilayer Boards

Inner Layer
InnerlayersareusedthesamewayastheouterlayersTopandBottom.They
canbefilledwithcopperareas(polygons)aswell.Aspecialstatushavethe
socalledsupplylayerswhicharegeneratedautomatically.
BeforeusinginnerlayersyoumustdefinethemintheDesignRules,Layers
Tab.Moredetailscanbefoundinthefollowingsectionsandonpage130.

Signal Layers
YouusetheROUTEcommandasusualtoplacetracksinthoseinnerlayers
which are provided for signals. Eagle will itselfensure thatthetracksare
connectedbywayofplatedthroughholestotheappropriatesignalsinthe
outerlayers.ThesettingsoftheLayersetupintheDesignRulesapplyforthis
procedure.

Supply Layers with Polygons and More than One Signal


Areasoftheboardcanbefilledwithaparticularsignal(e.g.ground)using
the POLYGON command. The associated pads are then automatically
connectedusingThermalsymbols.TheisolatevaluefortheThermalsymbols
isspecifiedintheDesignRules(DRCcommand,Supplytab).Thewidthofthe
connectingbridgedependsonthelinethicknesswithwhichthepolygonis
drawn(seepage 151).Youcanalsospecifywhetherornotviasaretobe
connectedthroughThermals.Theminimumclearancesfromobjectscarrying
other signals specified in the Design Rules are maintained (Clearance and
Distance tabs).Changesareshowninthelayoutwhenthepolygonisnext
computed(RATSNESTcommand).
Inthiswayyoucanalsocreatelayersinwhichseveralareasarefilledwith
differentsignals.Inthatcaseyoucanassigndifferentranks(priorities)for
thepolygons.Therankpropertydetermineswhichpolygonissubtractedfrom
othersiftheyoverlap.Rank=1signifiesthehighestpriorityinthelayout;
nothing will be subtracted from such a polygon (with the exception of
polygonswithrank=0,drawnasapartofaPackageinthePackageEditor).
Rank = 6 signifies the lowest priority. Polygons with the same rank are
comparedbytheDRC.
PleasereadthenotesregardingpolygonsinthesectiononDefiningaCopper
Planeonpage149.
Donotchoosethewirewidthforpolygonstoofine!Thiscanleadtohuge
amountsofplotdataandproblemsforthemanufacturingprocess.

Power Supply Layer with One Signal


Apowersupplylayerwithonesignalisimplementedbyrenamingoneofthe
Route2...15 layers in such a way that the new name consists of the
correspondingsignalnameprefixedbya$sign.If,forexample,thesignal

159

6 From Schematic to Finished Board


calledGNDistoberealizedasapowersupplylayer,thenalayerisspecified
ashavingthename$GND.
ForthispurposeyouactivatetheDISPLAYcommand.Selectlayer2fromthe
menuwiththemouse.ThenclickonChangebutton.
Enterthesignalnameforthelayer,andactivatetheSupplylayercheckbox.
If the layer is to be visible in the layout immediately, then click also the
Displayedcheckbox.
ThesyntaxfortheLAYERcommandinthecommandlinecorrespondingto
thisexamplewouldbe:
LAYER 2 $GND
This specifies that layer number 2 (previously known as Route2) is
henceforthknownas$GND,andthatitwillbetreatedasapowersupply
layer.

Changelayerproperties

TheDisplaymenu

TheDISPLAYmenushowsonlythoselayersdefinedintheLayerSetupof

160

6.5 Multilayer Boards


theDesignRules!
PadsareconnectedtopowersupplylayerswithwhatareknownasThermal
symbols,orareisolatedwithAnnulussymbols.Thermalsymbolsusuallyjust
havefourthinbridgesasaconductiveconnectiontothethroughplatedhole.
Theyareusedbecausethehighthermalconductionofacontinuouscopper
planewouldresultinthepadbeingnolongersolderable.Theshapeandsize
oftheAnnulusandThermalsymbolsarespecifiedintheDesignRules(DRC
command,Supplytab).
Tokeeptheboardedgesfreeofcopperdrawanisolatingwirearoundthe
layout.Thisavoidspossibleshortcircuitsbetweenadjacent(supply)layers.If
youwanttousetheAutorouter, however, thesewiresmustnotbedrawn
untiltheroutingprocesshasbeenfinished. Automaticallygeneratedsupply
layershavetobedisabledintheAutorouter/Followmesetup.
Supplylayersaredisplayedandplottedinversely!
Noadditionalsignalsorsignalpolygonsmaybedrawnintheselayers.
Thatwouldleadinevitablytoanunusablecircuitboard!

Supply Layers and Autorouter


TheAutoroutertakesintoaccountallinnerlayers,andsodeliversthefullset
ofpatternsformultilayerboards.ItconnectsSMDpadstoinnerlayerswith
vias.
Assumedonlyviasthatcanconnectalllayers(fromlayer1to16)areused
(throughvias),thepreferreddirectionfortheAutorouterhastobesettoN/A
forpowersupplylayers(thismeansthelayerisnotavailableforrouting).
Thisisonlypossibleforlayersthatdonotcontainanywires.
Ifyouareusing,amongviasthroughalllayers,Blind,Buried,orMicrovias
theAutoroutercan'tworkwithsupplylayers.Inthatcaseyouhavetochange
thesupplylayerintoaninnerlayerwithpolygon:
Therefore deselect the Supply flag in the Change window of the DISPLAY
menuanddrawapolygonintheinnerlayer.Thepolygonhastobegiventhe
nameofthesupplysignal.

Multilayer Boards with Through Vias


Thistypeshouldbepreferredifpossible.Viasgothroughallsignallayersand
willbedrilledattheendoftheproductionprocess.Theproductioncostsare
relativelymoderate.

Layer Setup
Thesettingsconcerninglayercompositionandnumberofsignallayersare
madeintheDesignRules,Layerstab,Setup.Seepage130.
161

6 From Schematic to Finished Board


Forthroughviasthesetupisverysimple.Noconsiderationsaboutthickness
ofcopperandisolationlayersarenecessary.
Simply join two layers by an asterisk (like 1*2 or 3*16) toonecore and
combine several cores. This is symbolized by a plus character (like in
1*2+3*4).Theisolationlayerbetweentwocopperlayersiscalledprepreg.
Toexpressthepossibilitytohaveviasthroughalllayersthewholeexpression
issetintoparenthesis.
Examples:
4layers:

(1*2+3*16)

6layers:

(1*2+3*4+5*16)

8layers:

(1*2+3*4+5*6+7*16)

Hereviasalwayshavethelength116.Theyarereachablefromalllayers
(seealsothehelpfunctionforVIA).

Multilayer with Blind and Buried Vias


In high density boards it is often necessary to use Blind and Buried vias.
Thesekindsofviasdon'tconnectalllayers,butareonlyreachablefroma
certain number oflayers. How these layers areconnecteddependsonthe
manufacturingprocessoftheboardwhichhastobedeterminedintheLayer
setupintheDesignRules.
Pleasecontactyourboardhousebeforestartingyourwork!Checkwhich
Layer Setup is suitablefor your purpose and whatthemanufacturing
costsare.

Disambiguation
Core:
Thenonflexiblekernelwhichiscoatedwithcopperononeoronbothsides.
Isrepresentedbya*intheLayerSetup.Forexample5*12:Layer5and12
aretheboard'score.
Prepreg:
Flexibleglueingorisolatinglayerwhichisusedinthemanufacturingprocess
ofamultilayerboardtopressinnerandouterlayersontoeachother.
Is represented by a + in the Layer Setup. 1+2 tells us that layer 1 is a
prepregandcombinedwithlayer2.
LayerStack:
Apackofanynumberoflayersconsistingofcoresandprepregswhichare
handledtogetherinthecurrentstepofproduction.
BuriedVia:
Theproductionprocessofthisviadoesnotdifferfromathrough(normal)
via. The current layer stack will be drilled through completely. In the
followingproductionstepsthealreadydrilledviascanbecovered(buried)by
pressingfurthercoresandprepregsonthecurrentlayerstack.Iftheviaisnot
162

6.5 Multilayer Boards


visibleonthecompletedboardwecallitaburiedvia.
Thisisrepresentedbyparenthesis,forexamplein1+(2*15)+16wherethe
BuriedViagoesfromlayer2to15.
BlindVia:
A Blind via connects an outer layer with any inner layer but doesn't go
throughallcopperlayers.ThespecialityofaBlindvialiesintheproduction
process.Thecurrentlayerstackisnotdrilledallthrough.Thedrillholehasa
certaindepthdependingonthenumberoflayersthatshouldbeallowedto
beconnectedwitheachother.Blindviashavetofollowagivenratioofdepth
todrilldiameter.Pleasecontactyourboardhousetogetinformationabout
this.ThisratiohastobedefinedintheSizestabasMin.BlindViaRatio.
Thisisrepresentedbybracketsandthetargetlayermarkedbyacolonbefore
orafterthebracket.Theexample3:[1+2+3*14+15+16]allowsBlindvias
fromlayer1to3.
Blindviasmaybeshorterthandefined.Inthisexampleyouareallowedto
useviasfromlayer1to2.TheAutorouterisalsoallowedtouseshorterBlind
vias.
MicroVia:
ThemicroviaisaspecialcaseofaBlindvia.Ithasamaximumdepthofone
layerandaverysmalldrilldiameter.Seepage169.

Displaying Vias
Itmakessensetosetthelayercoloroflayer18,Vias,tothebackgroundcolor
(DISPLAY menu, Change, Color) if you are working with vias that have
different lengths and shapes. In doing so it is possible to recognize layer
affiliation.

Layer Setup
Combiningcoresandprepregsallowsmanyvariants.Inthefollowingsection
someexamplesshowthefunctionoftheLayersetup.
Pleasereadthisparagraphentirely.Evenifyouintendtodesignafourlayer
board,forexample,itismostadvisabletoreadalsoalltheotherexamplesfor
abetterunderstanding.
4-Layer Board
Example1:
Layers1,2,3and16areused.
Boardstructure:Onecoreinside,outsideprepregs.
Connections:12(blindvias),23(buriedvias)and116(throughvias)
Thesetupexpressionlookslikethis:
[2:(1+(2*3)+16)]
Explanation:
2*3
Layers2and3formthecore.
163

6 From Schematic to Finished Board


(2*3)
Parenthesisallowburiedviasfrom2to3.
(1+(2*3)+16)
Onbothsidesofthecorecopperlayersarepressedon
withprepregs.
Theouterparenthesisdefinecontinuousviasfrom116.
[2:(1+(2*3)+16)]
Insquarebracketsandseparatedbyacolonblindviasaredefined.
Herefromlayer1to2.
ThefollowingimageshowstherelatedsetupexpressionintheLayerstabof
theDesignRules.

Example1:LayerSetupfora4layerBoard
Blindviashavetokeepacertainratioofviadepthtodrilldiameter.Forthis
reasonitisnecessarytospecifyvaluesforthelayerthickness.
Thesevaluesaregivenbyyourboardhouse!Youaresupposedtocontactitin
eithercasebeforestartingthelayout!
Type inthe values inthe Copper (thickness of copperlayer)and Isolation
(thicknessofisolationlayer)fieldsasshownintheimage.Thetotalthickness
oftheboardisshownbelowtheCopperandIsolationfields.
Example2:
Layers1,2,3,and16areused.
Boardstructure:Onecoreinside,outsideprepregs.
Connections:12,316(blindvias),116(throughvias)
Setupexpression:
164

6.5 Multilayer Boards


[2:(1+2*3+16):3]
Explanation:
2*3
Layers2and3formthecore.
1+2*3+16
Onbothsidesofthecorecopperlayersarepressedon
withprepregs.
(1+2*3+16)
Theouterparenthesisdefinethroughviasfrom116.
[2:(1+2*3+16):3]
Insquarebracketsandseparatedbyacolonblindviasaredefined.
Herefromlayer1to2and16to3.

Example2:LayerSetupfora4layerBoard
6-Layer Board
Example3:
Layers1,2,3,4,5,and16areused.
Boardstructure:Twocores,prepregsoutside.
Connections:23,45(buriedvias),116(throughvias)
Setupexpression:
(1+(2*3)+(4*5)+16)
Explanation:
165

6 From Schematic to Finished Board


(2*3)+(4*5)
Twocoreswithburiedviasarepressedtogether.
1+(2*3)+(4*5)+16
Thislayerstackiscoveredwithouterlayers1and16whichare
isolatedwithprepregs.
(1+(2*3)+(4*5)+16)
Thewholeexpressioninparenthesisdefinesthroughviasfrom116.

Example3:LayerSetupfora6layerBoard
Thevaluesforlayerthicknessforcopperandisolationusedintheseexamples
arefictive.Pleasecontactyourboardhousetogettheallowedvalues.
Example4:
Layers1,2,3,4,5,and16areused.
Boardstructure:Onecore,oneachsidetwoprepregs.
Connections:34(buriedvias),24(blindviasininnerlayerstack),
116(throughvias)
Setupexpression:
(1+[4:2+(3*4)+5]+16)
Explanation:
2+(3*4)+5
Thecorewithburiedvias.Oneprepregoneachside.
[4:2+(3*4)+5]
Blindviasfromlayer2to4.
166

6.5 Multilayer Boards


1+[4:2+(3*4)+5]+16
Onthislayerstackaprepregoneachsideispressedon.
(1+[4:2+(3*4)+5]+16)
Parenthesisallowthroughviasfrom1to16.

Example4:BlindViasintheinnerlayerstack

8-Layer Board
Example5:
Layers1,2,3,4,5,6,7,and16areused.
Boardstructure:Threecores,prepregsoutside.
Connections:13,616(blindvias),23,45,67(buriedvias),
116(throughvias).
Setupexpression:
[3:(1+(2*3)+(4*5)+(6*7)+16):6]
Explanation:
(2*3)+(4*5)+(6*7)
Threecores,eachwithburiedvias,arepressedtogetherand
isolatedwithprepregs.
1+(2*3)+(4*5)+(6*7)+16
Outercopperlayers1and16whichareisolatedthroughprepregs
arepressedontothislayerstack.
(1+(2*3)+(4*5)+(6*7)+16)
Parenthesisallowthroughviasfrom116.
167

6 From Schematic to Finished Board


[3:(1+(2*3)+(4*5)+(6*7)+16):6]
Blindviasfrom13and166.

Example5:LayerSetupforan8layerboard

Hints For Working With Blind, Buried, and Micro Vias


VIA command
DependingontheLayersetupviascanhavedifferentlengths.Theparameter
toolbar of the VIA command shows all available lengthsinthe Layer box.
When routing manually (ROUTE command) EAGLE takes the shortest
possiblevialengthinordertochangelayers.Itisalsopossiblethatviasatthe
samepositionareelongated.
ThevialengthcanbechangedwiththeCHANGEVIAcommand.Selectthe
valuefromtheaccordingmenuandclicktheviawiththeleftmousebutton.
Alternativelyusethecommandline:
CHANGE VIA 2-7
andaclickontotheviachangesthelengthfromlayer2to7.
IfthegivenvialengthisnotdefinedintheLayersetupitwillbeelongatedto
thenextpossiblelengthor,ifthisisnotpossible,anerrormessagewillbe
generated.
VIA 'GND' 1-4 (1.05 2)
placesaviathatbelongstothesignalGNDandreachesfromlayer1to4at
position(1.052).
168

6.5 Multilayer Boards


ROUTE Command
Ifyouwanttochangethelayerwhilelayingouttheboard,EAGLEalways
takestheshortestpossiblevia(CHANGELAYERcommand;alsoinFollowme
mode). It is also possible that a via at the same position is elongated
automatically.
IfMicroviasareenabledintheDesignRulesbysettingaminimumvalue
forthedrilldiameter(Sizestab,Min.MicroVia)anddefiningaproper
Layer setup, EAGLE sets a Micro via when routing from a SMD and
immediatelychangingtothenextinnerlayer.
InFollowmemode,however,EAGLEcan'tplaceMicrovias.TheFollow
merouterispoweredbytheAutorouterengineandthereforeithasto
followitspropertiesandrestrictions.
Autorouter
TheAutoroutersupportsBlindandBuriedvias.
IfyoudecidetousetheAutorouterforamultilayerboardthatusesBlindand
Buried vias it is notallowed to work with automaticallygenerated supply
layers(seepage159).Inthiscaseinnerlayerscanbedefinedwiththehelp
ofpolygons.
Already existing supply layers can be transformed into layers with supply
polygonsby
renamingthelayer(no$characteratthebeginningofthename),
removingpossiblyexistingisolationwires,
drawingapolygoncoveringthewholelayout,and
namingthepolygonwiththefavouredsignalname.

Micro Via A Special Case of Blind Via


IncontrasttoBlindviasthatcanreachseverallayersdeepintotheboardthe
Micro via connects an outer layer with the next inner layer. The drill
diameter of a micro via is relatively small. Presently the usual values are
about0.1to0.05mm.
FormanufacturingreasonsMicrovias,asBlindvias,havetofollowacertain
Aspectratio ofdepthtodrilldiameter.Thisratiodefinesthemaximumvia
depthforacertaindrilldiameter.
Thepropervaluecanbelearnedfromyourboardhouse.
SetthisvalueintheDesignRules,Sizestab,Min.BlindViaRatio.
Assumedtheboardhousedemandstheratioas1:0.5youhavetoenter0.5
forMin.BlindViaRatio.
AdditionallytheDesignRuleCheckverifiestheminimumdrilldiameterfor
Microviasgivenin Min.MicroVia.Ifthisvalueishigherthanthevaluefor
MinimumDrill(default),microviaswon'tbechecked.
169

6 From Schematic to Finished Board


ThediameterofmicroviasissetintheRestringtaboftheDesignRules.
Ifyouchangethelayerfromanoutertothenextinneronewhileyouare
routing a track out of a SMD, EAGLE automatically places a Micro via,
providedtheDesignRulesallowit.Seealso
TheAutoroutercan'tsetMicrovias!

6.6 Updating Components (Library Update)


The UPDATE command allows components in a schematic diagram or a
layouttobereplacedbycomponentsdefinedinaccordancewiththecurrent
libraries.Thisfunctionisofparticularinterestforexistingprojects.If,inthe
courseofdevelopment,thedefinitionsofPackages,SymbolsorDevicesinthe
librariesarechanged,theexistingprojectcanbeadaptedtothem.
Themenuitem Library/Update causesallthecomponentsinaprojecttobe
compared with the definitions in the current libraries. If EAGLE finds
differences,thecomponentsareexchanged.
ThoselibrariesonthepathspecifiedforLibrariesintheControlPanelunder
Options/Directorieswillbeexamined.
Itisalsopossibletoupdatecomponentsfromoneparticularlibrary.Typethe
UPDATEcommandonthecommandline,statingthelibrary,forinstanceas:
UPDATE linear
or
UPDATE /home/mydir/eagle/library/linear.lbr
orselectthelibraryintheFiledialogoftheLibrary/Update...menuitem.
In the case you want to replace parts from one library with parts from
anotherlibraryyoucanusethecommand:
UPDATE old-lbr-name = new-lbr.name
Oldlbrname represents the name of the library as shown by the INFO
command in the layout or schematic. Newlbrname stands for the library
fromwhichyouwanttotakeelements.Youmayaddpathsaswell.
Pleaseseethehelpfunctionformoreinformation.
In many cases you will be asked whether Gates, pins or pads should be
replacedaccordingtonameoraccordingtoposition.Thisalwayshappensif
libraryobjectsarerenamed,oriftheirposition(sequence)ischanged.
Iftoomanychangesaremadeinthelibraryatonetime(e.g.pinnamesand
pin positions are changed) it is not possible to carry out an automatic
adaptation.Insuchacaseitispossibleeithertocarryoutthemodifications
to the library in two steps (e.g. first the pin names and then the pin
positions),orthelibraryelementcanbegivenanewname,sothatitisnot
exchanged.

170

6.6 Updating Components (Library Update)


ChangingaDevice'sprefixinthelibrarydoesnotupdatethepartnames
ofalreadyplacedelementsinyourdrawing.
IfForward&Back Annotationisactive,thecomponentsarereplacedinthe
schematicdiagramandinthelayoutatthesametime.
Youwillfindfurtherinformationontheprogram'shelppages.
Afteranylibraryupdate,pleasecarryoutbothanERContheschematic
andaDRConthelayout!
Individualcomponentscan,forinstance,beupdatedwiththeaidoftheADD
command.IfyouuseADDtofetchamodifiedcomponentfromalibrary,you
willbeaskedwhetheralltheolderdefinitionsofthistypeshouldbeupdated.
Aftertheupdateyoucandeletethecomponentthatyoujustfetched.
AgainhereitiswisetocarryoutanERCandaDRCaftertheupdate!

6.7 Print Out Schematic and Layout


Schematicdiagrams,boardsandalsolibraryelementscanbeprintedoutwith
thePRINTcommand.
UsingDISPLAYyoushouldfirstselectthelayersthatyouwanttoprint.
Thebasicruleis:Ifyoucanseeitintheeditor,youwillseeitonthe
print.
Exceptionstotheruleaboveare:
Origincrossesfortexts
Gridlinesorgriddots
Polygonsthatcan'tbecalculatedbyRATSNESTandthereforeonly
showtheircontoursintheLayoutEditor
ErrorpolygonsoftheDesignRuleCheck

Settings of the Print Dialog


Whentheprintericonontheactiontoolbar

isclicked,thePRINTdialog

opens.
The currently selected printer is shown at the top of the window in the
Printerline.Thesmallbuttonontheright,attheendoftheline,canbeused
to select another printer or activate one of the printtofile options. If a
printerisselected,thebuttonwiththethreedots...leadsyoutotheprinter
properties.
171

6 From Schematic to Finished Board

ThePRINTwindow
IncaseyouselectedaprinttofileoptiontheOutputfilelineshowsthepath
totheoutputfile.Ifyouwanttochangeit,clickontothebutton.
BelowthesetwolinesyouwillfindsettingsaboutPaperformat,Orientation
and Alignment ofyourprint.The buttoninthe Paper lineallowsyouto
defineauserspecificformat,providedtheselectedprintersupportsthis.
Alignment definesthelocationoftheprintoutonthepaper.Changingthis
willdirectlyresultinamodifiedPreview,ifactive.
Inthe Area line, youdeterminewhattoprint: Window printsthedrawing
windowwhichiscurrentlyvisibleintheEditorwindow. Full ontheother
hand,printsthewholedrawing.Inthiscasealldrawingobjects(displayedor
not)arerelevantforthecalculationoftheresultingprintingarea.
PrintingOptions
MirrorinvertsthedrawingfromlefttorightabouttheYaxis,Rotateturnsit
90degreescounterclockwise,andUpsidedownturnsitthrough180degrees.
Ifbothareactivated,arotationof270degreesistheresult.
IftheBlackoptionischosen,ablackandwhiteprintoutismade.Otherwise
theprintwillbeeitherincolororgrayscale,dependingontheprinter.
Solidcauseseachobjecttobeentirelyfilled.Ifyouwanttoseethedifferent
fillingpatternsoftheindividuallayers,thendeactivatethisoption.
The Caption optionswitchestheappearanceofthetitle,printingdate,file
nameandthescaleoftheprintonoroff.
Inthe Scale sectionofthewindowthe Scalefactor specifiesthescaleofthe
drawing.Itmaybeintherangeof0.001and1000.
If Pagelimit is setto 0,theprinter willusewhatever numberofpagesis
172

6.7 Print Out Schematic and Layout


needed to print the output at the selected scale. If a different value is
selected,EAGLEwilladjustthescaleofthedrawingtofititontothestated
numberofpages.Thiscanmeanthat,underunfavourablecircumstances,the
selectedscalecannotbemaintained.
Otherwiseyouhavethepossibilitytoselect PageLimit1,anda Scalefactor
thatwouldrequestmorethanonepageforprintingtogetamaximumfilling
ofthepage.
Itis possible to select which sheets from a schematicdiagramareprinted
usingtheSheetsbox.ThisonlyappearsintheSchematicEditor.Thisselection
alsodetermineswhichsheetisshowninthepreview.
Theedgesoftheprintcanbedefinedwiththeaidofthefourentryboxes
under Border.Thevaluesmaybeenteredinmmorininches.Ifyouhave
changed the values and want to use the printer driver's standard settings
again,simplyentera0.
Calibrate allowscorrectionfactorsfortheaspectratiooftheprintout.This
allowslinearerrorsinthedimensionalaccuracyoftheprinttobecorrected.
Thevaluescanbespecifiedintherangeof0.1...2.
Noteconcerningcoloredprinting:
EAGLEalwaystakesthewhitepaletteasbasisforcoloredprintouts.If
you are working with a black or colored background and using self
definedcolors,itisrecommendedtodefinethesecolorsalsoforthewhite
palette.Sotheprintercanuseyourcolors,too.
If,whenalayoutisprinted,thedrillholesinthepadsandviasarenottobe
visible,selecttheNoDrills optionforthe Displaymode bywayofthemenu
itemOptions/Set/Misc.
GeneratingPDFandPostscriptfiles
Ifyouwanttogeneratea PDFfile(resolution1200dpi)ora Postscript file
fromyourdrawing,clickontothesmallselectionbuttoninthe Printer line
andchoosetheoptionPrinttofile(PDF)orPrinttofile(Postscript).Gotothe
Output file line then and specify path and name of the PDF or Postscript
outputfile.
AlltextsthatarenotwritteninEAGLEvectorfontaresearchableinthePDF
filebymeansofyourPDFviewer.
VisibilityandSequenceofPrintedLayers
EAGLEprintsitslayersinacertainsequence,oneovertheother.Ifyouare
using,forexample,selfdefinedlayersthatarehiddenbyotherlayersinthe
printout,youcanuseaSETcommandoptionSETOption.LayerSequence
forbringingthemintotheforeground,oringeneral,fordefiningthelayer
printingsequence.ThisaffectsprintingintoaPDForPostscriptfile,aswell.
DetailsaboutthiscanbefoundinthehelpfunctionoftheSETcommand,
Help/Editorcommands/SET.

173

6 From Schematic to Finished Board


ThePRINTcommandcanalsobegivendirectlyonthecommandline,orcan
berunbyascriptfile.Informationabouttheselectionofoptionsisavailable
onthehelppagesforPRINT.
ForallthosewhohaveexperienceswithEAGLEversionsbefore4.0:
EAGLEcomeswithanUserLanguageProgramnamedcam2print.ulpthat
convertsyourpreviousEAGLE3.5xCAMjobsintoscriptfilesinorderto
usethemwiththePRINTcommand.
AnotherUserLanguageProgram cam2dxf.ulp allowstouseaprevious
CAMjobforgeneratingDXFdata.

6.8 Combining Small Circuit Boards on a


Common Panel
Inorder to save costs, it may be worth supplying, forexample, asmaller
boardtotheboardmanufacturerintheformofamultipleboard.Soyoucan
haveseveralboardsmadeinonestep.
You can reproduce the layout or combine different layouts to create a
multiple board with the GROUP, CUT and PASTE commands.Please note
that this will change the board's silk screen, since elements receive new
names,ifacertaindesignatorisalreadyusedintheboardwhenpastingfrom
thebuffer.Ifyoudon'tneedthesilkscreenthisdoesnotmatter.Otherwisea
UserLanguageprogramcanhelp.Panelize.ulpcopiesthetextswritteninthe
layers 25 and 26 (t/bNames) into two new layers 125 and 126. When
combiningtheboardsthenamesofthepartswillchangeanyway,thecopied
textsinthosenewlayershoweverwillremainunchanged.
Tell the board manufacturer that they have to take layers 125 and 126
insteadoftheoriginallayers25and26togeneratethesilkscreenfrom.
Procedure:
Loadtheboardfile.
Runpanelize.ulptocopynametexts.
DISPLAYalllayers.
UseGROUPtoselectallobjectstobecopied.
ToselectthewholelayoutyoucouldalsouseGROUPALL.
ActivateCUTandleftclickwiththemouseintothedrawingarea.
EditanewboardfilewithFile/New.
UsePASTEtoplacethelayoutasoftenaswanted.Shouldthe
situationarise,itispossibletospecifyanorientationforthegroup
beforefixingit.

174

6.8 Combining Small Circuit Boards on a Common Panel


PleasemakesurethatthenewboardhasthesamesetofDesignRules
astheoriginalboardfilehas.ItispossibletoexportDesignRulesinto
afile(*.dru)andthenimportitintoanotherboardfile(Edit/Design
rulesmenu,Filetab).
Savethenewboardfile.
Tellyourboardhousethattheyhavetouselayers125/126insteadof
25/26.
Thiswayyoucanalsocombineboardsfromdifferentprojects.
InthecasetheboardhasSupplylayers,youhavetocheckthenamesof
the power signals. For example, the signal GND will be displayed as
GND1,GND2andsoon.TheconnectionstotheSupplylayer$GNDno
longerexist.YouhavetonamethesignalswiththeiroriginalnameGND
again.

6.9 Consistency Lost between Schematic


and Layout
Itisveryimportantduringthedesignthatthecontentoftheschematicand
thelayoutexactlycorrespondtoallowfordesign congruency.Eagleusesa
Forward&Back annotation toperform this task.General informationabout
thiscanbefoundinthechapteraboutForward&BackAnnotationbeginning
withpage98.
The interconnection between Schematic Editor and Layout Editor ensures
thatbothareinlockstepfromadesignstandpointautomatically,provided
bothfilesarealwaysloadedatthesametime.Ifyoucloseoneofthem,either
theschematicorlayoutfile,andcontinueyourworkintheremainingopened
file the consistency will be lost. EAGLE will not be able to transfer the
modificationsintotheotherfile.SodifferenceswillarisebetweenSchematic
andLayout.

ConsistencylossbetweenSchematicandLayout
EAGLEwillpromptawarningassoonasyouwanttoswitchtothereferring
fileorstartthisprojectagain.

175

6 From Schematic to Finished Board


StarttheElectricalRuleCheck(ERC)immediately.Itcomparesbothfilesand
reportsdifferencesintheERCErrorswindow's ConsistencyErrors branch.If
you click onto one of these entries, EAGLE marks the affected object in
SchematicandBoard,ifpossible.
ProcesseachmessageandresolvethedifferenceintheSchematicorinthe
LayoutEditorwindow,accordingtorequirements.Finallyyoucanmarkthe
entryinthelistasdonewiththeProcessedbutton.
LaunchtheERCeverytimeachangehasbeenmadefordesignverification
andtogetanoverviewofprogress.Alldifferencesarecleared,ifERCreports
consistency. Now the Annotation will work again and the board and
schematicareagaininlockstepwitheachother.
Don'tforgettosavethefilesnowandremembertoleavebothfilesloaded
simultaneouslyallthetime.

Thedifferencesaremarkedinbotheditorwindows

176

Chapter 7
The Autorouter
7.1 Basic Features
Anyroutinggrid(min.0.02mm)
Anyplacementgrid(min.0.1micron)
SMDsareroutedonbothsides
Thewholedrawingareacanbetheroutingarea(providedenough
memoryisavailable)
Thestrategyisselectedviacontrolparameters
Simultaneousroutingofvarioussignalclasseswithvarioustrack
widthsandminimumclearances
Commondataset(DesignRules)fortheDesignRuleCheckandthe
Autorouter
Multilayercapability(upto16layerscanberoutedsimultaneously,
notonlyinpairs)
SupportofBlindandBuriedvias
Thepreferredtrackdirectioncanbesetindependentlyforeachlayer:
horizontalandvertical,true45/135degrees(importantforinner
layers!)
Ripupandretryfor100%routingstrategy
Optimizationpassestoreduceviasandsmoothtrackpaths
Preroutedtracksarenotchanged
ServesabasisfortheFollowmerouter,aspecialoperatingmode
oftheROUTEcommandthatallowsautomaticroutingofselected
signals

7.2 What Can be Expected from the


Autorouter
TheEAGLEAutorouterisa"100%"router.Thismeansthatboardswhich,in
theory, can be completely routed will indeed be 100% routed by the
Autorouter, provided and this is a very important restriction the
Autorouter has unlimited time. This restriction is valid for all 100%
177

7 The Autorouter
Autorouterswhatsoever.However,inpractice,therequiredamountoftimeis
notalwaysavailable,andthereforecertainboardswillnotbecompletedeven
bya100%Autorouter.
TheEAGLEAutorouterisbasedontheripup/retryalgorithm.Assoonasit
cannotrouteatrack,itremovespreroutedtracks(ripup)andtriesitagain
(retry).Thenumberoftracksitmayremoveiscalledripupdepthwhichis
decisive for the speed and the routing result. This is, in principle, the
previouslymentionedrestriction.
Those who expect an Autorouter to supply a perfect board without some
manual helpwillbedisappointed. The user mustcontributehisideasand
investsomeenergy.Ifhedoes,theAutorouterwillbeavaluabletoolwhich
willgreatlyreduceroutinework.
Working with the EAGLE Autorouter requires that the user places the
componentsandsetscontrolparameterswhichinfluencetheroutingstrategy.
Theseparametersmustbesetcarefullyifthebestresultsaretobeachieved.
Theyarethereforedescribedindetailinthissection.

7.3 Controlling the Autorouter


TheAutorouteriscontrolledbyanumberofparameters.Thevaluesinthe
current Design Rules, the net classes and special Autorouter control
parametersallhaveaneffect.
The Design Rules specify the minimum clearances (DRC commands for
setting Clearance and Distance),theviadiameter(Restring setting)andthe
holediameterofthevias(Sizes setting).Theminimumtrackwidthisalso
specified.
Thenet classes if any are defined specify specialminimum clearances,
trackwidthsandtheholediametersforviascarryingparticularsignals.
Thereisalsoarangeofspecialcostfactorsandcontrolparametersthatcan
bechangedviatheAutoroutermenu.Theyaffecttheroutegiventotracks
duringautomaticrouting.Defaultvaluesareprovidedbytheprogram.The
controlparametersaresavedintheBRDfilewhenthelayoutissaved.You
canalsosavethesevaluesinanAutoroutercontrolfile(*.ctl).Thisallowsa
particularsetofparameterstobeusedfordifferentlayouts.NeitherDesign
Rulesnorthedataforvariousnetclassesarepartofthecontrolfile.
Aroutingprocessinvolvesanumberofseparatebasicsteps:

Bus Router
Normallythebusrouterstartsfirst.
Itdealswithsignalswhichcanberoutedinthepreferreddirectionwithonly
slightdeviationinxandydirectionallowed.Thebusroutertakesonlythose
signalsintoconsiderationthatbelongtonetclass0.
Thisstepmaybeomitted.

178

7.3 Controlling the Autorouter


Buses, asunderstoodbytheAutorouter,areconnectionswhichcanbe
laidasstraightlinesinthexorydirectionwithonlyafewdeviations.
Ithasnothingincommonwithbusesinthemeaningofelectronics,for
example,addressbusesorthelike.

Routing Pass
Theactualroutingpassisthenstarted,usingparameterswhichmakea100%
routingaslikelyaspossible.Alargenumberofviasaredeliberatelyallowed
toavoidpathsbecomingblocked.

Optimization
Afterthemainroutingpass,anynumberofoptimizationpassescanbemade.
Theparametersarethensettoremovesuperfluousviasandtosmooththe
trackpaths.Intheoptimizationpassestracksareremovedandreroutedone
atatime.Thiscan,however,leadtoahigherdegreeofrouting,sinceitis
possiblefornewpathstobefreedbythechangedpathofthistrack.
The number of optimization passes must be specified before starting the
Autorouter.Itisnotpossibletooptimizeatalaterstage.Oncetheroutingjob
hasbeencompletedallthetracksareconsideredtohavebeenprerouted,and
maynolongerbechanged.
Anyofthestepsmentionedabovemaybeseparatelyactivatedordeactivated.

7.4 What Has to be Defined Before


Autorouting
Design Rules
TheDesignRulesneedtobespecifiedinaccordancewiththecomplexityof
the board and of the manufacturing facilities available. You will find a
description of the procedure and of the meanings of the individual
parametersinthesectiononSpecifyingtheDesignRulesonpage128.

Track Width and Net Classes


Ifyouhavenotalreadydefinedvariousnetclassesintheschematicdiagram
younowhavetheopportunity,beforerunningtheAutorouter,ofspecifying
whetherparticularsignalsaretobelaidusingspecialtrackwidths,particular
clearancesaretobeobserved,orwhethercertaindrilldiametersaretobe
used for vias for particular signals. Please consult the help pages (CLASS
command) or the section on Specifying Net Classes on page 117 for
informationaboutthedefinitionofnetclasses.
Ifnospecialnetclassesaredefined,thevaluesfromtheDesignRulesapply.
Thevalue Minimumwidth inthe Sizes tabdeterminesthetrackwidth,the
valuesfor minimumclearances/distancesaretakenfromthe Clearance and
179

7 The Autorouter
Distance tabs.Thediameterofviasisdefinedbythevaluesinthe Restring
tab.
DidyousetvaluesintheDesignRulesandfornetclasses?Inthiscasethe
Autorouterfollowsthehighervalue.

Grid
TheDesignRulesdeterminetheroutingandplacementgrid.Theminimum
routinggridis0.02mm,whichisabout0.8mil.

Placement Grid
AlthoughtheAutorouterdoespermitanyplacementgrid,itisnotagoodidea
toplacethecomponentsonagridthatistoofine.Twogoodrulesare:
Theplacementgridshouldnotbefinerthantheroutinggrid.
Iftheplacementgridislargerthantheroutinggrid,itshouldbesetto
anintegralmultipleoftheroutinggrid.
These rules make sense if, for example, you consider that it might be
possible,withintheDesignRules,toroutetwotracksbetweentwopinsofa
component, but that an inappropriate relationship between the two grids
couldpreventthis(seediagram).

Routing Grid
PleasenotethattheAutoroutergridhastobesetintheAUTOcommand's
AutorouterSetupWindow,Generaltab,RoutingGrid.Thisisnotthesameas
thecurrentlyusedgridintheLayoutEditorwindowthatyouhaveselected
withtheGRIDcommand.
Bear in mind that for the routing grid the time demand increases
exponentiallywiththeresolution.Thereforeselectaslargeagridaspossible.
The main question for most boards is how many tracks are to be placed
betweenthepinsofanIC.Toanswerthisquestion,theselectedDesignRules
(i.e.theminimumspacingbetweentracksandpadsorothertracks)mustof
coursealsobeconsidered.
Theresultis:
Thetwogridsmustbeselectedsothatcomponent'spadsarelocatedon
theroutinggrid.
Thereareofcourseexceptions,suchaswithSMDstowhichtheoppositemay
apply,namelythatapositionoutsideoftheroutinggridleadstothebest
results.Inanyeventthechoiceofgridshouldbecarefullyconsideredinthe
lightoftheDesignRulesandthepadspacing.

180

7.4 What Has to be Defined Before Autorouting

Trackpatternswithdifferentplacementgrids
Theexampleabovemayclarifythesituation:
Forthecomponentontheleft,thepadsareplacedontheroutinggrid.Two
trackscanberoutedbetweentwopads.Thepadsofthecomponentinthe
middle are not on the routing grid, and therefore only one track can be
routedbetweenthem.
OntherightyouseetheexceptionfromtheruleshownforSMDpads,which
areplacedbetweentherouting grid lines sothatonetrackcanberouted
betweenthem.
Whenchoosingthegrid,pleasealsoensurethateachpadcoversatleastone
gridpoint.OtherwiseitcanhappenthattheAutorouterisunabletoroutea
signal, even though there is enough space to route it. In this case the
Autorouter issues the message Unreachable SMD at x y as it starts. The
parametersxandyspecifythepositionoftheSMDpad.
Thedefaultvaluefortheroutinggridis50mil.Thisvalueissufficientfor
simplethroughholelayouts.WorkingwithSMDcomponentsdemandsafiner
routinggrid.
Usualvaluesare25,12.5,10,or5mil.
Please remember that finer routing grids require significantly more
routingmemory.

Memory Requirement
Theamountofroutingmemoryrequireddependsinthefirstplaceonthe
selectedroutinggrid,theareaoftheboardandthenumberofsignallayersin
whichtracksarerouted.
Thestaticmemoryrequirement(inbytes)foraboardcanbecalculatedas
follows:
number of grid points x number of signal layers x 2
181

7 The Autorouter
Notethatasupplylayergeneratedbygivingtheappropriatename($name)
doesnotoccupyanyautoroutingmemory.Ontheotherhand,asupplylayer
thathas been created with the aid of one or morepolygonsconsumes as
muchroutingmemoryasanyothersignallayer.
Space is also required for dynamicdata, in additiontothestaticmemory
requirement.Thedynamicdatarequireinaveryroughestimateabout10%
upto100% (in some cases even more!) of the staticvalue. Thisdepends
heavilyonthelayout.
Totalmemoryrequirement(roughapproximation):
static memory x (1.1..2,0) [bytes]
This much RAM should be free before starting the Autorouter. If this is
insufficient,theAutoroutermuststoredataontheharddisk.Thislengthens
the routing time enormously, and should be avoided at all costs. Short
accessestotheharddiskarenormal,sincethejobfileontheharddiskis
regularlyupdated.
Trytochoosethecoarsestpossibleroutinggrid.Thissavesmemoryspace
androutingtime!

Layer
Ifyouwanttodesignadoublesidedboard,thenselectTopandBottomas
routelayers.YoushouldonlyusetheBottomlayerforasinglesidedboard.
Inthecaseofinnerlayers,itishelpfultousethelayersfromtheoutsideto
theinside,i.e.first2and15andsoon.
Innerlayers areconvertedto supplylayers iftheyarerenamedto $name,
wherenameisavalidsignalname.Theselayersarenotrouted.
Supplylayerswithmorethanonesignalcanbeimplementedwithpolygons.
Theselayersaretreatedasnormalsignallayers.
Inthecaseofboardsthataresocomplexthatitisnotcertainwhetherthey
canbewiredontwosides,itishelpfultodefinethemasmultilayerboards,
andtosetveryhighcostsfortheinnerlayers.ThiswillcausetheAutorouter
toavoidtheinnerlayersandtoplaceasmanyconnectionsaspossibleinthe
outerlayers.Itcan,however,makeuseofaninnerlayerwhennecessary.
ThesesettingsaremadeintheAutoroutermenu(seepage183).
TheautoroutershowsthemessageUnreachableSMDinlayer...,ifalayerthat
containsSMDsisnotactive.ClickingOKstartstheautorouternevertheless.If
youwanttochangetheautoroutersetupclickCancel.

Preferred Directions
On the two outside layers the preferred directions arenormallyset to90
degreesfromeachother.Fortheinnerlayersitmaybeusefultochoose45
and135degreestocoverdiagonalconnections.Beforesettingthepreferred
directionitiswellworthexaminingtheboard(basedontheairwires)tosee
182

7.4 What Has to be Defined Before Autorouting


if one direction offers advantages for a certain side of the board. This is
particularlylikelytobethecaseforSMDboards.
Pleasealsofollowthepreferreddirection whenpreplacingtracks.The
defaults are vertical for the Top (red) and horizontal for the Bottom
(blue)layer.
ExperiencehasshownthatsmallboardscontainingmainlySMDcomponents
arebestroutedwithoutanypreferreddirectionatall(set*intheAutorouter
setup).Therouterthenreachesausableresultmuchfaster.
Singlesidedboardsshouldberoutedwithoutapreferreddirection.

Restricted Areas for the Autorouter


IftheAutorouterisnotsupposedtoroutetracksorplaceviaswithincertain
areas,youcandefinerestrictedareasbyusingthecommandsRECT,CIRCLE,
andPOLYGONinthelayers41,tRestrict,42,bRestrict,and43,vRestrict.
tRestrict:RestrictedareasforWiresandPolygonsintheToplayer.
bRestrict:RestrictedareasforWiresandPolygonsinBottomlayer.
vRestrict:RestrictedareasforVias.
SuchrestrictedareascanalreadybedefinedinaDeviceorPackage(around,
forinstance,thefixingholesforaconnector,orforaflatmountedtransistor
underwhichthereshouldnotbeanytracks).
Wiresdrawninlayer20, Dimension,areboundarylinesfortheAutorouter.
Trackscannotbelaidbeyondthisboundary.
Typicalapplication:boardboundaries.
An area drawn in layer 20 can also be used asarestricted regionforall
signals.Itshould,however,benotedthatthisareashouldbedeletedbefore
sendingtheboardformanufacture,sincelayer20isusuallyoutputduring
thegenerationofmanufacturingdata.

Cost Factors and Other Control Parameters


The default values for the cost factors are chosen on the basis of our
experienceinsuchawayastogivethebestresults.
Thecontrolparameters suchas mnRipupLevel, mnRipupSteps etc.havealso
beensettoyieldthebestresultsaccordingtoourexperience.
Wewanttoemphasize,thatwerecommendworkingwiththedefaultvalues.
If you nevertheless do want to experiment with these parameters, please
considerthedescriptionofthecostfactorsinthefollowingsection.Inthe
caseofmanyparametersevensmallalterationscanhavelargeeffects.

7.5 The Autorouter Menu


When running the Autorouter with the AUTO command, the setup menu
appearsfirst.Allthenecessarysettingsaremadethere.
183

7 The Autorouter

Autoroutersetup:Generalsettings(Generaltab)
Thisiswhereyouspecifythelayersthatmaybeusedforroutingandwhich
preferred directions apply. Click in the appropriate combo box with the
mouse,andselectthedesiredvalue.
Settingthepreferreddirections:
horizontal
|

vertical

diagonal at 45

diagonal at 135

none

N/A

Layer not active

Define a suitable Routing grid and select the shape of the throughplated
holes(Viashape).
YoumayusetheLoad...andSaveas....buttonstoloadadifferentparameter
setfromanAutoroutercontrolfile(*.ctl)ortosavethecurrentsettingsfor
furtherprojects.
Younowmakethesettingsfortheindividualroutingsteps.Clickontothe
correspondingtabandmakeanysettingsyoumaywant.
TheFollowmetabisnotrelevantfortheAutorouterpassitself.Youmay,
however,definethesettingsfortheFollowmerouterinthistab,because
itusessomeoftheAutorouterparameters,too.Moredetailsaboutthe
Followmeroutercanbefoundinalatersectionofthischapter.

184

7.5 The Autorouter Menu

Autoroutersetup:SettingsfortheRoutepass
The parameters in the Layer costs, Costs and Maximum groups can be
differentforeachpass.Furtherinformationaboutthiscanbefoundinthe
nextsection.
TheActivecheckboxspecifieswhetherthisstepshouldbeexecutedornot.
AdditionaloptimizationpassescanbeinsertedwiththeAddbutton.
Clicking onto the Select button allows certain signals to be selected for
autorouting. Select these with a mouse click onto the respective airwires.
ThenstarttheAutorouterwithaclickonthetrafficlighticonintheaction
toolbar.
Itis,alternatively,possibletoenterthesignalnamesonthecommandline.
Examples:
VCC GND ;
ThesignalsVCCandGNDwillberouted.
ThesemicolonattheendofthelinestartstheAutorouterimmediately.Itis
alternativelypossibletoclickonthetrafficlighticon.
Ifyoutypeinthecommandline
! VCC GND ;
allsignalsexceptVCCandGNDwillberouted.
Youmayusewildcardsforthesignalselection,aswell.Allowedis
*
?
[]

whichmatchesanynumberofanycharacters.
whichmatchesexactlyonecharacter.
whichmatchesanyofthecharactersbetweenthebrackets,
forexample[af],forallcharactersfromatof.

185

7 The Autorouter
TheAutorouterisstartedforallthesignalsthathavenotyetbeenlaidby
clickingontheOKbutton.
The Cancel menuiteminterruptstheAUTOcommandwithoutstoringany
changes.
Youarenotallowedtomakeanychangestotheparameters,ifyouwantto
restartaninterruptedroutingjob.UsetheContinueexistingjobcheckboxto
decidewhetheryouwanttocontinuewithanexistingjob,orwhetheryou
wanttochoosenewsettingsfortheremainingunroutedsignals.
Endjobendstheautoroutingjobandloadsthepreviousroutingresult.

Autoroutersetup:Restartinganinterruptedjob

7.6 How the Cost Factors Influence the


Routing Process
Valuesbetween0..99 arepossibleforeach costfactor(cfxxx),butthefull
rangeisnotusefulforall parameters.Sensiblevaluesarethereforegiven
witheachparameter.
The control parameters (mnxxx) accept values in the range 0..9999.
Reasonablefiguresarealsoprovidedundereachparameter.
TheparametercanbesetbytheAutorouterSetupMenu.Thesettingsfor
RouteandtheOptimizepassescanbeconfiguredseparately.Themenuissplit
intothreesections,LayerCosts,Costs,Maximum.

186

7.6 How the Cost Factors Influence the Routing Process

Autorouter:ParameterforRoute
Thefollowingsectionshowstheavailableparametersandtheireffects.The
names of the parameters are the same as they would be used in an
Autoroutercontrolfile*.ctl.DetailsaboutthiscanbefoundinParametersof
aControlFilebeginningwithpage193.

Layer Costs
cfBase.xx: 0..20
Basecostsforonesteponthecorrespondinglayer.Recommendation:outside
layers(Top,Bottom)always0,insidelayersgreaterthan0.

Costs
cfVia: 0..99
Controlstheuseofvias.Alowvalueproducesmanyviasbutalsoallowsthe
preferreddirectiontobefollowed.Ahighvaluetriestoavoidviasandthus
violatesthepreferreddirection.Recommendation:lowvaluefortherouting
pass,highvaluefortheoptimization.

cfNonPref: 0..10
Controlsfollowingofthepreferreddirection.Alowvalueallowstrackstobe
routedagainstthepreferreddirection,whileahighvalueforcestheminto
thepreferreddirection.
If cfNonPref issetto99,tracksectionscanonlybeplacedinthepreferred
direction.Onlyselectthisvalueifyouarecertainthatthisbehaviorisreally
wanted.

187

7 The Autorouter
cfChangeDir: 0..25
Controlshowoftenthedirectionischanged.Alowvaluemeansmanybends
areallowedwithinatrack.Ahighvalueproducesvirtuallystraighttracks.

cfOrthStep, cfDiagStep
Implementstherulethatthehypotenuseofarightangledtriangleisshorter
thanthesumoftheothertwosides.Thedefaultvaluesare2and3.That
means that the costs for the route using the two other sides are2+2,as
against3forthehypotenuse.Theseparametersshouldbealteredwithgreat
care!

cfExtdStep: 0..30
Controlstheavoidanceoftracksectionswhichrunatanangleof45degrees
to the preferred direction, and which would divide the board into two
sections.Alowvaluemeansthatsuchsectionsareallowedwhileahighvalue
triestoavoidthem.Incombinationwiththeparameter mnExtdStepyoucan
controlthelengthofthesetracks.If mnExtdStep =0,eachgridstepat45
degreestothepreferreddirectioncausescoststhataredefinedinparameter
cfExtdStep.ChoosingforexamplemnExtdStep =5allowsatracktorunfive
stepsat45 degrees withoutanyadditionalcosts.Eachfurther stepcauses
costsdefinedincfExtdStep.
Inthisway,90degreebendscanbegiven45degreecorners.Settingslike
cfExtdStep = 99 and mnExtdStep = 0 should avoid trackswith 45degree
angles.
Thisparameterisonlyrelevanttolayerswhichhaveapreferreddirection.
Recommendation:usealowervaluefortheroutingpass,andahighervalue
fortheoptimization.

cfBonusStep, cfMalusStep: 1..3


Strengthens the differentiation between preferred (bonus)and bad (malus)
areas in the layout. With high values, the router differentiates strongly
betweengoodandbadareas.Whenlowvaluesareused,theinfluenceofthis
factorisreduced.SeealsocfPadImpact,cfSmdImpact.

cfPadImpact, cfSmdImpact: 0..10


Pads and SMDs produce good and bad sections or areas around them in
whichtheAutorouterlikes(ordoesnotlike)toplacetracks.Thegoodareas
areinthepreferreddirection(ifdefined),the bad onesperpendiculartoit.
Thismeansthattrackswhichruninthepreferreddirectionareroutedaway
fromthepad/SMD.Withhighvaluesthetrackwillrunasfaraspossiblein
thepreferred direction, but if the value is low it may leavethepreferred
directionquitesoon.
It may be worth selecting a somewhat higher value for cfSmdImpact for
denselypopulatedSMDboards.

188

7.6 How the Cost Factors Influence the Routing Process


cfBusImpact: 0..10
Controls whether the ideal line is followed for bus connections (see also
cfPadImpact).Ahighvalueensuresthatthedirectlinebetweenstartandend
pointisfollowed.Onlyimportantforbusrouting.

cfHugging: 0..5
Controls the hugging of parallel tracks. A high value allows for a strong
hugging(tracksareveryclosetoeachother),alowvalueallowsforamore
generous distribution. Recommendation: higher value for routing, lower
valuefortheoptimization.

cfAvoid 0..10
Duringtheripup,areasareavoidedfromwhichtrackswereremoved.Ahigh
valuemeansstrongavoidance.
Notrelevanttotheoptimizationpasses.

cfPolygon 0..30
IfapolygonhasbeenprocessedwiththeRATSNESTcommandandtherefore
isdisplayedasafilledareabeforeyoustarttheAutorouter,everystepwithin
thepolygonisassociatedwiththisvalue.Alowvaluemakesiteasierforthe
Autoroutertoroutetracesinsidethepolygonarea.Theprobability,however,
thatthepolygonisbrokenintoseveralpiecesishigher.Ahighervaluecauses
theAutoroutertomakefewerconnectionsinsidethepolygon.
IfapolygonisinoutlinemodeandnotprocessedbyRATSNESTbeforeyou
start the Autorouter, it won't be taken into consideration at all. cfPolygon
doesnotplayaroleforsuchpolygons.

Maximum
mnVia 0..30
Controls the maximum number of vias that can be used in creating a
connectingtrack.

mnSegments 0..9999
Determinesthemaximumnumberofwirepiecesinoneconnectingtrack.

mnExtdSteps 0..9999
Specifiesthenumberofstepsthatareallowedat45degreestothepreferred
directionwithoutincurringthevalueofcfExtdStep.
SeealsocfExtdStep.
Additionallycanbefoundtheparameters mnRipupLevel, mnRipupSteps, and
mnRipupTotal.Thosearedescribedinthefollowingsection.

189

7 The Autorouter

7.7 Number of Ripup/Retry Attempts


Due to the structure of the Autorouter there are some parameters which
influencetheripup/retrymechanism.Theyaresetinsuchawaythatthey
offeragoodcompromisebetweentimedemandandroutingresult.Theuser
shouldthereforeonlycarefullychangethevaluesfor
mnRipupLevel,mnRipupStepsandmnRipupTotalwhenneeded.
Asarule,highparametervaluesallowformanyripupsbutresultinincreased
computingtimes.
Tounderstandthemeaningoftheparameters youneedtoknowhowthe
routerworks.
Tobeginwiththetracksareroutedoneaftertheotheruntilnootherpath
canbefound.Assoonasthissituationoccurs,therouterremovesuptothe
maximumnumberofalreadyroutedtracks(thisnumberhasbeendefined
with mnRipupLevel)toroutethenewtrack.Ifthereareeighttracksinthe
way,forexample,itcanonlyroutethenewtrackifmnRipupLevelisatleast
eight.
Afterroutingthenewtrack,theroutertriestorerouteallthetrackswhich
wereremoved.Itmayhappenthatanewripupsequencemustbestartedto
reroute one of these tracks. Therouter isthen tworipupsequences away
fromthepositionatwhich,becauseofatrackwhichcouldnotberouted,it
started the whole process. Each of the removed tracks which cannot be
rerouted starts a new ripup sequence. The maximum number of such
sequencesisdefinedwiththemnRipupStepsparameter.
The parameter mnRipupTotal defines how many tracks can be removed
simultaneously.Thisvaluemaybeexceededincertaincases.
Ifoneofthesevaluesisexceeded,therouterinterruptstheripupprocessand
reestablishesthestatuswhichwasvalidatthefirsttrackwhichcouldnotbe
routed.Thistrackisconsideredasunroutable,andtheroutercontinueswith
thenexttrack.

7.8 Routing Multi-Layer Boards


Therearetwodifferentwaysofimplementingsupplylayers.
Supplylayerswitha$signatthestartofthelayername
Supplylayerswithpolygons

Supply Layers
Thedefinitionofsupply layers hasalready been describedintheprevious
chapteronpage159.
Thefollowingpointsmustbeconsideredwhenautorouting:
Thelayernamespecifiesthesignalthatiscarriedbythislayer.The
layer$VCC,forexample,onlycarriestheVCCsignal.
Thelayerisrepresentedwithaninversedisplay.
190

7.8 Routing Multi-Layer Boards


Thelayerisnotactiveduringautorouting(settingN/Ainthe
Autoroutersetup,Generaltab).
Afterrouting,youshoulddrawanisolationwirearoundthelayout.
Thispreventsshortcircuitsattheedgesoftheboard.
Noothersignalsorpolygonsmaybedrawn!
TheAutoroutercan'tusesupplylayersincombinationwithBlindand
Buriedvias.Useinnerlayerswithpolygonsinstead!
TheAutoroutercannotsetMicrovias!
The Autorouter is allowed to set Blind vias thatareshorter than the
maximumdepthdefinedintheLayerSetup.

Polygons as Supply Layers


Itispossiblewithpolygonstocreatesupplylayersthatcontainmorethanone
supply voltage, and a few individual wires as well. Please note the
instructions on page 158, Ground Planes and Supply Layers with Several
Signals.Thesearenotthekindofsupplylayeridentifiedbya$inthename,
butareinfactordinarylayers.
DefinethepolygonsbeforerunningtheAutorouter.
Givetheappropriatesignalnamestothepolygons.
UsetheRATSNESTcommandtoletEAGLEcalculatethepolygon.
Selectthepreferreddirectionsandbasecosts(cfBase)forthelayerin
theAutoroutersetup.AhighervalueofcfBaseforthepolygonlayer
causestheAutoroutertoavoidtheselayersmorestrongly.
Afterrouting,checkthatthepolygonstillconnectsallthesignal
points.Itispossiblethatthepolygonwasdividedasasignalwaslaid.
RATSNESTrecomputespolygons,andissuesthemessage
Ratsnest:Nothingtodo!,ifeverythingisinorder.

7.9 Backup and Interruption of Routing


As, with complex layouts, the routing process may take several hours, a
backup is carried out at intervals (approx. every 10 minutes). The file
name.jobalwayscontainsthelaststatusofthejob.Ifthejobisinterruptedfor
anyreason(powerfailureetc.)thecomputertimeinvestedsofarisnotlost,
sinceyoucanrecallthestatussavedinname.job.Loadyourboardfileinthe
LayoutEditor,andthenenter:
AUTO;

191

7 The Autorouter
Answer the prompt as to whether the Autorouter should recall (Continue
existingjob?)withYes.TheAutorouterwillthencontinuefromthepositionat
whichthejobwaslastsaved(amaximumof10minutesmaybelost).
If the autorouting is interrupted via the stop icon, the name.job file also
remainsintactandcanberecalled.Thismaybeusefulwhenyouhavestarted
acomplexjobonaslowcomputerandwanttocontinuewithitonafast
computerassoonasoneisavailable.
Pleasenotethatchangingtheparametersbeforerecallingwillnotinfluence
thejob, since itwillhavebeensavedtogetherwiththeparameters which
werevalidatthetimeoftheinitialAutorouterstart.
WhentheAutorouterhasfinished,theroutedboardissavedas name.b$$.
Youcanrenameitto name.brd anduseit,forinstance,ifapowerfailure
occurredaftertheautoroutingrunandyoucouldnotsavetheboardfile.This
fileisdeletedautomaticallyaftertheboardhasbeensaved.

7.10 Information for the User


Status Display
Duringtherouting,theAutorouterdisplaysinformationontheactualrouting
resultinthestatusbar.

Autorouter:StatusBar
Thedisplayedvalueshavethefollowingmeaning:
Route:
Resultin%(hithertomaximum,bestdata)
Vias:
Numberofviasinthelayout
Conn:
NumberofConnectionstotal/found/not routable
Connectionsheremeans2pointconnections.
Ripup:
NumberofRipups/current RipupLevel/cur. RipupTotal
Numberofripups:
Thisindicatesthenumberofconnections thathavealreadybeenrouted
duringtheforegoingroutingprocedurethathavebeen(canbe)removedin
ordertobeabletoroutenewsignals.

192

7.10 Information for the User


CurrentRipupLevel:
This indicates the number of connections that have been removed or
convertedinairwiresinordertolaythetrackforthecurrentsignal.
CurrentRipupTotal:
Afterasignal'srouteshavebeenrippedupitcanbebrokendownintoa
largenumberoftwopointconnections.Theseconnectionsarethenrouted
again. This variable indicates the number ofsuchtwopointconnections
stilltoberouted.
Signals:
Signalsfound/handled/prepared,
ifsofollowedby:(routing_time signalname)
In case the Autorouter needs more than about 5 seconds to layout a
connection,EAGLEshowsinparenthesistheroutingtimeandthenameof
thecurrentlyprocessedsignal.

Log file
For each routing pass the Autorouter generates a file called name.pro,
containingusefulinformation.Example:
EAGLE AutoRouter Statistics:
Job : d:/eagle4/test-design/democpu.brd
Start at : 15.43.18 (24.07.2000)
End at : 16.17.08 (24.07.2000)
Elapsed time : 00.33.48
Signals : 84 RoutingGrid: 10 mil Layers: 4
Connections : 238 predefined: 0 ( 0 Vias )
Router memory : 1121760
Passname:

Busses

Route

Time per pass: 00.00.21 00.08.44


Number of Ripups:
0
32
max. Level:
0
1
max. Total:
0
31
Routed:
Vias:
Resolution:

Optimize1

Optimize2

Optimize3

Optimize4

00.06.32
0
0
0

00.06.15
0
0
0

00.06.01
0
0
0

00.05.55
0
0
0

16
0

238
338

238
178

238
140

238
134

238
128

6.7 %

100.0 %

100.0 %

100.0 %

100.0 %

100.0 %

Final: 100.0 % finished

7.11 Parameters of a Control File


We see here how the individual parameters in an Autorouter control file
(name.ctl)areused.
Parameter
RoutingGrid

Default Meaning
=

50Mil

Grid used by the Autorouter for tracks


and via-holes
Cost factors for...

193

7 The Autorouter
cfVia
cfNonPref
cfChangeDir
cfOrthStep
cfDiagStep
cfExtdStep
cfBonusStep
cfMalusStep
cfPadImpact
cfSmdImpact
cfBusImpact
cfHugging
cfAvoid
cfPolygon

=
=
=
=
=
=
=
=
=
=
=
=
=
=

8
5
2
2
3
30
1
1
4
4
4
3
4
10

Vias
Not using preferred direction
Changing direction
0 or 90 deg. Step
45 or 135 deg. Step
Deviation 45 deg. against preferred direction
Step in bonus area
Step in handicap area
Pad influence on surrounding area
SMD influence on surrounding area
Leaving ideal bus direction
Wire hugging
Previously used areas during ripup
Avoiding polygons

cfBase.1
cfBase.2
...
cfBase.15
cfBase.16

=
=

0
1

=
=

1
0

mnVias
mnSegments
mnExtdSteps
mnRipupLevel
mnRipupSteps
mnRipupTotal

=
20
= 9999
= 9999
= 100
= 300
= 200

Maximum number of...


Vias per connection
Wire segments per connection
Steps 45 deg. against preferred direction
Ripups per connection
Ripup sequences per connection
Ripups at the same time

tpViaShape

= Round

Track parameters for...


Via shape (round or octagon)

PrefDir.1
PrefDir.2

=
=

|
0

PrefDir.15
PrefDir.16

=
=

0
-

194

Basic costs for a step in the given layer

Preferred direction in the given layer


Symbols: 0 - / | \ *
0 : Layer not used for routing
* : No preferred direction
- : X is preferred direction
| : Y is preferred direction
/ : 45 deg. is preferred direction
\ : 135 deg. is preferred direction

7.12 Practical Hints

7.12 Practical Hints


Thissectionpresentsyouwithsometipsthathave,overaperiodoftime,
beenfoundusefulwhenworkingwiththeAutorouter.
Lookontheseexamplesassignpostssuggestingwaysinwhichaboardcanbe
routed.Noneofthesesuggestionsguaranteesuccess.

General
Thelayercosts(cfLayer)shouldincreasefromtheoutertotheinnerlayersor
bethesameforalllayers.Itisunfavourabletouselowervaluesintheinner
layers than in the outer layers. This could increase the needed routing
memoryenormously.
TheAutoroutercan'tlayoutwiresasarcs!
TheAutoroutercan'tsetmicrovias!
TheAutoroutercan'tsetBlindandBuriedviasifinnerlayersaredefined
asSupplylayers!

Single-Sided Boards
Therearetwoprocedures,dependingonthekindoflayout:
Inthesimplestcase,onlylayer16,Bottom,isactive.Nopreferreddirectionis
defined.SelectasuitablegridandruntheAutorouter.
Ifthelayoutisrathermorecomplex,itmaybepossibletoachieveausable
resultwithspecialparametersettings.Pleasetakealookattheprojectnamed
singlesided,whichcanbefoundintheeagle/projects/examplesdirectory.This
exampleprojectcomeswithvariouscontrolfiles(*.ctl),whichareoptimized
forsinglesidedrouting.
TheAutoroutermayusetheToplayeraswell.Thetrackslaidtherewillbe
realizedaswirebridgesontheboard.Inlayer41, tRestrict,youcandefine
restrictedareasaroundthecomponentsandinregionswherewirebridges
arenotallowed.
Feelfreetoexperimentwiththeparametersettingsforyourlayout.

SMD Boards With Supply Layers


Thefollowingprocedurehasbeenfoundeffective:
Thesupplysignalsareroutedfirst.Ingeneral,ashorttrackiswantedfroma
SMDcomponenttoaviathatconnectstotheinnerlayer.
Before altering the parameters, save the current (default) values in an
Autoroutercontrolfile(CTLfile).ClickonthebuttonSaveas..intheGeneral
tab of the Autorouter setup window and input any name, for example,
standard.ctl.
195

7 The Autorouter
Now switch off the bus router and all the optimization passes in the
Autoroutersetup.Onlytheroutingremainsactive.Alterthefollowingcost
factors:
cfVia = 0
Vias are welcome
mnVia = 1

Max. one via per connection

cfBase.1/16 = 30..99

Fewer tracks in Top/Bottom

mnSegments

Short tracks

2..8

StarttheAutorouter,usingthe Select button,andchoosethesignalstobe


routed.Aftertheroutingpassitispossible,ifappropriate,tooptimizethe
resultmanually.
The rest of the connections are routed after this. Use AUTO to open the
Autoroutersetupmenu,andloadthepreviousstoredcontrolparameterswith
theLoad.. button(standard.ctl).Adjustthevaluestoanyspecialwishesyou
mayhave,andstarttheAutorouter.
This procedure is identical for both types of supply layer (automatically
generatedsupplylayer,orasupplylayergeneratedwithpolygons).

What can be done if not all signals are routed?


Ifthishappens,checkyoursettings.
Hasasufficientlyfineroutinggridbeenselected?
Havethetrackwidthsgotappropriatedimensions?
Cantheviashavesmallerdiameters?
Havetheminimumclearancesbeenoptimallychosen?
Ifitiseitherimpossibleorunreasonabletooptimizethesevaluesanyfurther,
anattempttoachieveahigherlevelofroutingmaybemadebyincreasing
the ripup level. Observe the notes in the section on the Number of
Ripup/RetryAttemptsonpage190.

7.13 The Follow-me Router


Tosimplifytheroutingofairwiresontheboard,theROUTEcommandoffers
two followme operating modes that can route a selected signal
automatically.Thepositionofthemousecursorinthelayoutdeterminesthe
traceoftheconnection.
ForthisfunctionyourlicensemustprovidetheAutoroutermodule.

Partial and Full Mode


TostarttheFollowmerouter,activatetheROUTEcommandandselectthe
wirebendmode8or9fromtheparametertoolbar.

ParametertoolbaroftheROUTEcommand
196

7.13 The Follow-me Router


After clicking onto an airwire, EAGLE calculates an appropriate trace and
displaystheconnection.Moveingthemousecursorwillchangethecurrent
trace.Traceprocessingdependsonthecomplexityofthelayoutandmaylast
somemoments.Itisrecommendednottomovethemousecursoruntilthe
connectionisdisplayed.
If you select wire bend mode 8
, the socalled partial mode, EAGLE
calculatesthetraceoftheselectedsignal,beginningwiththemousecursor
positiontothenearerendoftheairwire,anddisplayit.Fixtheresultwitha
mouseclick.Theremainingpartoftheairwirewillbecalculateddynamically.
Thismeans,thattheairwiremaypointtoanotherobjectthatbelongstothe
signal,dependingonthecurrentmousecursorposition.
Withwirebendmode9
,thefull mode,theFollowmeroutercalculates
thetraceinbothdirectionssimultaneously.Acompleteconnectionwillbe
estblished. As soon as you are clicking onto an airwire, EAGLE begins to
calculatethetraceoftheconnectionfromthenearerendoftheairwiretothe
currentmouseposition.Itisnotmandatorythatthefarerendoftheairwire
pointsalwaystoitsoriginalposition.Dependingonthemousecursorposition
thisendpointmaydirectyoutoanother(nearer)location.
If it is not possible to draw a connection from the current mouse cursor
position,thecursorturnsintoasmallprohibitionsign.Movethemouseand
trytofindapossiblewayfortheconnection.Maybeitissufficienttochange
thelayerat the current position. Itcould alsobeadviceabletoadjustthe
Design Rules. Please keep in mind that restricted areas in the layers
t/bRestrict orwiresinthe Dimension layercanhinderEAGLEtoestablisha
connection.

Configuration
TheFollowmerouterrespectsDesignRulessettings:
ValuesforClearance,Distance,andSizewillbetakeninconsideration,aswell
asparticularvaluesfornetclasses,ifdefined.Pleasebesurethatthe Layer
setupintheLayerstabisproperlyset.
ThecurrentgridsettingintheLayouteditorservesasroutinggrid.Usethe
GRIDcommandinordertochangeit.Ifthereisalreadyasignalassignedto
mousecursor,dropit,andselectitagain.Otherwisethegridchangedoesnot
affecttheconnection.
The layer setting, which can be checked and changed in the parameter
toolbaroftheROUTEcommand,displaysthelayerwhichhastobeusedat
themousecursorposition.
TheFollowmerouterreactsimmediatelyonchangesconcerningwirewidth
ordrilldiameterofvias.Iftheoption Autosetroutewidthanddrill inthe
Options/Set/Misc menuisset,theFollowmerouteradaptsthegivenvalues

197

7 The Autorouter
forwirewidthandviadrilldiameterfromtheDesignRulesandfromthenet
classesassoonasanairwireisselected.

Routing Parameters
ParametersthataffecttheroutingstrategyaresetbyclickingontotheAUTO
icon
,whichisavailableintheparametertoolbarafterenteringoneofthe
followme modes. Click this icon in order to open the known Autorouter
Setupwindow.TherearetwotabsthataffecttheFollowmerouter: General
andFollowme.
TheBussestabandtheOptimizetabsarealsoavailable,butyoucan'tmodify
theirvalues.TheyareonlyforAutorouteruse.
Alternativelyyoucanopenthissetupwindowfromthecommandline.Type:
AUTO FOLLOWME
SelecttheGeneral tabfordefiningpreferreddirectionsforthesignallayers.
Theydeterminethemaindirectionofsignalwiresinthislayer.

Followmerouter:Definingpreferreddirections
Checkthepossibleoptionsonpage184.
Itispossibletochoose N/Anotavailableforasignallayer.TheFollow
merouterignoressuchalayer.Objectsthatarealreadydrawninthislayer
won'tbetakenintoconsideration.Thismayleadtocollisionsandresultin
DesignRuleCheckerrors.TheFollowmerouterexplicitelywarnsyouthat
suchproblemscanappear.
Supplylayers,however,mustbesetN/A.Suchlayersaregenerallyforbidden
forsignalwires.

198

7.13 The Follow-me Router


SettingsthatconcernroutingmodalitiesaremadeintheFollowmetab:
LayerCostscontroltheusageofeachlayer.Thehigherthevalue(from0up
to99),themorethelayerisavoided.

Followmerouter:Settingroutingparameters
Theeffectsoftheseparametersareexplainedinsection7.6,beginningwith
page186.
IntheMaximum section,youcandefinethenumberofViastheroutermay
useforoneconnection.Ifthisvalueissetto0,theFollowmerouterisnot
allowedtosetviasautomatically.However,youareabletomanuallysetavia
bychangingthelayer.
The value for Segments defines the maximum numberofwire segments a
connectionmayconsistof.Ifyouchooseittoosmall,itmayhappenthatno
connectionwillbeestablished.

Notes
TheFollowmeroutersupportsroundandoctagonviashapesonly.Square
shapedviasarenotpossible.
If you are working in Full mode, the Followme router works in both
directions independently, beginning with the mouse cursor position. So it
could happen that the router places two vias very close to or even
overlappingeachothernearthecurrentpositionofthemousecursor.Inthis
case move the mouse cursorslightly, until theviasareoptimizedandthe
tracelooksgood.
It'srecommendedtodrawaDimension lineinlayer20inordertolimitthe
boardareaandthereforerequiredtimeandmemory.

199

7 The Autorouter
Dependingonthecomplexityofyourdesign,itmaybewisetoincreasethe
costfactorfor Vias anddecreaseitfor NonPref.Thisavoidsfrequentlayer
changes.

200

Chapter 8
Component Design Explained
through Examples
WhendevelopingcircuitswithEAGLE,componentsarefetchedfromlibraries
andplacedintotheschematicor,iftheSchematicEditorisnotbeingused,
intothelayout.Allthecomponentinformationisthensavedintheschematic
orboardfile.Thelibrariesarenolongerneededforcontinuedworkwiththe
data.Sowhenyouwanttopassyourschematictoathirdpartytohavea
layout made from it, you do not also have to supply the libraries. An
alterationinalibraryhasnoeffectonaschematicorboard.
The most important procedures for designing components (Devices) and
working with libraries are explained from page 73 on. Please read this
paragraphbeforeyoucontinuetoreadthecurrentchapter!
Somepracticalexamplesfollow,fromwhichtheeffectiveapplicationofthe
relevant commands and parameters will be seen. First we will take the
exampleofaresistorandgothroughthewholeprocessofdesigningasimple
component.
Thesecondexampleprovidesafulldescriptionofthedefinitionofacomplex
component,includingvariousPackagevariantsandtechnologies.Afterthat
weshalldiscussthespecialfeatureswhichhavetobetakenintoaccountwith
morecomplicatedcomponents.
Startingatpage256hintsconcerninglibraryandDevicemanagementcanbe
found.Howtocreatemyownlibrary?Howtocopyelementsfromonelibrary
intoanother?
FirstattemptsateditingPackages,Symbols,orDevicesmayresultintheneed
todeletevarious library elements. Todothis,usetheREMOVEcommand
(seepage260).

8.1 Definition of a Simple Resistor


First open a new library in the EAGLE Control Panel using the
File/New/Librarymenu.
Alternativelyyoucantypethecommand
OPEN
onthecommandlineoftheSchematicorLayoutEditorwindows.Thenenter
alibrarynameinthefiledialog.TheLibrarywindowopens.
201

8 Component Design Explained through Examples

Resistor Package
Define a New Package
SelectthePackageeditingmodeviatheiconintheactiontoolbar,and
enterthePackagename R10 inthe New field.Answerthequestion Create
newpackage'R10'?withYes.LaterwhencreatinganewSymbolandanew
DeviceyouwillagainhavetoanswerthecorrespondingquestionswithYes.

Set the Grid


Use the GRID command to set an appropriate grid size for the pad
placement.0.05inch(i.e.50mil)isusualforstandardcomponentswithlead
wires.

Solder Pads
Foraresistorwithleadwires,selectthePADcommand,andsetthepad
shapeandthedrilldiameterintheparametertoolbar.Thedefaultvaluefor
the pad diameter is auto (respectively 0). This value should bekept. The
actualdiameterisspecifiedbytheDesignRulesforthelayout.Thenplace
twopadsatthedesireddistance.Theoriginofthedrawingwilllaterbethe
identifying point with which a component is selected. For this reason it
shouldbesomewherenearthecenteroftheDevice.
Youshouldnotdrawanyobjectsinlayer17,Pads,or18,Vias!Theywill
not be recognized, nor bytheDRC,neither bypolygons drawninthe
layout,andcanleadtoshortcircuits!

For a SMD resistor, select the SMD command, and set the pad
dimensionsintheparametertoolbar.Youcaneitherselectoneoftheoffered
values,ordirectlytypethelengthandbreadthintotheentryfield.

SMDcommand:Parametertoolbar
AllpropertiescanbealteredafterplacementusingtheCHANGEcommandor
bytypingthecommanddirectlyonthecommandline.
Select Top asthelayer,evenifthe componentwilllaterbeplacedonthe
undersideoftheboard.SMDcomponentsarelocatedontheothersideofa
board using the MIRROR command. This moves the objectsin all the t..
layersintothecorrespondingb..layers.

202

8.1 Definition of a Simple Resistor


Place the two SMD pads (which in EAGLE are just called SMDs) at the
desireddistance.Itmaybenecessaryfirstofalltoalterthegridsettingtoa
suitablevalue.TheSMDcanberotatedwiththerightmousebuttonbeforeit
isplaced.
TheparameterRoundnessspecifieswhetherthecornersoftheSMDsaretobe
rounded. By default this value is set to 0 % (no rounding). This value is
usually kept, since thefinal roundness of SMDsisspecified in theDesign
Rules. The help system provides you with more information about this
parameter.
AngledeterminestherotationoftheSMDpad.
TheINFOcommandorthePropertiesentryofthecontextmenuprovides
youwithaquicksummaryofthecurrentpropertiesofaSMDorPad.

Pad Name
Youcannowenterthenames,suchas 1 and 2,forthepadsorSMDs
usingtheNAMEcommand.

Silkscreen and Documentation Print

NowusethecommandsWIRE,ARC,CIRCLE,RECT,

andPOLYGONtodrawthesilkscreenSymbolinlayer21, tPlace.Thislayer
containswhatwillbeprintedontheboard.Itisuptoyouhowmuchdetail
yougivetotheSymbol.Setafinergridsizeifithelps.
Taketheinformationprovidedin library.txt asaguidelineforthedesignof
components. The line thickness for the silk screen is usually 0.008 inch
(0.2032mm),forsmallercomponents0.004inch(0.1016mm).
Layer51,tDocu,isnotusedtoprintontotheboarditself,butisasupplement
tothegraphicalpresentationwhichmightbeusedforprinteddocumentation.
Caremustbetakeninlayer21,tPlace,nottocoveranyareasthataretobe
soldered. Amorerealisticappearancecanbegiven,however,inthe tDocu
layer,whichisnotsubjecttothislimitation.Intheexampleoftheresistor,
theSymbolcanbedrawninlayer21,tPlace,butthewires,whichgooverthe
pads,aredrawninlayer51,tDocu.

203

8 Component Design Explained through Examples

ThePackageEditor

Labeling
With the TEXT command you place the texts >NAME (in layer 25,
tNames) and >VALUE (in layer 27, tValues) in those places where in the
boardtheactualnameandtheactualvaluearetoappear.0.07inchforthe
textheight(size)and10%fortheratio(relationshipofstrokewidthtotext
height, which can only be set, using CHANGE, for vector fonts) are
recommended.
Werecommendtowritethesetextsinvectorfont.Soyoucanbesurethat
itlooksexactlythesameontheprintedcircuitboardandintheLayout
Editor.
SMASH and MOVE can be used later to change the position of this text
relativetothepackagesymbolontheboard.
InthecaseofICs,forinstance,thevaluecorrespondstowhatwilllaterbethe
Devicename(e.g.74LS00).
WhenworkingwiththeLayoutEditoronly,thevalueisspecifiedinthe
board.

204

8.1 Definition of a Simple Resistor


Restricted area for components
Inlayer39,tKeepout,youshouldcreatearestrictedareaoverthewhole
component (RECT command). This allows the DRC to check whether
componentsonyourboardaretoocloseorevenoverlapping.

Description
Finally, you click on the Description box. Textcanthenbeentered inthe
lowerpartofthewindowwhichthenopens.HTMLtextcanbeused.Thisisa
syntaxsomewhatsimilartoHTML,whichpermitsformattingofthetext.You
willfinddetailedinformationinthehelpsystemunderHTMLText.
Example:
<b>R-10</b>
<p>
Resistor 10 mm grid.
Keywords from this text can be searched for from the ADD dialog in the
layout.
Donotforgettosavethelibraryfromtimetotime!

Note
The CHANGE command

can be used at a later stage to alter object

propertiessuchasthestrokethickness,textheight,padshape,orthelayerin
whichtheobjectislocated.
Ifyouwanttochangethepropertiesofseveralobjectsatonego,definea
groupwiththeGROUPcommand

,clicktheCHANGEcommand,select

theparameterandthevalue,andclickonthedrawingsurfacewiththeright
mousebuttonwhiletheCtrlkeyispressed.
Example:
UseGROUPtodefineagroupthatcontainsbothpads,thenselectCHANGE
andShape/Square.PresstheCtrlkey,andclickonthedrawingsurfacewith
therightmousebutton.Theshapeofbothpadschanges.

Resistor Symbol
Define a New Symbol
Selectthe Symboleditingmode,andentertheSymbolname R inthe
Newfield.Thisnameonlyhasameaninginternaltotheprogram,anddoes
notappearintheschematic.

205

8 Component Design Explained through Examples


Set the Grid
Nowcheckthat0.1inchissetasthegridsize.ThepinsintheSymbol
mustbeplacedonthisgrid,sincethisiswhatEAGLEexpects.

Place the Pins


SelectthePINcommand.Youcannowsetthepropertiesofthesepinsin
theparametertoolbar,beforeplacingthemwiththeleftmousebutton.All
thesepropertiescanbechangedatalaterstagewiththeCHANGEcommand.
Groupscanagainbedefined(GROUP)whosepropertiescanthenbealtered
withCHANGEandtherightmousebutton.Seealsopage205.

Pincommand:Parametertoolbar(splitintotwolines)
Orientation
Setthedirectionofthepins(Orientationparameter)usingthefourlefthand
iconsintheparametertoolbaror,moreconveniently,byrotatingwiththe
rightmousebutton.
Function
The function parameter is set with the next four icons on the parameter
toolbar.ThisspecifieswhethertheSymbolistobeshownwithaninversion
circle(Dot),withaclocksymbol(Clk),withboth(DotClk)orsimplyasa
stroke (None). The diagram illustrates the four representations on one
Package.

Pinfunctions

206

8.1 Definition of a Simple Resistor


Length
Thenextfouriconsontheparametertoolbarpermitsettingofthepinlength
(0,0.1inch,0.2inch,0.3inch).The0settingisusedifnopinlineistobe
visible,orif,asintheresistorSymbol,apinshorterthan0.1inchisdesired.
InthatcasethepinistobedrawnwiththeWIREcommandasalineinlayer
94,Symbols.
TheSHOWcommandcanbeusedtocheckwhetheranetisconnectedtoa
pinintheschematicdiagram.Thepinlineandthenetaredisplayedmore
brightlyif they areconnected. If apin with length0isused,orifitwas
drawnasalinewiththeWIREcommand,itcannotbedisplayedbrightly.
Visible
Thenextfouriconsintheparametertoolbarspecifywhetherthepinsareto
be labeled with pin names, pad names, both or neither. The diagram
illustratesanexampleinwhichpinnamesareshowninsideandpadnames
outside.Thelocationofthelabelrelativetothepinisfixed.Thetextheightis
alsofixed(at60mil).

Pinlabeling
Direction
TheDirectionparameterspecifiesthelogicaldirectionofthesignalflow:
NC
In
Out
I/O
OC
Hiz
Pas
Pwr
Sup

Notconnected
Input
Output
Input/output
OpenCollectororOpenDrain
Highimpedanceoutput
Passive(resistors,etc.)
Powerpin(powersupplyinput)
Powersupplyoutputforgroundandsupplysymbols

TheElectricalRuleCheckexecutes,dependingonthepindirection,various
checks.Itexpectsforthedirection
NC
In
Out

anotconnectedpin
anetconnectedtothispinandnotonlyInpins
connectedtothisnet
notonlyOutpinsconnectedtothenet,noSuporOC
207

8 Component Design Explained through Examples


OC
Pwr
I/O,Hiz,Pas

pinatthesamenet
noOutpinatthesamenet
aSuppinsetforthisnet
nospecialchecks

ThePwrandSupdirectionsareusedfortheautomaticconnectionofsupply
voltages(seepage238).
Swaplevel
TheSwaplevelisanumberbetween0and255.Thenumber0meansthatthe
pin cannot be exchanged for another pin in the same Gate. Any number
biggerthan0meansthatpinscanbeexchangedforotherpinswhichhave
thesameSwaplevelandaredefinedwithinthesameSymbol.Thepinscanbe
swappedintheschematicorintheboardwiththePINSWAPcommand.
ThetwopinsofaresistorcanhavethesameSwaplevel(e.g.1),sincethey
areinterchangeable.
Ifthelayer93, Pins,isbeingdisplayed,the connectionpointsonnetsare
shownwithgreencircles.TheDirectionand Swaplevelparametersmoreover
(herePasand1)aredisplayedinthislayer.
Theconnectionsofadiode,forinstance,cannotbeexchanged,andare
thereforegivenSwaplevel0.

Pin Names
TheNAMEcommandallowsyoutonamepinsaftertheyhavebeenplaced.
Theautomaticnameallocation,asdescribedonpage93alsooperates.

Schematic Symbol
TheschematicSymbolisdrawnintheSymbolslayerusingWIREandthe
otherdrawingcommands.Placethetexts>NAMEand>VALUEinlayers95,
Names,and96, Values (TEXTcommand).Placethemwherethenameand
valueofthecomponentaretoappearintheschematic.
Preciseplacementofthetextcanbeachievedbysettingthegridfiner,which
canevenbedonewhiletheTEXTcommandisactive.Afterwards,however,
settheagaingridto0.1inches.
Layer97,Info,maybeusedforadditionalinformationandhints.

208

8.1 Definition of a Simple Resistor

TheSymbolEditor

Resistor Device
Define a New Device
CreatethenewDeviceR10withthisicon.WhenyoulaterusetheADD
commandto fetchthecomponentintotheschematic,youwillselectitby
usingthisname.Itisonlyacoincidencethatinthiscasethenameofthe
PackageandthenameoftheDevicearethesame.
So enter the name R on the New line. The Device Editor opens after the
confirmingquestionCreatenewdevice'R'?.

Selecting, Naming and Configuring Symbols


ThepreviouslydefinedresistorSymbolisfetchedintotheDevicewith
theADDcommand.
If a Device consists of several schematic Symbols which can be placed
independentlyofoneanotherinthecircuit(inEAGLEtheseareknownas
Gates),theneachGateistobeindividuallybroughtintotheschematicwith
theADDcommand.
SetanAddlevelofNextandaSwaplevelof0intheparametertoolbar,and
then place the Gate near the origin. There arefurther explanationsabout
Addlevelfrompage244on.
209

8 Component Design Explained through Examples


TheSwaplevelofaGatebehavesverymuchliketheSwaplevelofapin.The
valueof0meansthattheGatecannotbeexchangedforanotherGateinthe
Device.Avaluegreaterthan0meansthattheGatecanbeswappedwithin
the schematic for another Gate in the same Device and having the same
Swaplevel.ThecommandrequiredforthisisGATESWAP.
OnlyoneGateexistsinthisexample;theSwaplevelremains0.
You can change the name of the Gate or Gates with the NAME
command.ThenameisunimportantforaDevicewithonlyoneGate,sinceit
doesnotappearintheschematic.
Keeptheautomaticallygeneratedname!
InthecaseofDeviceswithseveralGates,thenameoftheparticularGateis
addedtothenameoftheDevice.
Example:
TheGatesarecalled A,B,CandD,andthenameofthecomponentinthe
schematicisIC1,sothenameswhichappearareIC1A,IC1B,IC1CandIC1D.

Selecting the Package


NowclickontheNewbuttonatthelowerrightoftheDeviceEditorwindow.
ChoosetheR10Packagefromtheselectionwindow,andenteranamefor
theversion.IfonlyonePackageversionisused,itisusualtousetwosingle
quotemarks('')forthenameofthePackageversion.Itis,however,quite
possibletoassignaparticularname.

ThePackageselection

Connections Between Pins and Pads


With the CONNECT command you specify which pins are taken to which
packagepads.

210

8.1 Definition of a Simple Resistor

TheCONNECTwindow
TheresistorgateinthisexampleisautomaticallyidentifiedasG$1,forwhich
reasonthepinsG$1.1andG$1.2ofthisgateappearinthePincolumn.
ThetwoconnectionsofthehousingarelistedinthePadcolumn.Markapin
andtheassociatedpad,andclickonConnect.
If you want to undo a connection that you have made, mark it in the
ConnectioncolumnandclickDisconnect.
Clickingonacolumn'sheaderbarchangesthesortingsequence.
FinishtheCONNECTcommandbyclickingonOK.

Define Prefix
ThePREFIXcommandisusedtospecifyaprefixforaname.Thenameitself
willinitiallybeautomaticallyallocatedintheschematic.Foraresistorthis
would,naturallyenough,beR.TheresistorswillthenbeidentifiedasR1,R2,
R3etc..
ThenamescanbealteredatanytimewiththeNAMEcommand

Value
On:

Youareallowedtochangethevalueintheschematic(forexample
forresistors).Withoutavaluethepartwillnotbespecifiedexactly.

Off:

ThevaluewillbegeneratedfromtheDevicenameandincludes
technologyandPackagevariant(e.g.74LS00N),ifavailable.
Alsorecommendedforsupplysymbols.

211

8 Component Design Explained through Examples

TheDeviceEditor:Fullydefinedresistor

Description
ClickontheDescriptioninthedescriptionbox.Youcanenteradescriptionof
the component here. The search facility of the ADD command in the
schematicdiagramwillsearchthroughthistext.
YoucanuseHTMLText,asinthePackagedescription.Youwillfindnotes
aboutthisinthehelpsystemunderthekeywordHTMLText.
Itcanlooklikethis:
<b>R-10</b>
<p>
Resistor 10mm package

Save
This completes definition of the resistor, and it can be fetched into the
schematicdiagram.Ifyouhavenotalreadysavedthelibrary,pleasedoitat
thisstage!

Library Description
NotonlyPackagesandDevicescanhave descriptions,buttheLibraryasa
wholecanhaveoneaswell.ThisdescriptionisshownintheControlPanelas
soonasyouexpandtheLibrariesbranchoftheTreeviewandselectalibrary
entrythere.
212

8.1 Definition of a Simple Resistor


Nomatterwhicheditormode(Symbol,Package,Device)iscurrentlyactive,
clicktheLibrary/Descriptionmenutoeditthedescription.YoucanuseHTML
text,ifyoulike.

Use Library
The newly created library has to be made available for the schematic or
layoutwiththehelpoftheUSEcommand.Thiscommandhastobeusedin
theSchematicorLayoutEditor.ItisalsopossibletomarkalibraryasinUse
intheControlPanel'streeview.Seehelpfordetails.
Now the library will be recognized by the ADD command and its search
function.

8.2 Defining a Complex Device


InthissectionweusetheexampleofaTTLchip(541032)todefinealibrary
elementthatistobeusedintwodifferentPackages(pinleadedandSMD).It
isaquadORgate.Theschematicdiagramsymbolistobedefinedinsucha
waythattheindividualORgatescanbeplacedoneafteranother.Thepower
supply pins are not initially visible in the schematic diagram, but can be
fetchedintothediagramifneeded.
Thedefinitionproceedsinthefollowingsteps:
Creatinganewlibrary
Drawingthepinleadedhousing(DIL14)
CreatingtheSMDhousing(LCC20)
Definingthelogicsymbol
Creatingthepowersupplysymbol
AssociatingthePackagesandSymbolstoformaDeviceset

213

8 Component Design Explained through Examples

Datasheetforthe541032

All the data for this component has been extracted from a data book
published by Texas Instruments, whom we thank for permission to
reproduceit.

214

8.2 Defining a Complex Device

Creating a New Library


ClickontheFile/New/LibrarymenuintheEAGLEControlPanel.TheLibrary
Editorwindowappears,containinganewlibrary,untitled.lbr.
Itis,ofcourse,alsopossibletoexpandanexistinglibrary.Inthatcaseyou
would use File/Open/Library toselect thelibrary youwant,oryouwould
click on the Libraries entry in the Control Panel's tree view, selecting the
desiredlibrarywithaclickoftherightmousebutton.Thiswillopenacontext
menu,oneofwhoseoptionsisOpen.TheLibraryEditorisopened.

Drawing the Pin-Leaded Package


ThecomponentismanufacturedinapinleadedPackage.ThisisaDIL14
housingwithapinspacingof2.54mm(0.1inch)andawidthof7.62mm
(0.3inch).
If there isasuitablePackage in another library,itcanbecopiedintothe
currentlibrary.Anewdefinitionwouldnotbenecessary.

DIL14datasheet
Clickontothe Editapackage iconintheactiontoolbar,andenterthe
nameofthePackageintheNewboxoftheEditmenu,whichisDIL14inour
presentexample.ClickOK,andconfirmthequestionCreatenewpackage'DIL
14'?byansweringYes.
ThePackageEditorwindownowopens.
215

8 Component Design Explained through Examples


Set the Grid
First set the appropriate grid (50 mil in this case) using the GRID
command,andletthegridlinesbevisible.
ThegridcaneasilybeshownandhiddenwiththeF6functionkey.

Place Pads
UsethePADcommand,andplacethesolderpadsinaccordancewiththe
specificationsonthedatasheet.Thepadsshouldbearrangedinsuchaway
that the coordinate origin is located somewhere near the center of the
Package.
Eachpadcanhaveindividualpropertiessuchas Shape, Diameter,and Drill
holediameter.Availableshapesare:Square,Round,Octagon,Long,andOffset
(Longwithoffsetdrill).
Selectthedesiredpadshapeandspecifytheholediameter.
The pad diameter usually is defined with the standard value auto
(respectively0),sincethesizeisfinallydeterminedinthelayoutbymeansof
theDesignRules,Restringtab.Thepadappearsinthelibrarywiththedefault
valueof55mil.
Youmay,however,assignanindividualvalue.If,forinstance,youspecify70
mil,theconsequenceisthatthediameterofthepadontheboardcannotbe
lessthan70mil(independentofthecalculatedvalueoftheDesignRules).
You select this value when the PAD command is active (i.e. the pad is
attachedtothemousecursor)usingtheparametertoolbar.Itisalsopossible
tospecifythedrillholediameterandthepadshape.

TheparametertoolbarwhenthePADcommandisactive
Thepropertiesofpadsthathavealreadybeenplacedcanbealteredatalater
stagebymeansoftheCHANGEcommand.ClickontotheCHANGEiconand
selectthepropertyandtheappropriatevalue.Thenclickontothepadswhose
propertiesaretobealtered.CHANGEcanalsobeappliedtogroups(using
theGROUPcommand).Afterthepropertyhasbeenselected,clickinsidethe
groupwiththerightmousebutton.
Assoonasapadhasbeenplaced,EAGLEautomaticallygeneratessolderstop
symbols in layers 29 and 30, t/bStop. The dimensions of the solder stop
symbolsisspecifiedintheDesignRules,Masktab,Stopparameter.
Padscanbemarkedwithspecialflags(First, Stop, Thermals).Theycanbe
alteredwithCHANGEsubsequently.GivingonepadofaPackagethe First
flag(CHANGEFIRSTON)allowstodefineaspecialshapeforitintheDesign
Rules, Shapes tab,optionFirst,inordertomarkitasthenumber'1'padof
thePackage.
216

8.2 Defining a Complex Device


Setting the Thermals flag off prevents generating a Thermal symbol in a
copperarea.
CHANGE STOPOFFprevents automaticsolderstopmaskgenerationfora
pad.

Pad Name
EAGLE automatically assigns pad names, P$1, P$2, P$3 etc., as
placementproceeds.Assignthenamesinaccordancewiththeinformationin
thedatabook.
ThenamescanbecheckedeasilybyclickingtheOptions/Set/Miscmenuand
choosing the Display pad names option. All padnamesare displayed after
refreshingthescreen(F2).
Alternativelytypeinthecommandline:
SET PAD ON
Tohidethepadnamesagain:
SET PAD OFF
Thefollowingprocedureisrecommendedforcomponentsthathavealarge
numberofsequentiallynumberedpads:
SelectthePADcommand,typeinthenameofthefirstpad,e.g.'1',andplace
thepadsinsequence.Thesinglequotemarksmustbetypedonthecommand
line.SeealsothesectiononNamesandAutomaticNamingonpage93.

Draw the Silk Screen Symbol

Asimplesilkscreensymbolthatistobevisibleon

the board is drawn in layer 21, tPlace. Use the commands WIRE, ARC,
CIRCLE,RECT,andPOLYGON.
Ensurethatitdoesnotcoversolderedareas,sincethiscancauseproblems
whentheboardscometobesoldered.Ifnecessary,usetheGRIDcommandto
set a finer grid or use the Alt key for the alternative grid (see GRID
command). The standard width(CHANGE WIDTH)forlines inthescreen
printis8milor4mil,dependingonthesizeofthecomponent.
Itisalsopossibletocreateanadditionalandratherbetterlookingsilkscreen
for documentation purposes in layer 51, tDocu. This may indeed cover
solderedareas,sinceitisnotoutputalongwiththemanufacturingdata.

Package Name and Package Value


Thelabellingnowfollows.UsetheTEXTcommandandwrite
>NAME
inlayer25,tNames,forthenameplaceholder,and
>VALUE

217

8 Component Design Explained through Examples


in layer 27, tValues, as the placeholder for the value, and place thisat a
suitablelocation.Weuseproportionalfontwithatextheightof70milas
default.
IfyouwanttohavetextsupsidedownbyaPackagerotationof180,you
havetousetheSpinflag(seehelpfunctionforTEXTcommand).
ThetextscanberelocatedatalaterstageusingSMASHandMOVE.
Werecommendtowritethesetextsinvectorfont.Soyoucanbesurethat
it looks exactly the same on the printed board asit is in theLayout
Editor.

Areas Forbidden to Components

Inlayer39, tKeepout,youshouldcreatearestrictedareaoverthe

whole component using the RECT command or draw aframe around the
PackagewithWIRE.ThisallowstheDRCtocheckwhethercomponentson
yourboardaretoocloseorevenoverlapping.

Description
ClickonDescriptioninthedescriptionbox.Awindowopensinwhoselower
part it is possible to enter text, while the formatted appearance of the
descriptionisdisplayedintheupperpart(Headline).Thetextcanbeentered
inHTMLformat.EAGLEworkswithasubsetofHTMLtagsthatallowthetext
tobeformatted.Youwillfinddetailedinformationinthehelpsystemunder
HTMLText.
ThedescriptivetextforourDIL14mightlooklikethis:
<b>DIL-14</b>
<p>
14-Pin Dual Inline Plastic Package, Standard Width
300 mil
Itisalsopossibletoadd,forinstance,thereferencedatabook,
theemailaddressofthesourceorotherinformationhere.Thesearchfacility
intheLayoutEditor'sADDdialogalsolooksinthistextforkeywords.

218

8.2 Defining a Complex Device

PackageEditorwithDIL14

Save
Atthisstageifnotbeforethelibraryshouldbesavedunderitsownname
(e.g.my_lib.lbr).

Defining the SMD Package


Thesecondtypeofhousingforthiscomponentmaybeseeninthefollowing
scaledrawing.

219

8 Component Design Explained through Examples

SMDpackage,FKversion
Thesizeofthesolderingareasistobe0.8mmx2.0mm.TheSMD1,at0.8
mmx3.4mm,islarger.
Click again onto the Edit apackage icon, andenter thenameofthe
PackageintheNewboxintheeditmenu.ThePackageistobecalledLCC20.
ClickOKandconfirmthequestionCreatenewpackage'LCC20'?byanswering
Yes.

Set the Grid


Adjust the grid to 0.635 mm (0.025 inch), and letthegrid lines be
visible.Itisusefultodefineanalternativegridof0.05mmfordesigningthis
Package.

220

8.2 Defining a Complex Device


Placing SMD Solder Pads
SMDdevicesaregenerallydefinedonthetopoftheboard;SMDsare
thereforealwaysinlayer1,Top.
Ifyoudowanttohavecomponentsonthesolderside,theitemisifneeded
reflectedontheboardwiththeMIRRORcommand.Seealsothesectionon
page250.
Beginbyplacing5SMDsatadistanceof1,27mmfromeachotherintwo
horizontalrowsclosetothecoordinateorigin.Sincethevalue0.8x2.0isnot
containedintheSMDmenu,thismustbeenteredas0.82.0,eitheronthe
commandlineorintheSMDboxontheparametertoolbar.
ClickthereforeontotheSMDicon,andtype
0.8 2
inthe command line. Createtwo vertical rowsaswell. TheSMDscanbe
rotatedin90degreeincrementswiththerightmousebutton.

PlacingtheSMDs
The Roundness parameter (CHANGE command) specifies whether curves
shouldbegiventothecornersofthesolderpads.Thedefaultvalueis0%,
whichmeansthatthereisnorounding.
Seealsothesectiononpage134.
IfasquareSMDisselected,andifRoundnessisdefinedas100%,theresultis
a roundSMD,asisneededwhencreatingballgridarrayhousings(BGA).
Roundness isusuallychosentobe0%whenaPackageisbeingdefined.A
221

8 Component Design Explained through Examples


generalvaluecanbespecifiedintheDesignRulesifslightlyroundedsolder
padsarepreferred.
Drag the 4 SMD rows into the correct position. Therefore use the finer
alternativegridof0.05mmbypressingtheAltkey.ThecommandsGROUP
andMOVE,followedbyarightmouseclickonthemarkedgroupwhilethe
Ctrl keyispressedcanbeusedtodragthemarkedgroupintothecorrect
position.ThesizeofthecentralSMDsintheupperrowcanbealteredwith
theCHANGESMDcommand.Sincethevalue0.8x3.4isnotcontainedinthe
menuasstandard,type
change smd 0.8 3.4
ontothecommandline,thenclicktheSMD.DragitwithMOVEsothatitis
locatedatthecorrectposition.
TheINFOcommandisfirstchoiceforcheckingthepositionsandpropertiesof
thesolderpadsandmodifyingthem,ifneeded.
WhenaSMDisplaced(intheToplayer),symbolsforsolderstopandsolder
cream are automatically created in layer 29, tStop, and layer 31, tCream,
respectively.
Ifthecomponentinthelayoutismirroredontothebottomside,theseare
changed tothelayers with thecorresponding functions,namely30, bStop
and32,bCream.
SMDscanhavespecialflags(Stop, Cream, Thermals)thatcanbemodified
withtheCHANGEcommand.
Settingthe Thermals flagoffavoidsaThermalsymbolfortheSMDcopper
areas.
CHANGE STOP OFF or CHANGE CREAM OFF prevents EAGLE from
generatingasolderstopmaskoracreamframefortheSMDautomatically.
SeealsohelpfunctionaboutCHANGEandSMD.
Ifyou havetodesign alarger area, for exampleacooling plate,that
exceedsthelimitsoftheSMDcommand,youcandrawaPOLYGONthat
coversmoreorlesstheSMD.Pleasekeepinmind,thatyouhavetoadjust
the masks for solder stop and cream frame in the layer tStop and
tCream,too.TheDRCwillreportanoverlaperroratthisposition,which
youcanapprove.

SMD Names
IfnonamesarevisibleintheSMDpads,clicktheOptions/Set/Miscmenuand
activatetheDisplaypadnamesoption.
Alternativelyyoucantypethefollowingontothecommandline:
set pad_names on

222

8.2 Defining a Complex Device


UsetheNAMEcommandtoadjustthenamestomatchthespecifications
ofthedatasheet.
ItisalternativelypossibletoassignnamesastheSMDsarebeingplaced,if
thecomponenthasalargenumberofpadswithsequentialnumbers.Select
theSMDcommand,typeinthenameofthefirstSMD,e.g.'1',andplacethe
padsinthecorrectsequence.Thesinglequotemarksmustbeenteredonthe
commandline.
SeealsothesectiononNamesandAutomaticNamingonpage93.
Youcanalsocombineseveralstatementsonthecommandline,forexample:
smd 0.8 2 '1'
ASMDof0.8mmx2.0mmnamed1isnowattachedtothemousecursor.

Draw the Silk Screen


Firstsetthegrid

toasuitablevaluesuchas0.254mm(10mil).

Drawthesilkscreenprintinlayer21,tPlace.

Notethatthesilkscreenprintmustnotcoversolderedareas,asthiswill
causeproblemswhentheboardcomestobesoldered.
The default value for the line width is 8 mil (0.2032 mm), for smaller
components4mil(0.1016mm).
It is also possible to create an additional, more detailed, silk screen for
documentationpurposesinlayer51, tdocu.Thismayindeedcoversoldered
areas,sinceitisnotoutputalongwiththemanufacturingdata.

Package Name and Package Value


Thelabelingnowfollows.UsetheTEXTcommandandwrite
>NAME
inlayer25,tNames,forthenameplaceholder,and
>VALUE
in layer 27, tValues, as the placeholder for the value, and place this ata
suitablelocation.Thetextscanbeseparatedandrelocatedatalaterstage
usingSMASHandMOVE.
Werecommendtowritethesetextsinvectorfont.Soyoucanbesurethat
it looks exactly the same on the printed boardas it is in the Layout
Editor.

223

8 Component Design Explained through Examples


Area Forbidden to Components

Inlayer39,tKeepout,youshouldcreateaforbiddenareaoverthe

whole component (RECT command) or draw aframearound thePackage


withtheWIREcommand.ThisallowstheDRCtocheckwhethercomponents
onyourboardaretooclose,orevenoverlapping.

Locating Point (Origin)


Assoonasyouhavefinisheddrawingthepackage,pleasecheckwherethe
coordinateoriginislocated.Itshouldbesomewherenearthemiddleofthe
Package.Ifnecessary,useGRIDtochooseasuitablegrid(e.g.0.635mm),
andshiftthewholePackagewithGROUPandMOVE.
Firstmakesurethatallthelayersaremadevisible(DISPLAYALL).Thatis
theonlywaytobesurethatalltheobjectshaveindeedbeenmoved.

Description
Thenclickon Description inthedescriptionbox.Youcaninsertadetailed
descriptionofthisPackageformhere.HTMLTextcanbeused.Thisformatis
describedintheprogram'shelpsystemunderHTMLText.
TheentryoftheLCC20inHTMLtextformatcouldlooklikethis:
<b>LCC-20</b>
<p>
FK ceramic chip carrier package from Texas
Instruments.
TheADDdialogintheLayoutEditorcansearchforthisdescriptionorfor
keywordswithinit.

Save
Pleasedonotforgettosavethelibraryfromtimetotime!

224

8.2 Defining a Complex Device

ThefullydefinedLCC20

Supposed you found a Package that is exactly the one you need in
another library file, simply copy it into your current library. More
informationaboutthisonpage256.

Defining the Logic Symbol for the Schematic


Diagram
OurDevicecontainsfourORgates,eachhavingtwoinputsandoneoutput.
WefirstcreateanORsymbol.

225

8 Component Design Explained through Examples

Logicalappearanceofthe541032
ClickontotheEditasymbol icon.EnteranamefortheSymbolonthe
New line, such as 2input_positive_or, and click OK. Confirm the question
Createnewsymbol'2input_positive_or'?byansweringYes.Younowhavethe
SymbolEditorwindowinfrontofyou.

Check the Grid


Checkthatthegridissettothedefaultvalueof0.1inch.Pleasetryto
useonlythisgrid,atleastwhenplacingthepins.
It is essential that pins and net lines are located on the same grid.
Otherwisetherewillnotbeanyelectricalconnectionbetweenthenetand
thepin!

Place the Pins


SelectthePINcommand,andplace3pins.Thepinpropertiescanbe
changedbymeansoftheparametertoolbaraslongasthepinisattachedto
themousecursorandhasnotbeenplaced.Ifapinhasalreadybeenplaced,
itspropertiescanbealteredatalaterstagewiththeCHANGEcommand.A
number of pins can be handled at the same time with the GROUP and
CHANGE commands followed by a click into the drawing with the right
mouse button while the Ctrl key is pressed. The parameters Orientation,
Function, Length, Visible, Direction and Swaplevel have been thoroughly
described when the example of the resistor symbolwasexamined (seep.
205).
ThecoordinateoriginshouldbesomewherenearthecenteroftheSymbol,
and,ifpossible,notdirectlyunderapinconnectionpoint.Thismakesiteasy
toselectobjectsintheschematicdiagram.

226

8.2 Defining a Complex Device


Pin Name
YouassignpinnameswiththeNAMEcommand.InourSymbolthetwo
inputpinsarenamedAandB,andtheoutputpinisnamedY.
Pinscarrying invertedsignals(activelow)canbedisplayedwithabarover
thenametext.Anexclamationmarkstartsandendsthebar.Examplescanbe
foundinthehelpfunctionoftheTEXTcommand.

Draw the Symbol


UsetheWIREcommandtodrawtheSymbolinlayer94,Symbols.The
standardlinethicknessfortheSymbolEditoris10mil.Youmayalsochoose
anyotherlinethickness.

Placeholders for NAME and VALUE


Forthecomponentlabeling,usetheTEXTcommandintheschematic
diagramtowrite
>NAME
inlayer95,Namesand
>VALUE
inlayer96,Values.Placethetwotextsatasuitablelocation.Itispossibleto
movethetextsagainintheschematicdiagramafterusingSMASHtoseparate
it. The Symbol should now have the appearance shown in the following
diagram.

Save
Thisisagoodmomenttosavetheworkthatyouhavedonesofar.
Supposed you found a Symbol that is exactly the one you need use
GROUP,CUT,andPASTEtocopy itintothecurrentlibrary.Seealso
page258.

227

8 Component Design Explained through Examples

TheSymbolEditor:Logicsymbol(Americanrepresentation)

Defining a Power Supply Symbol


Twopinsareneeded forthesupply voltage.Thesearekeptinaseparate
Symbol,sincetheywillnotinitiallybevisibleintheschematicdiagram.
ClickontotheEditasymbol icon.EnteranamefortheSymbolonthe
new line,suchas VCCGND,andclick OK.Confirmthequestion Createnew
symbol'VCCGND'?withYes.

Check the Grid


Firstcheckthatthegridissettothedefaultvalueof0.1inch.Onlyever
usethisgridwhenplacingpins!

Place the Pins


FetchandplacetwopinswiththePINcommand.Thecoordinateorigin
shouldbesomewherenearthecenteroftheSymbol.
BothpinsaregivenPWRastheirdirection.Todothis,clickwiththemouse
onCHANGE,selecttheDirectionoption,andchoosePWR.Nowclickontothe
twopinstoassignthisproperty.

228

8.2 Defining a Complex Device


Thegreenpinlabelisupdated,andnowshowsPwr0.Itisonlyvisiblewhen
layer93,Pins,isactive!

Pin Name
You use the NAME command to give thetwo pinsthenamesofthe
signalsthattheyaretocarry.Inthiscase,theseareGNDandVCC.
Forreasonsofappearance,thepinpropertyVisibleissettoPadintheSymbol
shownbelow,andthepinlabelhasbeenplacedonlayer95, Names,using
TEXT.

Placeholders for NAME and VALUE


Forthecomponentlabeling,usetheTEXTcommandintheschematic
diagramtowrite
>NAME

TheSymbolEditor:Supplysymbol
inlayer95, Names.Placethetextatasuitablelocation.Noplaceholderis
necessaryforvaluehere.

Associating the Packages and Symbols to Form a


Device Set
Wenowcometothefinalstep,thedefinitionoftheDeviceset.ADeviceset
isanassociationofSymbolsandPackagevariantstoformrealcomponents
229

8 Component Design Explained through Examples


ADevicesetconsistsofseveralDevices,whichusethesameSymbolsforthe
schematicbutdifferenttechnologiesorPackagevariants.
DefiningaDevicesetoraDeviceconsistsessentiallyofthefollowingsteps:
SelectSymbol(s),namethemandspecifyproperties
AssignPackage(s)orspecifyvariants
SpecifytheassignmentofpinstopadsusingtheCONNECTcommand
Definetechnologies(ifdesired/necessary)
Stateprefixandvalue
DescribetheDevice
ClickontotheEditadevice icon.EnterthenamefortheDeviceonthe
Newline.
Inourexamplethisisa541032A.ThisDeviceistobeusedintwodifferent
technologies,asthe54AS1032Aandasthe54ALS1032A.The*isusedasa
placeholder at a suitable location in the Device name to represent the
differenttechnologies.Enter,therefore,thename54*1032A,andconfirmthe
questionCreatenewdevice'54*1032A'?withYes.
TheDeviceEditorwindowopens.
Aquestionmark?aspartoftheDevicenameisusedasaplaceholderfor
thePackageVariantname.Ifyoudon'tusea?,EAGLEaddsthePackage
VariantnameattheendoftheDevicenameautomatically.

Select Symbols
FirstuseADDtofetchtheSymbolsthatbelongtothisDevice.Awindow
opensinwhichalltheSymbolsavailableinthecurrentlibraryaredisplayed.
Doubleclickontothe2input_positive_orsymbolandplaceitfourtimes.
ClickagainontheADDicon,andselectthe'VCCGND'Symbolfromthelist.
Placethistooontothedrawingarea.

Naming the Gates


A Symbol that is used in a Device is known as a Gate. They are
automatically given generated names (G$1, G$2 etc.). This name is not
usuallyshownontheschematicdiagram.
ItisneverthelesshelpfultoassignindividualGatenameswhencomponents
arecomposedofanumberofGates.TodistinguishtheindividualORgates,
youusetheNAMEcommandtoaltertheGatenames.AssignthenamesA,B,
CandD,andnamethepowersupplygateP.

230

8.2 Defining a Complex Device


Specify Addlevel and Swaplevel
The Addlevel can be used to specify how the gates are placed in the
schematicdiagrambytheADDcommand.YoucanseethecurrentAddlevel
foreachGatewrittenaboveleftinlayer93,Pins.
AssigntheAddlevelNextforGatesAtoD,andtheAddlevelRequestto
thepowersupplygate.DothisbyclickingontotheCHANGEicon,selecting
theAddlevelentry,andthenselectingthedesiredvalueforagate.Thenclick
ontheGateyouwanttochange.
ThismeansthatassoonasthefirstORgatehasbeenplacedontheschematic
diagram,thenextoneisattachedtothemousecursor.All4gatescanbe
placedoneafteranother.Thepowergatedoesnotautomaticallyappear.You
can,however,fetchitintotheschematicdiagramifnecessary,bymakinguse
oftheINVOKEcommand.
TheparameterADDLEVELisdescribedinfulldetailinthesectionentitled
MoreAbouttheAddlevelParameteronpage244.
TheSwapleveldetermineswhetheraDevice'sgatescanbeswappedwithin
theschematicdiagram.Thevaluethatiscurrentlysetis liketheAddlevel
displayedaboveleftinlayer93, Pins,foreachgate.Thedefaultvalueis0,
meaningthatthegatesmay not beexchanged.TheSwaplevelcanhavea
valuefrom0to255.GateswiththesameSwaplevelcanbeexchangedwith
oneanother.
OurDeviceconsistsoffouridenticalGatesthatmaybeswapped.Clickonto
CHANGE,selecttheSwaplevelentry,andenterthevalue1.Clickonthefour
ORgates.Theinformationtextinlayer93,Pins,changescorrespondingly.

Choosing the Package Variants


In the Device Editor window, click the New button at the lower right. A
windowopensthatdisplaysthePackagesdefinedinthislibrary.Selectthe
DIL14packageandgivetheversionnameJ.ClickOK.
Repeatthisprocedure,selecttheLCC20,andgivetheversionnameFK.
InthelistontherightyouwillnowseethechosenPackagevariants,witha
simplerepresentationoftheselectedPackageaboveit.
ClickingonaPackagevariantentrywiththerightmousebuttonwillopena
contextmenu.Thisallowsvariantstobedeleted,renamedornewlycreated,
Technologies to be defined, the CONNECT command to be called, or the
Packageeditortobeopened.
Bothentriesaremarkedbyayellowsymbolwithanexclamationmark.This
meansthattheassignmentofpinsandpadshasnotyetbeen(fully)carried
out.
Supposed you don't find the appropriate Package variant in the current
library you may use Packages from another library. Use the PACKAGE
commandtocopythePackageintothecurrentvariantandtodefineanew
231

8 Component Design Explained through Examples


variant.
Example:
PACKAGE DIL14@d:\eagle\lbr\ref-packages.lbr

ThiscommandcopiesthePackagenamed DIL14 fromrefpackages.lbr into


thecurrentlibrary.SimultaneouslythevariantJisgeneratedfortheDevice.
Seealsopage251.

The Connect Command

Thepinassignmentforthe
packages
This must be the most important step in the library definition. CONNECT
assignseachpintoapad.Thewayinwhichnetsintheschematicdiagram
areconvertedintosignallinesinthelayoutisdefinedhere.Eachnetatapin
createsasignallineatapad.Thepinassignmentforthe541032isspecified
inthedatasheet.Checktheconnectsinthelibrarywithcare.Errorsthatmay
passunnoticedherecanmakethelayoutuseless.
SelecttheJversionfromthePackagelistandclicktheCONNECTbutton.The
connectwindowopens.

232

8.2 Defining a Complex Device

CONNECTdialog
Thelistofpinsisontheleft,andthepadsareinthecenter.Clickontoapin
entry,andselecttheassociatedpad.Bothentriesarenowmarked.Youjoin
themwith theconnectbutton.Thispairnowappearsontheright,inthe
Connection column. Join each pin to its pad in accordance with the data
sheet.FinishthedefinitionbyclickingOK.
PleasenotethatinourexampletheGatesarenamedA,B,C,andDwhile
theyarenamed1,2,3,and4inthedatasheet.
DefinetheconnectionsforthesecondPackageversion,FK,inthesameway.
Selecttheversion,andclicktheConnectbutton.Theusualdialogappearsin
theconnectwindow.Proceedexactlyasdescribedabove.
Pleasenotethatsixpadsarenotconnectedinthisversion.Theyareleftover
inthePadcolumn.FinishtheprocessbyclickingOK.
There is now a green tick to the right of bothPackagevariants, and this
indicates that connection is complete. This isonly true when every pinis
connectedtoapad.
Onepinhastobeconnectedtoexactlyonepad!
Itisnotpossibletoconnectseveralpinswithacommonpad!
A Device may contain more pads than pins, but not the other way
around!
PinswithdirectionNC(notconnected)mustbeconnectedtoapad,as
well!

Defining Technologies
Asnotedabove,the541032istobeusedintwodifferenttechnologies AS
and ALS. By including a * as a placeholder in the Device name we have
alreadytakenthefirststeptowardsthis.Intheschematicdiagramthecode
233

8 Component Design Explained through Examples


forthechosentechnologywillappearinsteadofthe*.Thedatasheetshows
thatbothtechnologiesareavailableinbothPackages.
SelecttheJPackagefromthelistontherightoftheDeviceEditorwindow.
ThenclickontoTechnologiesinthedescriptionbox.Thetechnologieswindow
opens.DefinethetechnologyintheNewline,andconfirmtheentrywithOK.
Whentheentry hasbeencompleted,the AS and ALS entriesareactivated
withatick.

TechnologiesforpackagevariantJ
ClosethewindowbyclickingOKagain.
SelecttheFKversionfromthePackagelist.Clickonto Technologies inthe
descriptionbox again.YouwillnowseethatASandALSareavailableas
selectionsinthetechnologieswindow.Activatebothofthesebyclickinginto
thesmallboxtotheleft,sothatatickisdisplayed.Finishthedefinitionby
clickingOK.
ThetechnologiesavailablefortheselectedPackageversionarenowlistedin
thedescriptionareaoftheDeviceEditor.

Specifying the Prefix


Theprefix of the Device name is defined simply by clickingon the Prefix
button.ICistobeenteredinthisexample.

Value
ThesettingofvaluedetermineswhethertheVALUEcommandcanbeusedto
alterthevalueoftheDeviceintheschematicdiagramandinthelayout.
On:

Youareallowedtochangethevalueintheschematic(forexample
forresistors).Definingthevalueisnecessarytospecifythepart.

Off:

ThevaluewillbegeneratedfromtheDevicenamewhichcan
includetechnologyandPackagevariantname(e.g.74LS00N).

EvenifValueissetOff,itispossibletochangethevalueofacomponentafter
confirmingawarningmessage.
If you change the initial value and decide to use another Technology or
PackagevariantlaterwithCHANGEPACKAGEorCHANGETECHNOLOGY,
theuserdefinedvaluewillremainunchanged.

234

8.2 Defining a Complex Device


Description
ClickontoDescriptioninthedescriptionbox.Youcanenteradescriptionof
theDeviceinthewindowwhichnowopens.Usetypicaltermsthatyoumight
applyforakeywordsearch.ThesearchfacilityoftheADDcommandinthe
schematicdiagramwillalsosearchthroughthistext.
YoucanuseHTMLtext.Thesyntaxisdescribedinthehelpsystemunderthe
keywordHTMLText.
Thedescriptioncanlooklikethis:

DeviceEditor:54*1032A.dev
<b>541032A</b>
<p>
Quadruple 2-Input Positive-OR Buffers/Drivers
from TI.

Save
ThiscompletesdefinitionoftheDeviceset.Ifyouhavenotalreadysavedthe
library,pleasedoitatthisstage!

235

8 Component Design Explained through Examples

8.3 Supply Voltages


Component Power Supply Pins
Thecomponents'supplypinsaretobegiventhedirectionPwrintheSymbol
definition. The pin name determines the name of the supply signal. Pins
whose direction is Pwr and which have the same name are automatically
wiredtogether(evenwhennonetlineisshownexplicitly).Whetherthepins
arevisibleintheschematicdiagram or are fetchedbymeansofahidden
Symbolisalsonotrelevant.

Invisible Supply Pins


We do not want as a rule to draw the supply connections for logic
components or operational amplifiers in the schematic. In such a case a
specific Symbol containing the supply connections is defined. This can be
demonstratedwiththeexampleofa7400TTLcomponent:
You first define a NAND gate with the name 7400, and the following
propertiesintheSymbolEditor:

NANDSymbol7400(EuropeanRepresentation)
ThetwoinputpinsarecalledI0 andI1andaredefinedashavingdirection
In,Swaplevel1,visiblePinandfunctionNone.
Theoutputpiniscalled O andisdefinedwithdirection Out,Swaplevel 0,
visiblePin,andfunctionDot.
Now define the supply gate with the name PWRN, and the following
properties:

236

8.3 Supply Voltages

Powergate
ThetwopinsarecalledGNDandVCC.TheyaredefinedwithdirectionPwr,
Swaplevel0,functionNone,andvisiblePad.
Nowcreatethe7400DeviceintheDeviceEditor:
SpecifythePackagewithPACKAGE(whichmustalreadybepresentinthe
library)andusePREFIXtospecifythenameprefixasIC.
UsetheADDcommandtoplacethe7400Symbolfourtimes,withAddlevel
beingsettoNextandSwaplevelto1.ThenlabeltheGatesasA,B,CandD
withtheNAMEcommand.
TheAddlevelofNextmeansthatastheseGatesareplacedintotheschematic,
they will be used in that sequence, i.e., the sequence inwhich theywere
fetchedintotheDevice.
ThenplacethePWRNSymbolonce,usingAddlevelRequestandSwaplevel0.
NamethisGateP.
AddlevelRequestspecifiestwothings:
Thesupplygatewillonlybefetchedintotheschematicifrequested,
i.e.withtheINVOKEcommand.TheADDcommandwillonlybeable
toplaceNANDgates.
Thesupplygatewillnotbeincludedwhennamesareallocatedtothe
schematic.WhereasanICwithtwoNextGatesappearsinthe
schematicassomethinglikeIC1AandIC1B,anICwithoneNextGate
andoneRequestGatewillonlybeidentifiedasIC1.
So use the CONNECT command to define the housing pads to which the
supplypinsareconnected.

Pins with the Same Names


If you want to define components having several power pinsofthesame
name,let'ssupposethatthreepinsarealltobecalledGND,thenproceedas
follows:
237

8 Component Design Explained through Examples


setpindirectionPwrforeachpowerpin
namethesepinsGND@1,GND@2,andGND@3
Onlythecharactersinfrontofthe"@"arevisibleintheschematic,andthe
pinsaretreatedasiftheywereallcalledGND.Intheboardthereferring
padsareconnectedwithairwiresautomatically.

8.4 Supply Symbols


Supplysymbols,suchasmightbeusedintheschematicforgroundorVCC,
aredefinedasDeviceswithoutaPackage.Theyareneededfortheautomatic
wiringofsupplynets(seepage120).
Thefollowingdiagramshowsa GNDsymbol asitisdefinedinoneofthe
suppliedEAGLElibraries.
Notethatwhendefiningyourownsupplysymbols,thepinandtheDevice
nameneedtoagree.
Thepinisdefinedwithdirection sup andhasthename GND.Thisspecifies
thattheDevicecontainingthisSymbolisresponsiblefortheautomaticwiring
oftheGNDsignal.Thetextvariableforthevalue(>VALUE)ischosenforthe
labeling. The Device also receives the name GND. Thus the label GND
appearsintheschematic,sincebydefaultEAGLEusestheDevicenamefor
thevalue.
It is very important that the labeling reproduces the pin names, since
otherwisetheuserwillnotknowwhichsignalisautomaticallyconnected.
ThepinparameterVisibleisthereforesettooff,sinceotherwisetheplacing,
orientationandsizeofthepinnamewouldnolongerbefreelyselectable.
DirectlylabelingwiththetextGNDwouldalsohavebeenpossiblehere.With
the chosen solution however, the Symbol can be used in various Devices
(suchasforDGNDetc.).

238

8.4 Supply Symbols

SupplysymbolforGND
TheSupplysymbolhasnoPackageassigned!
Ashasbeenexplainedabove,theDevicereceivesthenameofthepinthatis
usedintheSymbol.ThecorrespondingDeviceisdefinedwithAddlevelNext.
IfyousetValueto off youcanbesurethatthelabelingisnotaccidentally
changed.Ontheotherhand,youhavemoreflexibilitywithValuesettoon.
Youcanalterthelabelif,forinstance,youhaveasecondgroundpotential.
Youmust,however,thencreateexplicitnetsforthesecondground.
QuickguidetodefineaSupplySymbol:
CreateanewSymbolinthelibrary
Placethepin,withdirectionSupply
Pinnamecorrespondstothesignalname
SetValueplaceholder
CreateanewDevice
Devicenameissignalname
Packageassignmentnotnecessary
239

8 Component Design Explained through Examples

8.5 Attributes
You are allowed to define, additionally to >name and >value, further
properties,thesocalled attributes.It'spossibletodefineattributesforeach
technologyandPackagevariantintheDeviceeditor.Thischapterwillguide
youthroughtheprocessofdefiningattributeswiththehelpofanexample.
Thereforeopenthelibrary74xxus.lbrandsaveacopyofitwithSaveas...in
anarbitrarydirectory.Wedon'twanttochangetheoriginallibraryforthis.
EdittheDevice74*05.

Define Attributes
Let'sdefinesome attributes forthePackagevariant N,whichisthe DIL14
Package.ThereforeclickontoentryDIL14(VariantN)inthePackageliston
therighthandsideoftheDeviceEditorwindow.NowclicktheATTRIBUTE
command icon

in the menu bar or onto the text Attributes in the

descriptionwindowbelowthe representation of theDevice.Thefollowing


Attributewindowwillappear.

Attributes'dialog
ThisdialoginitiallyshowstheTechnologiesavailableforthePackagevariant
N.ClickingtheNewbuttonopenstheNewAttributewindow.Pleaseenter,for
example,Heightfortheattribute's nameand0.16infortheattribute'svalue.
Thelinebelowdetermineswhetheritisallowedtomodifythevalueofthe
attribute(variable)ornot(constant)inthedrawing.Select constant inour
examplehere.
NowyouhavestilltodefineforwhichTechnologiestheattributeshouldbe
valid:forthecurrentlyselectedoneonly(current)orforall.Selectallhere.
ClicktheOKbuttonandthenewattributeisshowninthelistnow.

240

8.5 Attributes

DefiningtheHeightAttribute
Let's define a second attribute that should have different values for the
Technologies.ClicktheNewbuttonintheAttributes'dialogagain.Enterthe
followingparameters:
Name:DistributorValue:Smith,variableTechnologies:all
Click OK now.Afurthercolumnforthe Distributor attributeisshown.All
technologieshavetheSmithentry.
Attributenamesarewritteninuppercaselettersautomatically!
But in our example the LS technology has to be distributed by Miller
exclusively.ClickintothefieldoftheDistributorattributethatbelongstothe
LStechnology.

TheDistributorfieldforLSisselected
Clickontothe Change buttonnow.Thewindowforchangingtheproperties
oftheattributeopens.Setthefollowingoptions:
Name:DistributorValue:Millerexclusively,constantTechnologies:current
ClicktheOKbutton,andtheexceptionfortheLStechnologyisdefined.This
valuecannotbealteredintheSchematic/Layout.
TheChangedialogallowsthreepossibilitiesintheTechnologiesfield:current,
same,all.Thismeansthatthecurrentlychangedpropertieswillbevalidfor
the currently selected (current), for all the technologies with the same
241

8 Component Design Explained through Examples


attribute value as the currently selected (all with same value) , or for all
technologies.
Finallylet'sdefineafurtherattributeforremarks.Thisattributewillhaveno
initialvalueandwillbevariable.SowecanuseitintheSchematicorinthe
Layout,ifnecessary.
Thereforeclickagainthe New buttonintheAttributesdialogandmakethe
followingsettings:
Name:RemarksValue:,variableTechnologies:all
ClickOK.Theattributeswindowlookslikethisnow:

AlltheAttributesfor74*05,VariantN

Attributeswithafixedvaluearecoloredgrayinthetable.
ThedefinitionofattributesforthePackagevariant N isfinishednow.Click
OKtoclosetheAttributeswindownow.Theattributesareshowninaddition
toTechnologiesintheDeviceEditorwindow.
If you like to define attributes, for example, for the Package variant D
(SO14),clickontotheentryinthePackagelistoftheDeviceEditorwindow
andproceedasdescribedaboveforvariantN.
It'salsopossibletodefineattributesviathecommandlineorwiththehelpof
aScriptfile.PleasetakealookintothehelpfunctionabouttheATTRIBUTE
commandfordetails.

Display Attributes
IfyouwouldusetheDevice74*05withoutfurtherchangesintheSchematic
orLayout Editor, it would bringalong its attributesandtheirvalues. The
attributes are not visible in the drawing and can be check with the
ATTRIBUTEScommand.
InformationabouthowtodisplayattributesinSchematicorLayoutcanbe
foundonpage123inthismanual.
242

8.5 Attributes
Placeholders in Symbol and Package
Alreadyinthelibraryyoumaydefinewhetheranattributewillbedisplayed
together with the Device in the Schematic or the Package in the Layout.
Simply write a placeholder text in the Symbolor Package with the TEXT
command.Suchaplaceholdertextbeginswiththe>character,asitiswith
>nameand>value.Forourexampleattributeswedefinedabove,youhave
towrite:
>Distributor
>Height
>Remarks
Place this text at asuitable location inthe SymbolorPackageEditorand
selectaproperlayerforeachtext.Itdoesn'tmatterifyouwriteitwithupper
orlowercaseletters.
Assoonasyouaddapartwithpredefinedattributeplaceholdertextsandset
avalueforanattributeinSchematicandBoardrespectively,theattribute's
valuewillbedisplayedattheplaceholdertext'slocation.
These texts can be separated from the Device/Package with the SMASH
command.Fromthenonthe Display propertyofthe Attribute dialogtakes
effect.ThepossibleoptionsareOff,Value,Name,orBoth.
Seepage123fordetailsaboutdisplayoptionsofattributes.

8.6 Labeling of Schematic Symbols


The two text variables >NAME and >VALUE are available for labeling
Packages and schematic Symbols. Their use has already been illustrated.
Therearetwofurthermethodsthatcanbeusedintheschematic: >PART
and>GATE.
The following diagram illustrates their use, in contrast to >NAME. The
Symboldefinitionontheleft,theappearanceintheschematicdiagramon
theright.
Inthefirstcaseallthesymbolsarelabeledwith>NAME.Inthesecondcase,
thesymbolofthefirstgateislabeledwith>PARTand>GATE,theother
threewith>GATEonly.

243

8 Component Design Explained through Examples

Labelingofaschematicsymbol

8.7 More about the Addlevel Parameter


TheAddleveloftheGatesthathavebeenfetcheddeterminesthemannerin
whichtheseGatesarefetchedintotheschematic,andunderwhatconditions
itcanbedeletedfromtheschematic.

Summary
Next:ForallGatesthatshouldbefetchedinsequence(e.g.theNANDGates
ofa7400).ThisisalsoagoodoptionforDeviceswithasingleGate.TheADD
commandfirsttakesunusedNextGatesfromcomponentswhichexistonthe
currentsheetbefore"opening"anewcomponent.
Must: For Gates which must be present if some other Gate from the
componentispresent.Typicalexample:thecoilofarelay.MustGatescannot
bedeletedbeforealltheotherGatesfromthatcomponenthavebeendeleted.
Can:ForGateswhichareonlyusedasrequired.Inarelaythecontactsmay
bedefinedwithAddlevel Can.Insuchacasetheindividualcontactscanbe
specificallyfetchedwithINVOKE,andcanlaterbedeletedwithDELETE.
Always: ForGateswhichasageneralrulewillbeusedintheschematicas
soonasthecomponentisusedatall.Example:contactsfromamulticontact
relay, of which a few are occasionally left unused. These contacts can be
removed with DELETE, provided that they were defined with Addlevel
Always.
Request:Forsupplygatesofcomponents.
The difference from Can is: A Device with exactly one NextGate and a
RequestGatewillbenamed,forexampleIC1.TheGatenamedoesnotappear
244

8.7 More about the Addlevel Parameter


inthenameofthepartintheschematic.TheRequestGate'sname,however
willconsistofPrefix+Number+Gatename,forexample,IC1P.

Relay: Coil and First Contact must be Placed


Arelaywiththreecontactsistobedesigned,ofwhichtypicallyonlythefirst
contactwillbeused.
DefinethecoilandonecontactastheirownSymbols.IntheDevice,givethe
coilandthefirstcontacttheAddlevelMust.Alltheothercontactsaregiven
theAddlevelCan.
IftherelayisfetchedintotheschematicwiththeADDcommand,thecoiland
thefirstcontactareplaced.Ifanothercontactistobeplaced,thiscanbe
donewiththeINVOKEcommand.Thecoilcannotbedeletedonitsown.It
disappears when allthecontactshavebeendeleted(beginning withthose
definedwithAddlevelCan).

Relaywithonecoilandthreecontacts

Connector: Some Connection Pins can be Omitted


APCBconnectoristobedesignedinwhichnormallyallthecontactareasare
present.Insomecasesitmaybedesirableforsomeofthecontactareastobe
omitted.
DefineaPackagewith10SMDsascontactareas,givingtheSMDsthenames
1to10.

245

8 Component Design Explained through Examples

Packageofacircuitboardconnector
Nowdefineasymbolrepresentingonecontactarea.SetvisibletoPad,sothat
thenames1to10,definedinthePackage,appearintheschematic.

ConnectorsymbolfortheSchematic
Then fetch the Symbol ten times into a newly created Device, settingthe
AddlevelineachcasetoAlways,andusetheCONNECTcommandtocreate
theconnectionsbetweentheSMDsandthepins.Whenyounowfetchthis
Deviceintoaschematic,alltheconnectionsappearassoonasitisplaced.
IndividualconnectionscanberemovedwithDELETE.

AfterADD,alltheconnectionsarevisibleintheschematic

Connector with Fixing Hole and Restricted Area


Aconnectoristobedefinedhavingfixingholes.Onthesolderside(bottom),
theAutoroutermustavoidbringingtracksclosertotheholesthanacertain
distance.

246

8.7 More about the Addlevel Parameter

Fixingholeswithrestrictedareas
Thedrillholesareplaced,withthedesired diameter,onthePackageusing
the HOLE command. The drilling diameter canberetrospectively changed
withCHANGEDRILL.
TheforbiddenareafortheAutorouter/Followmerouterisdefinedinlayer
42, bRestrict, using the CIRCLE command. Forreasons of representational
claritythecircleisshownherewithanonzerowidth.Circleswhosewidthis
0arefilled.InthiscaseithasnoeffectontheAutorouter,sinceitmaynot
routewithinthecircleineithercase.Theseforbiddenareasarealsotaken
intoaccountbyapolygoninlayer16,Bottom.

8.8 Defining Components with Contact


Cross-References
Ifyouhavetodesigna componentthatconsistsofacoilgateandseveral
contactgatesforanElectricalSchematic,forexampleanelectromechanical
relay,youcandefinethe contactsymbolswithaplaceholdertextthatwill
generate crossreferences for components. The contact overview in the
Schematicwillshowthecrossreferencesthen.
ForaproperdisplayofthecontactcrossreferencesintheSchematic,please
sticktothefollowingrulesforSymbol,Device,andPackagedefinition.

Define Symbol
FordefininganelectromechanicalrelayyouhavetouseoneSymbolforthe
coilandoneormoreSymbolsforthecontacts.
Pleasenotethefollowingrulesforthecontactsymbols:
Thecenterofthecontactsymbolshouldbelocatedatposition(00)
247

8 Component Design Explained through Examples


Arrangethepinsinverticaldirection,i.e.theyarepointingupor
down
Inordertogetautomaticallygeneratedcrossreferences,usetheTEXT
commandtodefinetheplaceholdertext>XREFandplaceit.Thetext
shouldbewritteninlayer95,Names,like>NAMEand>VALUE.
Therearenospecialrulesforthecoilsymbol.Theplaceholdertext>XREFis
notneededhere.

Define Device
OurelectromechanicalrelayconsistsofmultipleGates:oneGateforthecoil
andseveralGatesforthecontacts.TheplacementoftheGatesintheDevice
Editor has to follow some rules. Otherwise the presentation of the cross
referencesintheSchematicwouldnotbeoptimal.
Theoriginofthefirstcontactgateshouldbelocatedatthe
xcoordinate0.ThelowerpinoftheGateshouldbelocated
completelyinthepositivecoordinatesrange.Theycoordinateis
typically0.1inch.
Eachfurthercontactgateisplacedtotherightofthefirstoneatthe
sameycoordinate(thesameheight).
ThedistancebetweenthecontactgatesintheDeviceEditorfinally
determinesthedistanceofthecontactsinthegraphicalrepresentation
ofthecontactcrossreferencesintheSchematic.Thecontactgateswill
berotatedby90andalignedverticallyonebyonethere.
ThecoilgatemaybeplacedanywhereintheDevicedrawing.The
AddlevelforthisGatemustbeMust.
TherepresentationofthecontactcrossreferencesshowsallGatesthatcome
withthe >XREF text.Thecrossreferencesconsistingofsheetnumbersand
column/row coordinates will be shown on the right of the Gates, if you
placed a drawing frame defined with the FRAME command on the
Schematic'ssheets.
AllothertextsdefinedintheSymbolarenotvisibleinthecrossreference
representation.

Define Package
DuetoEAGLE'slibrarystructureandinordertoavoiderrormessagesyou
havetodefineaPackage,aswell.ThiscanbeasimpledummyPackagethat
simplyhasthesamenumberofPadsasnumberofPinsintheDevice.
SelectthePackagewiththeNewbuttonintheDeviceEditorandassignPins
withPadswiththeCONNECTcommand.
Furtherinformationaboutthesubject ElectricalSchematics canbefoundon
CadSoft'swebsite.

248

8.9 Drawing Frames

8.9 Drawing Frames


It may be true that drawing frames are notcomponents,buttheycanbe
defined for schematics as Devices with neither Packages nor pins. Such
Devices inEAGLE's frames librarycontainaSymbolconsistingmerely ofa
frame of the appropriate size, and a documentation field, which is also
definedasaSymbol.
AdrawingframeisdefinedwiththeFRAMEcommand.Thiscommandcanbe
foundintheDraw/Framemenu.
Theparametertoolbarofferssettingsforthenumberofcolumnsandrows
whereyoucandefinehowyourdrawingshouldbefielded.Apositivevalue
forcolumnslabelstheframefromthelefttotheright,beginningwith1,for
rows from top to bottom, beginning with A. Negative values inverse the
direction of the labelling. The following four icons determine on which
positionthelabellingoftheframeshallbevisible.

ParametertoolbaroftheFRAMEcommand
Thepositionofthedrawingframeisfixedbytwomouseclicksorbytyping
thecoordinatesofitscornersinthecommandline.
ColumnsandRowscanbeusedtodetermineaDevice'soranet'sposition,for
example with the help of an ULP, or to have crossreferences calculated
automatically(seeLABELcommand).
Istheframealreadydefinedbutyouwanttochangeitsproperties?
ThenusetheCHANGEcommandwithitsoptionsBorder,RowsandColumns
todeterminetheframe'spositionofthelabellinganditsnumberofrowsor
columns.
Duetothespecialnatureoftheframeobject,itdoesn'thavearotationof
itsown!
TheFRAMEcommandisalsoavailableinSchematicorBoard.Butitis
commonpracticetodefineadrawingframeintheLibrary.
The library frames.lbr also contains documentation fields you can use
togetherwithaframe.Ofcourseyouareallowedtodrawyourown.
Thetext variables >DRAWING_NAME, >LAST_DATE_TIME and >SHEETare
contained,aswellassomefixedtext.Thedrawing'sfilename,dateandtime
ofthelastchangeappearatthesepointstogetherwiththesheetnumberin
theschematic(e.g.,2/3=sheet2of3).

249

8 Component Design Explained through Examples


Inaddition,thefollowingvariablesareavailable:
>PLOT_DATE_TIMEcontainsthedateandtimeofthelastprintout,
>SHEETSshowsthetotalnumberofsheetsintheschematic,
>SHEETNRshowsthecurrentsheetnumber.
All of these text variables can be placed on the schematic, and (with the
exceptionof>SHEET/S/NR)ontheboard.

Textvariablesinthedocumentationfield
The frame is defined in the Device with Addlevel Next, and the
documentationfieldwithAddlevelMust.Thismeansthatthedocumentation
fieldcannotbedeletedaslongastheframeispresent.
ThereareframesdefinedasPackagesavailablefortheLayoutEditorwhich
can be placed even if there is a consistent schematic/layout pair. These
framesdon'thaveanyelectricalsignificancebecausetheyaredefinedwithout
padsorSMDs.
The variable >CONTACT_XREF has a special meaning for Electrical
Schematics.Thepositionofthistext,whichisnotdisplayedintheSchematic,
determines the reserved area for the representation of the contact cross
references.Moredetailsaboutthiscanbefoundinthehelpfunctioninthe
sectionContactcrossreferences.

8.10 Components on the Solder Side


SMDcomponents(andleadedonestoo)canbeplacedonthetoporbottom
layersofaboard.ForthisreasonEAGLEmakesasetofpredefinedlayers
available which are related to the top side (Top, tPlace, tOrigins, tNames,
tValues etc.)andanothersetoflayersrelatedtothebottomside(Bottom,
bPlaceetc.).
SMDcomponentsarealwaysdefinedinthelayersassociatedwiththetop.
Intheboard,acomponentofthissortismovedtotheoppositesidewiththe
MIRRORcommand

.Thereforeclickontothecomponentwiththemouse

orenterthecomponent'snameinthecommandline.Thiscausesobjectsin
theToplayertobereflectedintotheBottomlayer,whilealltheobjectsinthe
t..layersarereflectedintothecorrespondingb..layers.

250

8.10 Components on the Solder Side


If one of the commands ADD, COPY, MOVE, or PASTE is active the
componentcanbemirroredbyclickingthemiddlemousebutton.

8.11 Components with Oblong Holes


Iftheboardmanufacturerhavetomilloblongholes,youhavetodrawthe
millingcontourofoblongholesinaseparatelayer.Usuallythisislayer46,
Milling.
Themillingcontourforcomponentsthatneedoblongholescanbedrawn
withWIRE(andpossiblyARC)withaveryfinewirewidthnearoreven0in
thePackageEditor.Takeapadthathasadrilldiameterwhichliesinsidethe
millingcontour,orSMDs,forexampleinTopandBottomlayer,asbasisfor
theoblonghole.
In case of a multilayer board you should drawa WIREin theused inner
layersatthepositionoftheoblongholessothatitcoversthemillingcontour
andleavesakindofrestringaroundtheopening.
Pleaseinformyourboardmanufacturerthattheyhavetotakecareonthe
milling data drawn in this layer. Also tell them whether they should be
platedthroughornot.
Anyothercutoutsintheboardaredrawninthesameway:
Useaseparatelayer,typicallylayer46,Milling,anddrawthemilling
contours.Tellyourboardmanufacturerthattheyhavetotakecarewith
thisinformationandmakespecialnote.

8.12 Creating New Package Variants


MostcomponentsaremanufacturedinvariousPackagevariants.Supposed
youdonotfindtheappropriatePackageforacertainDeviceinoneofthe
libraries,itisveryeasytodefineanewPackage.
To describe this procedure clearly we want to come back again to our
exampleDevice541032Afromparagraph8.2.
ThethirdPackagevarianttobedesignedhereonlyservesasanexample
forpracticeanddoesnotmeetthespecificationsofthemanufacturer!
Please notify the explanations concerning this topic, in particular if the
appropriatePackagealreadyexistsinthecurrentlibrarybeginningwithpage
231.

Package from Another Library


InthemostfavourablecaseyoucanuseanalreadyexistingPackagefrom
anotherlibrary.TheeasiestwaytodefinethenewPackagevariantistouse
thePACKAGEcommanddirectlyintheDeviceEditor.
251

8 Component Design Explained through Examples


Aftersearchingalllibraries,eitherintheLibrariesbranchofthetreeviewin
the Control Panel or with the help of the search function of the ADD
commandintheLayoutEditor (onlythere, notintheSchematic,onecan
search for Packages), it is possible to Drag&Drop the Package from the
ControlPaneldirectlyintothelibrary.Asanalternativeyoucouldusethe
PACKAGEcommand.
Open the library (here: my_lib.lbr from paragraph 8.2) that contains the
DeviceyouwanttodefinethenewPackagevariantfor.Forexample,bythe
menuFile/Open/LibraryoftheControlPanel.
ClicktheEditaDeviceiconandselecttheDevice54*1032Afromthemenu.
TheDeviceEditoropens.

Defining the Package Variant


ThenewvariantshouldbenamedTest.ThePackagemusthaveaminimum
of14padsbecausebothGatestogetherhave14pins.Asanexample,wetake
theSO14Packagefromthesmdipc.lbrlibrary.
IfControlPanelandLibraryEditorwindowarearrangedsidebyside,select
theSO14PackageandDrag&DropitintotheopenedLibraryEditorwindow.
After releasing the mouse button you will be asked for the new Package
variantname.EnteritandconfirmitbyclickingOK.Thenewvariantisnow
showninthePackagelist.
ItisalsopossibletodefinethePackagevariantintheDeviceEditordirectly
withthePACKAGEcommand.
Typeinthecommandline:
PACKAGE SO14@smd-ipc.lbr TEST
Orincludethepath(ifnecessary):
PAC SO14@d:\eagle\lbr\smd-ipc.lbr TEST
If the path contains spaces include the path name in single quotes, for
example:
PAC 'SO14@\With Spaces\smd-ipc.lbr' TEST
Now onthelower rightoftheDevice Editorwindowanew entry forthe
PackageSO14andthevariantnameTESTappears.
On the left a black exclamation mark on yellow ground is shown which
indicatesthattherearenoconnectionsbetweenpinsandpadsdefinedyet.

252

8.12 Creating New Package Variants

DeviceEditor:ListofPackageVariants

ThePACKAGEcommandcopiesthecompletePackagedefinitionintothe
currentlibraryandmakesavailablethenewvariantwiththegivenname
fortheDevice.
Ifyoudecidetoeraseanewlydefinedvariant,youcandothiswiththe
UNDOfunction(asfaraspossible)orbyusingthecontextmenuofthe
Packageentry(rightmouseclick,Deleteentry).

Connect Command
ClicktheConnectbuttonnow.TheConnectwindowopens.Connectpinswith
padsbyclickingonthepinandpadentriesbelongingtogetherasdescribedin
paragraph8.2.
Itisalsopossibletoadaptthepin/padconnectionsfromanalreadyexisting
Package variant. In our example the assignment does not differ from the
DIL14Package.ThereforeselecttheentryDIL14fromtheCopyfrom:combo
box.
AfterclickingOKtheCONNECTcommandisfinished.

Defining Technologies
TheDevice 54*1032A isavailableintwotechnologies(ALSandAS).These
stillhavetobesetupforthenewPackagevariant.
SelectthePackagevariantTestfromthelistonthelowerrightoftheDevice
Editor window. A click onto Technologies in the description field opens a
window.Clickthe New buttonandsetuptechnologyALSwithafollowing
clickontoOK,andASagainwithafollowingclickontoOK.Bothentriesare
253

8 Component Design Explained through Examples


shownwithatagnow.AfurtherclickontotheOKbuttonclosesthewindow
again.

Save
ThedefinitionofthePackagevariantisfinished.Nowitistimetosavethe
library.

Using a Modified Package from Another Library


IfthereisnoappropriatebutasimilarPackageavailableinanotherlibrary
youshouldcopythePackageinthecurrentlibraryfirst,thenmodifyit,and
useitafterwardsasnewvariantfortheDevice.

Copying the Package


WewanttouseaPackagenamed SOP14 fromthe smdipc.lbr libraryhere.
ThisPackageshouldgetanewname,MYSOP14,inthelibrarymy_lib.lbr.
Using the COPY command
TypeinthecommandlineoftheLibraryEditorwindow(itdoesnotmatter
whicheditormodeisactive)thefollowing:
COPY SOP14@smd-ipc.lbr MYSOP14
Orwiththewholepath:
COPY SOP14@d:\eagle\lbr\smd-ipc.lbr MYSOP14
Ifthepathcontainsspacesusesinglequotesforit,forexample:
COPY 'SOP14@\P A T H \smd-ipc.lbr' MYSOP14
The Package Editor window opens and the Package can be modified as
needed.
In the Control Panel
FirstofallopenaLibraryEditorwindowwiththelibrarythatshouldcontain
thenewPackage(File/Open/Library).Itisnotnecessaryto
selectacertaineditingmode.NowswitchtotheControlPanel(e.g.Window
menu)andexpandtheLibrariesbranchofthetreeview.Choosethelibrary
whichcontainstherequestedPackageandselectit.Ontherighthalfofthe
ControlPanelapreviewofthePackageisvisiblenow.
IftheControlPanelandtheLibraryEditorwindowarearrangedinaway
thatboth windows are visible youcanmove the Packageinto theLibrary
windowbykeepingtheleftmousebuttonpressed.Afterreleasingthemouse
button(Drag&Drop)theLibraryEditorwillbeinthePackageeditingmode.
ThePackageisshownthere.
Alternativelyyoucouldusearightmouseclicktoopenthecontextmenuof
thePackageentryinthetreeview.Select CopytoLibrarynow.TheLibrary
Editorneedsnottobevisible.
NowthePackagecanbemodified.ThePackagenameisadoptedfromthe
sourcelibrary.TochangethePackagenameusetheRENAMEcommand.
254

8.12 Creating New Package Variants


Don'tforgettosavethelibrary.

Defining the Variant


WewanttodefineafurthervariantforourexampleDevice.Switchtothe
Device editing mode, for example, by the menu Libraries/Device.The Edit
window opens. Select the entry 54*1032A. Click OK to open the editor
window.
UsetheNewbuttontodefineanewvariant.SelectthePackageMYSOP14in
the selection dialog and enter, for example, TEST2 as variant name.After
clickingOKanewentryisshowninthePackagelist.
To complete the definition execute the CONNECT command and define
Technologies(asdescribedinthepreviousparagraph)now.

8.13 Defining Packages in Any Rotation


Componentscanbedefinedinanyrotationwitharesolutionof0.1degrees
inthePackageEditor.UsuallythePackageisdefinedinnormalpositionfirst
and rotated afterwards as a whole. The definition of Packages has been
already explained in this chapter. Here we only wanttoelaborate onthe
rotationofPackages.
Packages can be defined in any rotation! Schematic Symbols can be
rotatedin90degreesstepsonly!

Rotating a Package as a Whole


To come back to the example of this chapter, please open the library
my_lib.lbrandeditthePackageLCC20.
Display all layers with DISPLAY ALL to make sure you have all objects
rotated.NowuseGROUP ALLtoselecteverything.
UsetheROTATEcommandtorotatethegroup:
NowclickwiththeleftmouseintotheAngleboxoftheparametertoolbarand
typeintherequestedangle.Thenusearightmouseclickintothegroupto
definetherotationpoint.
ThePackageisshownnowinthegivenangle.
Alternativelyyoucanworkwiththecommandline:
ROTATE R22.5 (> 0 0)
rotates,forexample,thepreviouslyselectedgroup22.5furtheraroundthe
point (0 0). The > sign (right angle bracket) within the parenthesis for
coordinatescausestherotationofthewholegroup(asarightmouseclickat
thepoint(00)woulddo).

255

8 Component Design Explained through Examples

Packages with Radial Pad Arrangement


ItispossibletoworkwithpolarcoordinatestoplacepadsorSMDsinaradial
arrangement.Setasuitablereferencepoint,forexample,inthecenterofthe
Package with the MARK command first. The command line shows now
additionalinformationaboutthecursorposition.

PackageEditor:RelativeandPolarCoordinatesDisplay
Valuesmarkedwithan R are relativevaluesreferringtothepreviouslyset
reference point. The leading P indicates polar values referring to the
referencepoint.
Example:
Threepadsaretobeplacedonthecircumferenceofacirclewitharadiusof
50mm.Thecenterofthepartisatposition(00).
GRID MM;
MARK (0 0);
PAD '1' (P 50 0);
PAD '2' (P 50 120);
PAD '3' (P 50 240);
Dependingontheusedpadshapeitmaybeusefultoplacethepadsrotated
(forexampleforLongpadsorSMDs).
Itispossibletoentertheangledirectlyintheparametertoolbarorinthe
commandlinewhilethePADorSMDcommandisactive.
Example:
GRID MM ;
MARK (0 0);
PAD '2' LONG R120 (P 50 120) ;

8.14 Library and Part Management


Copying of Library Elements
Within a Library
IfyouwanttouseaSymboloraPackagewhichalreadyexistsinarelated
mannerforaDevicedefinitionyoucancopyitwithinthelibrarywiththe
commands GROUP, CUT, and PASTE. Afterwards it can be modified as
requested.
Thefollowingsectionsexplaineverysinglestepwiththehelpofanexample
Packagetakenfromlinear.lbr.

256

8.14 Library and Part Management


Open Library
Use the menu File/Open/Library in the Control Panel to open the library
linear.lbr orselecttheentry Open fromitscontextmenuofthetreeview's
expandedLibrariesbranch.
Edit Existing Element
Openthe Edit windowwith Library/Package andselectthePackage DIL08.
AfterclickingOKitisshowninthePackageEditorwindow.
UseDISPLAYtoshowalllayers.
Draw a frame around all objects to be copied with GROUP or type
GROUP ALLinthecommandline.
NowclicktheCUTiconfollowedbyaleftmouseclickintothegroup.
AlternativelyyoumayenterareferencepointinthecommandlineforCUT,
asforexample:
CUT (0 0) ;
Define New Element
ClicktheEditapackageiconintheactiontoolbar.
EnterthenameDIL08TESTintheNewfieldoftheEditwindowandconfirm
withOK.
ClickthePASTEiconfollowedbyaclickatthedrawing'sreferencepoint.The
Packagewillbeplaced.
Oruseagainthecommandline:
PASTE (0 0) ;
Nowitcanbemodifiedasrequested.
ThegivencoordinatesforCUTandPASTEcanbeusedtomoveagroupbya
certainvalueinthecoordinatessystem.Thismaybevaluableforelements
thathavebeendrawninthewronggrid.
ThisprocedurecanbeappliedtoSymbolstoo!
Devicescan'tbecopiedwithinalibrary!

From One Library into Another


Devices
IfthereisaproperDeviceorDevicesetthatyouwanttouseinyourcurrent
libraryyoucancopyitintwodifferentways.
IntheControlPanel:
Move(with Drag&Drop)therequestedDevicesetfromtheControlPanel's
treeviewintotheopenedLibraryEditorwindow.ThecompleteDeviceset
withSymbol(s)andPackage(s)willbecopiedandnewlydefined.
AsanalternativeyoucouldusetheentryCopytoLibraryinthecontextmenu
oftheDeviceentry.
257

8 Component Design Explained through Examples


WiththeCOPYcommand:
Type,forexample,
COPY 75130@751xx.lbr
orwiththewholepath
COPY 75130@d:\eagle\lbr\751xx.lbr
inthecommandline,theDevice75130fromlibrary751xx.lbriscopiedinto
thecurrentlyopenedlibrary.
Ifthepathcontainsspacesusesinglequotesforit,forexample:
COPY '75130@d:\P A T H\751xx.lbr'
IftheDeviceshouldbestoredinthecurrentlibraryunderanewnamesimply
enterit,likehere:
COPY 75130@751xx.lbr 75130NEW
Symbols
AsSymbols are not shownin thetree view of theControlPanel itisnot
possibletocopythemfromthereintotheLibraryEditor.
Symbolsarecopiedfromonelibraryintoanotherthesamewayasonewould
doitwithinthesamelibrary.ThereforeweusethecommandsGROUP,CUT,
andPASTE(seepreviousparagraph).
TheonlydifferencetocopyingaSymbolwithinalibraryisthatyouhaveto
opentheotherlibrary(File/Open)afterCUTandclickintothegroup.Then
youdefineanewSymbolthatmayhavethesameoranothernameasbefore.
Inshort:
OPENthesourcelibraryandEDITtheSymbol
DISPLAYalllayers
SelectallobjectswithGROUPALL
UseCUTandleftmouseclickintothegrouptosetareferencepoint
OPENyourtargetlibrarywithFile/Open
EDITanewSymbol
UsePASTEtoplaceit
Savelibrary
Packages
TheproceduretocopyPackagesisnearlythesameastocopyDevices.
Either move (with Drag&Drop) the requested Package from the Control
Panel's tree view into the opened Library Editor window. The complete
Package will be copied and newly defined in the current library. As an
alternativeyoucouldusetheentryCopytoLibraryinthecontextmenuofthe
Packageentry.
OrusetheCOPYcommand.Type,forexample,
COPY DIL16@751xx.lbr
258

8.14 Library and Part Management


inthecommandline,thePackageDIL16fromlibrary751xx.lbriscopiedinto
the currently opened library. If the library is not in the current working
directoryyouhavetoenterthewholepath,asforexample,in:
COPY DIL16@\eagle\mylbr\751xx.lbr
Ifthepathcontainsspacesusesinglequotesforit:
COPY 'DIL16@D:\P A T H \mylbr\751xx.lbr'
If the Package should be stored in the current library under anew name
simplyenteritdirectlyinthecommandline:
COPY DIL16@\eagle\mylbr\751xx.lbr DIL16NEW
ThePackageisstoredwiththenewnameDIL16NEWnow.
IfyouwanttocopyaPackagethatalreadyexistswiththesamenameinthe
targetlibrarythePackagewillbesimplyreplaced.
IfthePackageisalreadyusedinaDeviceandthepositionorthenameofone
ormorepads/SMDschanges,EAGLEpromptsamessageinwhichmodethe
pads/SMDs are to be replaced. This procedure canalsobe cancelled.The
Packageremainsunchangedthen.
Iftheenumerationandpositionofthepadsareunchangedbuttheorderis,
EAGLEwill askyou forthe appropriate updatemode.Dependingonyour
selectionthepin/padconnectionsoftheDevicemaychange(seeCONNECT
command).

RequestingtheUpdateMode

Composition of Your own Libraries


Thepreviouslymentionedmethodstocopylibraryelementsmakeitveryeasy
tocomposeyourownlibrarieswithselectedcontents.
ProvidedtheControlPanelandtheLibraryEditorwindowarearrangedina
mannerthatbotharevisibleonthescreenatthesametime,itisveryeasyto
makeuserdefinedlibraries whilebrowsingthroughthelibrarycontentsin
the Control Panel. Simply use Drag&Drop or the context menu Copy to
LibraryofthecurrentDeviceorPackage.
259

8 Component Design Explained through Examples

Removing and Renaming Library Elements


Devices, Symbols, and Packages can be removed from a library with the
REMOVE command. Defining a new library element can't be cancelled by
UNDO.
Example:
YouwouldliketoremovethePackagenamedDIL16.
Open the menu Library/Remove.... A dialogwindowopenswhere youcan
enterthenameoftheelementtobedeleted.
Thiscanbedonealsoatthecommandline:
REMOVE DIL16;
PackagesandSymbolscanberemovedonlyiftheyarenotusedinoneofthe
library'sDevices.Inthiscasethemessage Packageisinuse!orSymbolisin
use!appears.RemovethecorrespondingDevicefirstordeletetheparticular
PackageorSymbolintheDevice(set).
Wouldyouliketochangethenameofanelementinyourlibrary?Thenuse
theRENAMEcommand.
Switch to the Package editing mode so that the element that should be
renamedisshownfirstandopenthemenuLibrary/Rename.Adialogwindow
openswhereyoucanenterthenewnameoftheelement.
Thiscanalsobedoneatthecommandline:
RENAME DIL16 DIL-16;
ThePackageDIL16getsthenewnameDIL16.
TheDevice,Symbol,orPackagenamemayalsobegivenwithitsextension
(.dev,.sym,.pac),forexample:
REMOVE DIL16.PAC
Inthiscaseitisnotnecessarytoswitchtotherelatededitingmodebefore.

Update Packages in Libraries


AsalreadymentionedinthesectionCopyingofLibraryElementsitispossible
to copy Packages from one library into another one. An already existing
Packageisreplacedinthatcase.
EachlibrarycontainsPackageswhichareneededforDevicedefinitions.In
many libraries identical types of Packages can be found. To keep them
uniformoveralllibrariesitispossibletoreplaceallPackagesofalibrarywith
thoseofanotherlibrarywiththehelpoftheUPDATEcommand.Anexisting
Packagewiththepropernamewillbereplacedbythecurrentdefinition.
Ifyouhave,forexample,specialrequirementsforPackagesyoucoulddefine
theminacustombuiltPackageorSMDlibrary.TheUPDATEcommandcould
transferthemtootherlibraries.

260

8.14 Library and Part Management


Thereforeopenthelibrarytobeupdatedandselect Library/Update....Now
selectthelibrarywhichyouwanttotakethePackagesfrom.
HavingfinishedtheupdateEAGLEreportsinthestatusbar:
Update:finishedlibrarymodified!
Iftherewasnothingtoreplace:Update:finishednothingtodo.
Itisalsopossibletousethecommandlineforthisprocedure.
IfyouwanttoupdateyourlibrarywithPackagesfrom,forexample,
refpackages.lbr,type:
UPDATE ref-packages.lbr
TotransferPackagesfromdifferentlibraries,typeinoneafteranother:
UPDATE ref-packages.lbr rcl.lbr smd-special.lbr
ToupdateasinglePackage,typeinthePackagename:
UPDATE SO14@ref-packages
Theextension.lbrisnotnecessary.Youmayalsousethewholelibrarypath.
Seepage258forfurtherinformation.

261

8 Component Design Explained through Examples

This
page
hasbeen
leftfree
intentionally.

262

Chapter 9
Preparing Manufacturing Data
Data output for board manufacturing is made with the help of the CAM
Processor.PCBmanufacturerusuallyworkwithdrilldatainExcellonformat
andplotdatain Gerber format.Howtogeneratesuchdataandwhichdata
you have to pass on to your PCB manufacturer will be explained in this
chapter.
AlotofPCBmanufacturersgeneratethesedatawithEAGLEbythemselves.
Insuchacaseyouhavetopassontheboardfileonlyandyouneednotcare
aboutdatageneration.YouwillfindlinkstosuchfirmsonourInternetpages.
If, however, yourboardmaker isnotsetuptoprocessEAGLEboardfiles
directly, you will have to supply them with a set of files. What will be
requiredwillbediscussedinthefollowingsections.
AdditionalusefulUserLanguagePrograms(ULPs)areavailableonCadSoft's
Internet pages.Theycanbeused, for example,forthegenerationofglue
mask data, for the calculation of milling contours, or for data regarding
automaticmountingandtestingequipment.

9.1 Which Data do we Need for Board


Manufacture?
ThePCBmanufacturer requiresspecificinformationpertainingtoeach step
in the manufacturing process of your board. This special information is
describedinafilecontainingplotand/ordrillinginformation.
Forexample,onefileforeachsignallayer,forthesilkscreen,forthesolder
stopmask,thecreamframe,foragoldapplication,foragluemask(forSMT
devices),orformillingdataregardingcutoutsintheboard.
Doublesidedboardswithpartsontopandbottomsiderequireasilkscreen
onbothsides,orincaseofSMTdevices,acreamframeoragluemaskfor
eachside.
Additionallytheboardmanufacturerneedsdrillingdatainaseparatefile.
Ifyouwantamilledprototypeboard,millingcontourshavetobecalculated
first,andgeneratedinaspecificdataformatforfabricationmillingmachines.

263

9 Preparing Manufacturing Data


Ifyouwanttohavethepartsautomaticallymounted,youneedadditional
filesinappropriatedataformatthatdepictcentroidandrotationalangular
information.
Abillofmaterialsoralegendforthedrillsymbolscanbehelpful,too.

Gerber Plot Data


AllPCBmanufacturersuseGerberformat.TherearetwooptionsofGerber
formatavailable, ExtendedGerberformat,alsoknownasGerberRS274X(in
shortRS274X),whichisthemostcommonlyusedtodayinindustry.
TheCAMProcessoroffersthisdeviceoptionasGERBER_RS274X.
ItmaybethecasethatthePCBmanufacturerworkswiththesecondoption
RS274D. This will require the generation of data with the devices
GERBERAUTOandGERBERoftheCAMProcessor.
Gerberdata(RS274D)basicallyconsistoftwoparts:
ThesocalledAperturefileorWheelfile,aspecialtooltable,andtheplotdata
thatcontaincoordinatesandplottinginformationfortheGerberplotter.
TheGerberdevicesoftheCAMProcessor(RS274XandRS274D)havea
resolutionof1/10,000ofanInch(dataformat:2.4,inches).
Exceptionsarethedevices GERBERAUTO_23 and GERBER_23.Theyhavea
lower resolution of 1/1,000 of an Inch (data format 2.3, inches).
GERBER_RS274X_25offersahigherresolutionof1/100,000ofanInch(data
format:2.5,inches)
PleaseinquirewhichformatyourPCBmanufacturerprefers.Themore
convenienttouseisExtendedGerber,RS274X.

GERBER_RS274X
ThisdevicegeneratesfilesinExtendedGerberformat(RS274X)wherethe
aperturetableisintegratedintheoutputfile.SimplygenerateGerberfiles
with the GERBER_RS274X device and pass them on to your board
manufacturer.ThisisthemostefficientandeasiestwaytogenerateGerber
data.

GERBERAUTO and GERBER


The prior RS274D format works with a separate aperture file which is
necessarytogenerateallGerberfilesyouwillneedforboardmanufacturing.
Firstyouhavetogeneratetheaperturetable(wheelfile)withGERBERAUTO.
ThisfileisatooltablewhichdefinestheshapeandthesizeoftheGerber
plotter's apertures (tools). This table must contain the whole aperture
definitionweneedforgeneratingallGerberfilesthatdescribetheboard.
For generating the Gerber files with the GERBER device, we refer to the
previouslygeneratedaperturefile,madewithGERBERAUTO.

264

9.1 Which Data do we Need for Board Manufacture?

Drill Data
Thegenerationof drilldata isverysimilartothegenerationofplotdata.
Typicalformatsusedinindustryare Excellon or Sieb&Meyer1000 or 3000.
TheyaresupportedbytheCAMProcessor.ThemostcommononeisExcellon.
Thesimplestcaseistogenerateonecommondrilldatafileforalldrillholes.
Ifyouhavetodistinguish platedfrom nonplateddrillholes,twodrilldata
filesmustbegenerated.EAGLEdifferentiatesbetweenplateddrillsofPads
andViasinlayer44,Drills,andnonplatedholesinlayer45,Holes,whichare
placedbytheHOLEcommand.
IfyouhavetogeneratedrilldataforamultilayerboardthatusesBlindand
Buriedviaswithdifferentvialengthsthatresultindifferentdrillingdepths,
theCAMProcessortakescareonthisautomatically.Foreachvialengthit
generatesaseparatedrilldatafile.
Furtherinformationaboutthiscanbefoundinchapter9.5frompage279on.

EXCELLON
UsingthisdevicetheCAMProcessorgeneratesadrillfilethatcontainsthe
drilltableandthedrillcoordinates.Thisfileformatisthemostcommonin
theindustryandwillberecognizedbymostboardmanufacturers.
The default resolution of the EXCELLON device is 1/10,000 inches, no
leadingzeros(dataformat:2.4,Inch).

EXCELLON_RACK
Thisdevicecanbeused,ifyourboardmanufacturerinsistsontwoseparate
files.Adrilltable(rackfile)andthedrilldatafile.Thiswasdefaultinprior
EAGLEversions.
InthefirststeponehastogeneratethedrilltableintheLayoutEditorwith
thehelpoftheUserLanguageprogram drillcfg.ulp,andreferstothisdrill
table when generating drill data with the CAM Processor. The board
manufacturergetstwofilesthen,drilldataanddrilltable.
Ifyouhavetodistinguishbetweenplatedandnonplateddrillingsyouhave
tosupplyonedrilltableandtwodrilldatafiles(oneforlayerDrills,onefor
layerHoles).

SM1000 and SM3000


ThesedevicesgeneratedrilldatainSieb&Meyer1000orinSieb&Meyer3000
format.SM1000hasaresolutionof1/100mm,SM30001/1000mm.
DataoutputisexactlythesameasitiswithEXCELLON_RACK.Firstyouhave
togeneratethedrilltablewith drillcfg.ulp,thenusetheCAMProcessorto
generatedrilldata.

265

9 Preparing Manufacturing Data


Further Drill Data Devices
TheCAMProcessorsupportstwofurtherdevicesfordrilldatageneration.
GERBDRL generates Gerber drillcode.Hereweneed aseparatedrilltable
(RUNdrillcfg.ulp),asitiswithEXCELLON_RACK.
SMS68isafurtherdrilldatadevicethatgeneratesaHPGLcode.

Prototype Manufacture With a Milling Machine


WiththehelpofvariousUserLanguageprogramsyoucangenerateoutline
dataformillingaprototypeboard.

outlines.ulp
Asimpleexampleforcontourdatacalculationisoutlines.ulp.Startitwiththe
RUNcommand.Selectthelayerforwhichoutlinedatashallbegenerated,
define thediameter of the milling tool(Width), and selecttheoutputfile
format(ScriptorHPGL)intheULP'sdialogwindow.
TheScriptfilecontainingtheoutlinedatacanbeimportedintoEAGLEwith
theSCRIPTcommand.Thusit'spossibletovisualizethecalculatedcontours
intheLayoutEditor.Youcanevenmodifythem,ifnecessary.
Finally,themillingdataoutputismadewiththeCAMProcessor.Selectthe
layerwherethecontoursaretobedrawninanduse,forexample,theHPGL,
thePS(Postscript)oroneoftheGerberdevicesfortheoutput.
Furtherinformationcanbefoundinthehelpfunction,Outlinedata.

mill-outlines.ulp
AnotherUserLanguageprogramthatcalculatesoutlineanddrilldataismill
outlines.ulp.Itoffersvariousconfigurationparameters.Simplystartitwith
theRUNcommandintheLayoutEditor.ConsulttheULPsintegratedhelp
functionfordetails.
This ULP exports HPGL formatted data (further formats are planned) or
generates a Script file which can be imported into the layout again. The
millingcontourscanbeviewed,orevenmodified,ifrequired.Generatethe
milling data with the CAM Processor and one of its devices, like Gerber,
HPGLorPSthen.

Film Generation Using PostScript Files


A highquality alternative to Gerber is the data generation for PostScript
raster image recorders. The exposed film serves as master for board
manufacturing.
Withthe PS driver,theCAMProcessorgeneratesfilesinPostScriptformat.
Thesefilescanbeprocesseddirectlybyappropriateservicecompanies(most
ofwhichoperateintheprintindustry).
ForPostScriptrecordersthe Width and Height parametersshouldbesetto
veryhighvalues(e.g.100x100inches),sothatthedrawingisnotspread
overseveralpages.
266

9.1 Which Data do we Need for Board Manufacture?


ForgeneratingPostscriptfilesyouhavetoselecttheproperlayers,thesame
way it is performed for Gerber data generation. Use these files for the
generationofyourartworkatyourparticularPCBsubcontractor.
Films that relate to the bottom side are usually output in mirrored form
(MirroroptionintheCAMProcessor).Indoingsothecoatingofthefoilrests
directlyonthecopperlayeroftheboardwhichistobeexposed.
The EPS driver generates Encapsulated PostScript files. They can be
processedwithDesktopPublishingprograms.

Printing on a Film
Forboardsoflimitedcomplexity,onecanusealaserorinkjetprinterand
printonatransparentfoilwiththePRINTcommand.Thismethodisused,for
example, by hobbyists and results in a shorter fabricationtimeandaless
expensiveboardfabricationprocess.
ThelayersthataredisplayedintheLayoutEditorwhileprintingwillappear
onthefilm.ChecktheoptionsBlackandSolidintheprintdialog.
Thedrillsofpadsandviasarevisibleontheprintout.Thiswillallowaneasy
visual indication of where you have to drill manually on the board.
Experienceshowsthattheopeningofapadoraviashouldnotbetoobigto
allowforagoodcenteringofthedrillbit.Thisissuecanbesolvedwiththe
help of an User Language program, named drillaid.ulp. Start it before
printing,andletitdrawaringinsideeachpadandviainaseparatelayer.
Theinnerdiameterofthisringcanbedefinedandisusuallysetto0.3mm.Of
course,youhavetodisplaythisadditionallayerforprintingonthefilm.

Data for Pick-and-place Machines and In-circuit


Testers
EAGLE includes some ULPs which create data for various automatic
placement machines and incircuit testers that are typically used by PCB
manufacturers.
The description of an ULP can be viewed in the User Language Programs
branch of the tree view of the Control Panel byselecting oneoftheULP
entrieswiththemouse.Thedescribingtextappearsontherightsideofthe
ControlPanelwindow.It'salsopossibletoedittheULPfilewithatexteditor.
Thedescriptionusuallyiswritteninthefileheader.

267

9 Preparing Manufacturing Data


ULPsforpickandplacedata(selection):
mount.ulp

Generatesonefilewithcoordinatesof
thecenteredpartorigins

mountsmd.ulp

CenteredoriginsforSMTdevices;onefilefor
topandonefileforbottomside

ULPsforcircuittester(selection):
dif40.ulp

DIF4.0formatfromDigitaltest

fabmaster.ulp

FabmasterformatFATFREV11.1

gencad.ulp

GenCADformatforTeradyne/GenRad
incircuittester

unidat.ulp

UNIDATformat

Execute the RUN command in the Layout Editor window to start the
particularULP.
NotealsothewiderangeofprogramsthataremadeavailableontheCadSoft
webserverhttp://www.cadsoftusa.com/download.htm,ULPdirectory.

Documentation
ManydocumentationitemscanbegeneratedwiththeaidofUserLanguage
programs.Notealsothewiderangeofprogramsthataremadeavailableon
ourwebserver.Thebom.ulp,theprogramforgeneratingabillofmaterials,
hasbeenusedasabasisforlotsofusercontributedULPs.

Parts List
Thepartslistcanbecreatedbybom.ulp.StartitfromtheSchematicEditor,
using the RUN command. The Bill Of Material window with the parts
summaryopensfirst.

268

9.1 Which Data do we Need for Board Manufacture?

bom.ulp:Dialogwindow
Itispossibletoimportadditionalinformationfromadatabasefileintothe
partslist(Load),ortocreateanewdatabasewithitsownpropertiessuchas
manufacturer,storesnumber,materialnumberorprice(New).
You can obtain further details about the current version of the ULP by
clickingthehelpbutton.
A simple parts list can also be created from a boardor schematic by
meansoftheEXPORTcommand(Partlistoption).

Drill Plan
Printingadrillplanenablesyoutocheckthedrillholesandtheirdiameters.
Itshowsanindividualsymbolforeachdiameterofhole,via,andpadusedin
yourdesign.EAGLEuses19differentsymbols:18ofthemareassignedtoa
certain diameter; one () appears, if no symbolhasbeendefined forthe
diameterofthishole.Thesymbolsappearinlayer44,Drills,atthepositions
wherepadsorviasareplaced,andinlayer45,Holes,atthepositionswhere
holesareplaced.
TherelationbetweendiametersandsymbolsisdefinedthroughtheLayout
Editor'sOptions/Set/Drilldialog.
ThebuttonsNew,Change,DeleteandAddcanbeusedtocreateanewtable,
tomodifycertainentries,deletethemortoaddnewones.
The Set button extracts all the hole diameters from the layout and
automaticallyassignsthemtoadrillsymbolnumber.ThevaluesofDiameter
269

9 Preparing Manufacturing Data

Configurationofthedrillsymbols
and Width determinethediameterandlinethicknessofthedrillsymbolon
thescreenandtheprintout.
Theimageaboveshowsthatdrillsymbol1isassignedtoadrilldiameterof
0.01inch.Inthefollowingimageyoucanseehowtherelatedsymboldrawn
inlayer44,Drills,or45,Holes,lookslike.Thesymbolnumber1lookslikea
pluscharacter(+).

Assignmentofthedrillsymbols
The dill symbol assignment is stored in the userspecific file eaglerc.usr
(.eaglercforLinuxandMac).

Drill Legend
Documentingthedrillsymbolassignmentisquitesimplewiththehelpofa
handyUserLanguageprogramnameddrilllegend.ulp.
270

9.1 Which Data do we Need for Board Manufacture?


InthefirststepweletEAGLEgeneratethedrillsymbolassignmentforthe
currentlayoutwiththeSetbuttonintheOptions/Set/DrillSymbolsmenu.
Nowwestart drilllegend.ulp.Itdrawsatablewiththeproperdrillsymbol
assignmentandthedrillsymbolsattheirpositionsintheboardinthenewly
generated layer 144. For printing, it can be helpful to display layer 20,
Dimensions,additionally.
Ifyouwanttodeletethisall,simplyuseGROUPandDELETEinlayer144.

9.2 Rules that Save Time and Money


Eachlayershouldwithoutfailbeuniquelyidentified(e.g.CSfor
ComponentSide,BSforBottomSide).
Itmaybewisetousefiducialorcropmarkswhichcanbedefinedin
layer49,Reference.ThiswillalloweasyalignmentofPCBgenerated
filmsforbothinspectionandfabrication.Whengenerating
manufacturingdata,thislayerhastobeactiveadditionallywithall
signallayers.Pleasecontactyouboardmanufacturerconcerningthis
matter.Fiducialscanbefoundinmarks.lbr.Aminimumofthree
fiducialsorcropmarks(threecorners)isrequiredforproperfilm
alignmentreference.
Forcostreasonsyoushould,ifatallpossible,avoidtracksthatnarrow
tobelow8mil.
Usuallythecontouroftheboardisdrawninlayer20,Dimension.But
itisalsopossibletodrawanglesatthecornerstodelimittheboardin
eachsignallayer.Pleasecontactyourboardmanufacturerwhatthey
prefer.
Ifyourboardhasmillededges,pleasecontactyourboard
manufacturertoclarifyinwhichlayerthesecontourshavetobe
drawn.Seealsopage278.
Youshouldalwaysleaveatleast2mm(about80mil)aroundthe
edgeoftheboardfreeofcopper.Thisisespeciallyimportantfor
multilayerboardstoavoidinternalshortsbetweentheselayers.
Inthecaseofsupplylayersonmultilayerboards,whichareplotted
inverse,youdothisbydrawingawirearoundtheedgeoftheboard.
Thiswillactasacopperkeepoutinthisarea.
Pleasetakecareofthewirewidthforpolygons.Itshouldnotbeset
toofineoreven0.Thesereducedwirewidthsresultinhugefilesizes
andcanleadtoproblemsforboardmanufacturing,aswell.
AsalreadymentionedinthesectionoftheTEXTcommand,textsin
copperlayersoughttobewritteninvectorfont.Soyoucanreallybe
surethatthetextonyourboardlooksthesameasitdoesinthe
LayoutEditorwindow.
Toplaysafe,youcouldactivatetheoptionsAlwaysvectorfontand
PersistentinthisdrawingintheOptions/UserInterfacemenubefore
passingonyourboardfiletotheboardmanufacturer.
271

9 Preparing Manufacturing Data


Forthesakeofcompletenesswewanttopointouthereagainthatall
questionsconcerninglayersetup,layerthickness,anddrilldiameter
formultilayerboardswithBlind,Buried,orMicroviashavetobepre
examined.
SupplyaninformationaltextfiletoyourPCBmanufacturerthat
containsinformationaboutspecificfeaturesintheboard.For
example,informationaboutusedlayers,millingcontours,andsoon.
Thissavestimeandavoidstrouble.

9.3 Quick Guide for Data Output


The CAM Processor provides an automated job mechanism aiding in the
creationoftheoutputdataforaboard.Itispossibletogeneratealldatabya
singlemouseclick.
TheControlPanel'streeview(CAMJobs branch)listsalljobsandshowsa
briefdescription.
IfyouarenotyetfamiliarwiththeuseoftheCAMProcessor,pleasescroll
backtothechapteraboutTheCAMProcessoronpage77.Thereyouwilllearn
aboutthebasicoperationoftheCAMProcessor.
Thepredefined jobs gerb274x.cam andgerber.cam aredesignedfor a
twolayerboardwhichhascomponentsonthetopsideonly.Theywill
generatefilesforthesignallayers,thesilkscreenforthecomponentside,
andthesolderstopmaskfortopandbottom.

Job gerb274x.cam
This job can be used to generate manufacturing data in Extended Gerber
format.
Proceedasfollows:
StarttheCAMProcessor,forexample,withtheCAMProcessoriconin
theLayoutEditororwiththeFile/CAMProcessormenu.
LoadtheboardintotheCAMProcessor(File/Open/Board)ifitwasnot
loadedautomaticallyduringthestartsequence.
Loadthepredefinedjobgerb274x.camwiththeFile/Open/Jobmenu.
NowclickProcessJob.EAGLEgeneratesfivefiles,onebyone,
automaticallywhichyouhavetopassontotheboardmanufacturer.
EachGerberfilecontainstheaperturetableandtherespectiveplot
data.
Thefollowingfileswillbegenerated:
%N.cmp

272

Componentside

9.3 Quick Guide for Data Output


%N.sol

Solderside

%N.plc

Silkscreencomponentside

%N.stc

Solderstopmaskcomponentside

%N.sts

Solderstopmasksolderside

%N.gpi

Infofile,notneededhere

%Nistheplaceholderfortheboardfilenamewithoutitsextension.
Ifotherlayersarealsotobegenerated,e.g.silkscreenforthebottomside,or
asoldercreammask,theGerberjobcanbeextendedwithmodificationsas
required.Extendingthejobisdiscussedlaterinthischapter.

Job excellon.cam
The easiest way to generate drill data is to use the predefined CAM job
excellon.cam,usedwiththeCAMProcessorafilethatcontainsdrilldataand
therespectivedrilltablewillbegeneratedautomatically.Thisjobdoesnot
distinguishbetweenthelayers Drills and Holes.Bothwillbeoutputintoa
commonfile.Usuallyalldrillingswillbeplatedthroughthen.
Proceedasfollows:
StarttheCAMProcessor(forexampleFile/CAMProcessormenu)in
theLayoutEditor.
LoadtheboardintotheCAMProcessor(File/Open/Board),ifithas
notbeenloadedautomaticallyduringthestartsequence.
Loadthepredefinedjobexcellon.cam,e.g.withFile/Open/Job.
ExecutethejobwithamouseclickonProcessJob.Drilldataoutput
startsnow.
Excellon.camdoesnotdistinguishbetweenplatedthroughdrillsandnon
platedthroughholes!
Thefollowingfileswillbegenerated:
%N.drd

Drilldata

%N.dri

Infofile,forboardmanufacturer,
ifrequired

273

9 Preparing Manufacturing Data

CAMProcessor:Generatedrilldatawiththeexcellon.camjob
Thedefaultunitforthedrilltableisinch.Ifthedrilltablewouldbepreferred
inMillimetresthedevicedefinitioncanbechangedinthefileeagle.def.More
detailsconcerningthiscanbefoundinthesectionUnitsforapertureanddrill
tables,beginningwithpage289.
Excellon.cam can be used for multilayer boards, as well as for those with
Blind, Buried or Micro vias. In this case several drill data files will be
generated.Seechapter9.5fordetails.

Job gerber.cam
If your board manufacturer can not handle Extended Gerber format and
expects Gerber data with a separate aperture file, use thejob gerber.cam.
Thesefilescanbecreatedwiththedevices GERBERAUTO and GERBER and
generatesdatainRS274Dformat.
Howtoproceed:
StarttheCAMProcessor,forexample,withtheCAMProcessoriconin
theLayoutEditororwiththeFile/CAMProcessormenu.
LoadtheboardintotheCAMProcessor(File/Open/Board)ifitwasnot
loadedautomaticallyduringthestartsequence.
Loadthepredefinedjobgerber.camwiththeFile/Open/Jobmenu.
NowclickProcessJob.EAGLEautomaticallygeneratessixfileswhich
youhavetopassontotheboardmanufacturer.FiveGerberplotfiles
andonecommonaperturetable.
274

9.3 Quick Guide for Data Output


Inthefirststepanaperturetable%N.whlisgenerated.Twomessages
appear,whichyouconfirmwithOK.

Messagesingerber.cam
TheleftmessageisgeneratedbytheentryinthePromptfield,and
remindsyoutodeletethetemporaryfile%N.$$$createdwhengenerating
theaperturetableafterthejobisdone.
Themessageontherightadvisesyouthatmorethanonesignallayerare
activeatthesametime.Normallyonlyonesignallayerisactivewhile
outputisgenerated.However,whengeneratingthewheel,allthelayers
needtobeactiveatthesametimetoformacommonaperturetablefor
theGerberoutput.
Thefollowingfileswillbesubsequentlyoutput:
%N.whl

Aperturefile(Wheel)

%N.cmp

Componentside

%N.sol

Solderside

%N.plc

Silkscreencomponentside

%N.stc

Solderstopmaskcomponentside

%N.sts

Solderstopmasksolderside

%N.$$$

Temporaryfile,pleasedeleteit

%N.gpi

Infofile,notneededhere

9.4 Which Files do I Need for my Board?


The previous part of this chapter told you a lot about the basics of data
generationandhowtousepredefinedjobfilesfordefaulttwolayerboards.
Inthissectionyouwillfindasummaryoffilesusuallygeneratedforboard
manufacturing.

275

9 Preparing Manufacturing Data

Files List
TheoutputfilesoftheCAMjobsdifferintheirfileextensions.Youare,of
course,freetouseunequivocalnamesofyourown.
TheCAMProcessorallowstheuseofsomeplaceholdersforthegenerationof
outputfilenames.Usuallytheoutputfilenameconsistsofthenameofthe
board file plus a special file extension. For the board file name without
extensionweusetheplaceholder%N.Write,forexample,intheOutputFile
field:%N.cmp.Thiswillbeexpandedwiththenameofthelayoutfilethatis
loadedplustheextension(here:boardname.cmp).
Inthefollowingtable %N alsostandsforthenameofthecurrentlyloaded
boardfilethatisusedtogeneratemanufacturingdatafrom.
Filename

Selectedlayers

Description

Signallayers

%N.cmp

1Top,17Pads,18Vias

Componentside(top)

%N.sol

16Bottom,17Pads,
18Vias

Solderside(bottom)

Innerlayers

%N.ly2

2Route2,17Pads,18
Vias

Innerlayer2

%N.ly3

3Route3,17Pads,18
Vias

Innerlayer3

.....

.....

.....

%N.l15

15Route15,17Pads,
18Vias

Innerlayer15

Specialcase:InnerlayerasSupplylayer(e.g.:Layer2$GND,Layer15
$VCC)

%N.ly2

2$GND

Supplylayer$GND

.....

.....

....

%N.l15

15$VCC

Supplylayer$VCC

Silkscreen

276

9.4 Which Files do I Need for my Board?

%N.plc

21tPlace,25tNames,
possibly20Dimension(*)

Silkscreencomponent
side

%N.pls

22bPlace,26bNames
possibly20Dimension(*)

Silkscreensolderside

Solderstopmask

%N.stc

29tStop

Solderstopcomponent
side

%N.sts

30bStop

Solderstopsolderside

Creamframe(forSMTdevices)

%N.crc

%N.crs

31tCream

Creamframe
componentside

32bCream

Creamframesolder
side

Millingcontoursforopenings,oblongholes...

%N.mill

%N.dim

46Milling(**)

Platedmillingcontours

20Dimension(**)

Nonplatedmilling
cont.

Finishingmask(e.g.goldcoating)

%N.fic

33tFinish

Finishingcomponent
side

%N.fis

34bFinish

Finishingsolderside

Gluemask(forlargerSMTdevices)

%N.glc

35tGlue

Gluemaskcomponent
side

%N.gls

36bGlue

Gluemasksolderside

44Drills,45Holes

Alldrillings

Drilldata

%N.drd

277

9 Preparing Manufacturing Data


Distinguishingplatedfromnonplateddrillings

%N.drd

44Drills

Plateddrillings

%N.hol

45Holes

Nonplateddrillings

(*)Pleasecheckwithyourboardmanufacturerwhetheryouhavetooutput
theboardcontourinlayer20inaseparatefileoryouareallowedtocombine
itwiththoselayers.
(**) Ifthereareadditional millededgesintheboard,youshouldcontact
yourboardmanufacturerandaskthemwhichlayerstheypreferformilling
contours.
Pleasenotethattherearedifferencesbetweennormalinnerlayersand
supplylayers:
Normalinnerlayers(possiblywithpolygons)aretreatedthesameasTop
orBottomlayer;youhavetooutputthemwithPadsandViastogether.
Supplylayers,however,arenotcombinedwithanyfurtherlayer!

Placeholders for Output File Name Generation


%D{xxx}

xxxstandsforastringthatisinsertedonlyinto
thedatafilename

%E

fileextensionoftheloadedfile,withoutthe'.'

%H

homedirectoryoftheuser

%I{xxx}

xxxstandsforastringthatisinsertedonlyinto
theInfofilename

%L

layerrangeforblind&buriedvias

%N

nameoftheloadedfilewithoutpathand
extension

%P

directorypathoftheloadedBoardorSchematic
file

%%

thecharacter'%'

Theseplaceholdersmustbewritteninuppercaseletters!

278

9.4 Which Files do I Need for my Board?


Hints Concerning File Extensions:
cmpstandsforcomponentside,theuppersideoftheboard,solforthesolder
(bottom)side.Itmakessensetochoosethefirsttwolettersaccordingthe
active layers. The third one can be c or s for belonging to component or
solderside.
Ofcourseyouarefreeinnamingyourfilesinanymanneryouwish!
Pleaseensurewhendefiningajobthattheextensionsoftheoutputfiles
areuniqueandthereforedistinguishable.

9.5 Peculiarities of Multilayer Boards


Incaseofboardswithinner layersonehastoknowhowtheselayersare
definedinordertogeneratepropermanufacturingdata.Isitaninnerlayer
thatcontainstracksandpolygons,asitisinToporBottomlayer?Orisita
supplylayerthatcanbeidentifiedbythe$characterinfrontofthelayer
name?

Simple Inner Layers


The normal inner layers are treated the same as the outer signal layers.
Togetherwiththesignallayer,thelayersPadsandViasareactive.
IftheLayerSetupallowsBlindandBuriedvias,thecombinationofone
signallayerandtheViaslayeroutputsonlythoseviasthatbelongtothis
signallayer.
IfthereisonlytheViaslayeractive(nosignallayer),theCAMProcessor
willoutputallviasoftheboard!

Supply Layer
Whengeneratingmanufacturingdatafor supplylayers,forexample$GND,
youmustnotactivatethelayersPadsandVias.
Isolationrings, calledAnnulus symbols,andthermalreliefs(Thermals)are
generated automatically in a Supply layer. They havenothing incommon
withpadsorviasofnormalsignallayers. ASupplylayerisdisplayedand
outputinverted.
SupplylayersareneveroutputwithPadsandVias!

279

9 Preparing Manufacturing Data

Drill Data for Multilayer Boards With Blind and Buried


Vias
TheCAM Processor generates one drill data file foreach via length fora
layoutthatusesBlindandBuriedvias.
Thedrilldatafileextension.drdisexpandedbythevialengthspecification.If
thereare,forexample,viasfromlayer1to2,theoutputfileextensionwillbe
.drd.0102.
Thelayerspecificationcanbemovedtoanotherpositionwiththehelpofthe
wildcard%L.Writing,forexample,intheFileboxoftheCAMProcessor%N.
%L.drdresultsinanoutputfilenamedboardname.0102.drd.
Padsandtroughholeviaswillbewrittenintoanoutputfilewithextension
.drd.0116.Ifyouplacedholes(HOLEcommand)inthelayoutandtheHoles
layerisactiveforoutput,theCAMProcessorwritesthisdataalsointothefile
withextension.drd.0116.
Passonallthesefilestoyourboardmanufacturer.
ProvidedyoudidnotusetheEXCELLONdevicewhichcombinesdrilltable
anddrillcoordinatesinacommonfile,yourboardhouseadditionallyneeds
therackfilename.drlwhichisgeneratedbydrillcfg.ulp.

9.6 Set Output Parameters


ThissectiondescribesthesettingoftheparametersintheCAMProcessorfor
theoutputofaboardoraschematic.
LoadtheschematicorboardfilefromtheCAMProcessor's File/Openmenu,
andsettheparameters.
TheCAMProcessorwindowisdividedintosections(Output,Job,Style,Layer,
Offset andsoon).Somesections,like Emulate, Tolerance, Pen or Page,are
usedbyandthereforedisplayedwithcertaindevicesonly.

280

9.6 Set Output Parameters

CAMProcessor:Soldersidesectionofthegerber.camjob
Output:
Selectthedriverforthedesiredoutputdeviceoroutputformatinthe
Devicecombobox.
EntertheoutputpathandfilenameintheFilefieldorsimplyclick
ontotheFilebuttonanduseitsdialog.
Ifyouwanttooutputafileonaparticulardrive,placethedrive
identifieror,ifappropriate,thepathinfrontofthefilenameending.
Forinstance,underWindows,d:\%N.cmpwouldplacethefile
boardname.cmpintherootdirectoryofdriveD.Thisalsoappliesto
theLinuxversion,sothat,forexample,/dev/hdc2/%N.cmp,would
placethefileondrivehdc2.
%HcanbeusedaswildcardfortheHomedirectory,%Pfortheloaded
file'sdirectorypath.
Ifoutputistogodirectlytoaplotter,enterthenameoftheprint
queuethatisconnectedtothecorrespondingcomputerinterfacein
UNCnotation,e.g.\\Servername\Plottername.
DependingonthechosendeviceitmaybeaskedforWheel(aperture
table)orRack(drilltable).Selectpathandfilebyclickingthebutton.
Layerselection:
Selectthelayersthatshouldbeoutputintoacommonfilebyclicking
theappropriatelayernumber.
ClickthemenuLayer/Deselectalltouncheckallthelayersfirst.
Layer/showselecteddisplaysonlythecurrentlyselectedlayers.
281

9 Preparing Manufacturing Data


Somedevices(likeHPGLorcertainplotterdevices)allowyoutoselect
acolororpennumberinanadditionalcolumn.
Style:
Mirror:

Mirrorstheoutput.
Itcanbeusefultomirroralloutputsthatrefertothe
bottomsideoftheboard.

Rotate:

Rotatestheoutputby90degrees.

Upsidedown: Rotatestheoutputby180degrees.
WhencombinedwithRotate,thedrawingisrotated
byatotalof270degrees.
Pos.Coords.: Avoidsnegativecoordinatevaluesfortheoutput.
Thedrawingwillbemovednearthecoordinate'saxis,
evenifitisalreadyinthepositivecoordinatesrange.
Negativevaluescanleadtoerrorswithalotofdevices!
Thisoptionshouldbesetonalwaysbydefault.
Switchingitoff,transfersthecoordinatevaluesfrom
theLayoutEditorunchanged.
Quickplot:

Draftoutputwhichshowsonlytheoutlinesofobjects.
Thisoptionisavailableforcertaindevices,likeHPGL
andvariousplotters.

Optimize:

Activatestheoptimizationofthedrawingsequencefor
plotters.Shouldbesetonbydefault.

FillPads:

Thisoptionisalwaysseton.OnlythedevicesPSand
EPSallowyoutoswitchoffthisoption.Thedrillholes
forpadswillbevisibleontheoutput(asitiswiththe
PRINTcommand).

Job:
IfyouareonthewaytodefineaCAMjobthatconsistsofseveral
sectionsitisusefultonamethem.IntheSectionline,itispossibleto
enterasectionnamewhichwillbeshownalsointhetababove.
If,forexample,youassignthesectionnameWheel:GenerateAperture
File,onlythetitleWheelisvisibleasatabname.Theadditional
descriptioncanbereadinthesectionline.Thecolonendsthetitlein
thetab.
Incaseyouwishtodisplayamessageboxonthescreenbefore
executingthissection,enterspecialmessagetextinthePromptfield.
Forexample:Pleaseinsertanewsheetofpaper!Theoutputdoesnot
continueuntilconfirmationofthismessage.
Offset:
Defineanoffsetinxandydirection.
ThevaluescanbegiveninInchesorMillimetres,forexample,15mm
or0.5inch.

282

9.6 Set Output Parameters


Tolerance:
TolerancesforDrawandFlashaperturesarenecessaryfordevicesthat
useanaperturefile,likeGERBERorGERBER_23.Usuallyoneallowsa
toleranceof1%inallfields.
Thisisnecessarytocompensatesmallroundingerrorsthatcanarise
duringtheconversionfrommmtoinchvaluesandviceversaasthe
aperturetableisgenerated.
Devicesfordrilldatagenerationthatuseaseparatedrilltable(rack
file)invokeaDrillentry.Atoleranceof2.5%isenoughto
compensateforroundingerrorsthatpossiblycanariseduringthe
conversionfrommmtoinch.
Emulate:
Ifanaperturewiththeexactvalueisnotavailableintheaperturefile,
youcanallowApertureemulation.TheCAMProcessorisallowedto
usesmallerdrawingaperturesforemulation.Plottingtimeandcosts
willincrease,andthereforeyoushouldtrytoavoidaperture
emulation.
ThermalandAnnulusaperturesdrawninSupplylayerswillbe
emulatedwithDrawapertures,iftheoptionsThermalsandAnnulus
arechecked.
Arcswithflatendings(CHANGECAPFLAT)arealwaysemulatedfor
Gerberoutput,whichmeansthattheyaredrawnwithsmalllines.
Arcswithroundendings(CHANGECAPROUND),however,not.
Ifyourlayoutcontainsobjectsthatarerotatedinanyangle,youhaveto
activateapertureemulation.Certainpadshapesmustbedrawnwitha
smallerroundaperture.
Page:
DefinetheHeightandWidthofthesheetyouwanttoploton.Values
areinInchesbydefault.ValuescanalsobegiveninMillimetres,like
297mm.
Pen:
TheDiameteroftheplottingpenisgiveninhere.Thevaluehastobe
inMillimetres.
ForplottersthatsupportadjustablepenVelocityyoucandefinea
valuegivenincm/s(centimetrespersecond).Novaluehereresultsin
adefaultvaluegivenbytheplotter.
Sheet:
Selectthesheetoftheschematicyouwanttooutput.

283

9 Preparing Manufacturing Data

9.7 Automating the Output with CAM


Processor Jobs
Defining a New CAM Job
AJobconsistsofoneormoresectionsthatallowyoutogenerateafullsetof
manufacturing data withonlyafewmouseclicks. Asectionisagroupof
settings, as described above in the Set Output Parameters chapter, which
definestheoutputofonefile.
Defineajobasfollows:
StarttheCAMProcessor.
Nojobisloadedatfirst,unlessthereisafilecalledeagle.caminthe
camdirectoryoranexistingjobiscalledupautomaticallybyan
EAGLEprojectfile.
Ifhasnotalreadybeendone,loadtheboardfilewhichyouwantto
definethejobfor(alsopossibleforschematics).
Itisbestthatyouloadanexistingjob,forexamplegerb274x.cam,
throughtheCAMProcessor'sFile/Open/Jobmenu.
SavethisjobunderanewnamewithFile/Savejob...Sotheoriginal
jobfileremainsunchanged.
ClicktheAddbutton.
Thecurrentlyactivesectionwithallitsparametersettingsiscopied
now.
EnteranewdescriptivetextintheSectionline.
Ifyouwishtogetamessageshownbeforeexecutingthissection,
enteraspecifictextpromptinthePromptline.
Setallparametersnow:
Device,thelayersfortheoutput,theoutputFile,aScalefactor,if
needed,theStyleoptions(Mirror,Rotate,Upsidedown...).
Definefurthersectionsinthesamewayusingdifferentnames.
Veryimportant:FirstuseAddtocreateanewsection,thensetthe
parameters.
Deleteasection,ifneeded,byclickingtheDelbutton.
Saveallthesectionsofyournewjobasajobfileunderanameof
yourchoicewithFile/Savejob...
Allthesectionsofthejobwillbeexecutedautomaticallyoneafteranotherif
youclickthe Processjob button.Onespecific(thecurrentlyshown)section
willbeexecutedifyouclicktheProcesssectionbutton.
TheDescription buttonallowsadescriptivetextoftheCAMjobthatwillbe
displayedintheControlPanel.

284

9.7 Automating the Output with CAM Processor Jobs

Extending gerber.cam Job for Multilayer Boards


Thegerber.camjobcanbeusedasthebasisofthejobformultilayerboards.It
mustsimplybeextendedfortheadditionalinnerlayers.
Example:
YouwanttooutputthefilesforaboardwithSMDcomponentsonthetop
andbottomsides,asupplylayer$GND inLayer2,andanotherinnerlayer
withapolygonVCCinLayer15(whichisrenamedtoVCC).
Youneedsilkscreenprintsfortheupperandlowersides,solderstopmasks,
andmasksforthesoldercreamforbothsides.
BeforeyoustarttochangetheCAMjobyoushouldsavethejobunderanew
namethroughtheFile/Savejobas..menu.
Proceedasdescribedintheprevioussection.TheCAMjobthencontainsthe
followingsections:
New

Outputfile Selectedlayers

Description

1,2,15,16,17,18,20,
21,22,25,26,29,30,
31,32

Generatewheelfile
.whl
*modifiedlayer
selection

%N.cmp

1Top,17Pads,18Vias

Componentside

%N.ly2

2$GND

Supplylayer

%N.l15

15VCC,17Pads,18Vias

Innerlayer15

%N.sol

16Bottom,17Pads,
18Vias

Solderside

%N.plc

21tPlace,25tNames,
20Dimension

Silkscreencomponent
side

%N.pls

22bPlace,26bNames
20Dimension

Silkscreensolderside

%N.stc

29tStop

Solderstopmaskcomp.
side

%N.sts

30bStop

Solderstopmasksolder
side

%N.crc

31tCream

Creamframecomp.side

%N.crs

32bCream

Creamframesolderside

* %N.$$$

285

9 Preparing Manufacturing Data


Check once more whether all the necessary layers for the creation of the
aperturetableareactiveinthefirstsection.Theoutputfilegeneratedinthe
firstsectioncannotbeused.Forthisreason,thefile boardname.$$$ should
bedeleted.

Activate only the signal layer for the output of Supply layers (here
$GND)!NoPadsandnoViaslayer!
Incase of other inner layers that may contain polygons, youhaveto
activatethelayersPadsandVias!

Error Message: Apertures Missing


IftheerrormessageAPERTURESMISSINGNOPLOTFILEHASBEEN
PRODUCEDappearsafterstartingthemodifiedCAMJob,theGerberinfofile
boardname.gpicontainsinformationaboutthereasonoftheproblem.
Theerrorcouldpossiblybenotallaperturesweredefinedorsomecouldnot
befoundinthetableduetomissingtolerancesettings.
EnsureallusedlayerswereactivatedintheGenerateaWheelfilesection?
Itcouldalsobethecasethattherearepartsplacedinanyanglewithpads
thatdon'thavearoundshapeinthelayout.Youhavetoactivatetheaperture
emulationthentohaveasuccessfulfilecreation.

Gerber Info Files


TheCAMProcessorgeneratesforeachGerberplotfilecreatedanadditional
Gerberinfofilewiththeextension.gpi.Thistextfileinformsyouaboutused
apertures, the data format of the Gerber device, about possible aperture
emulationsortolerances,andsoon.
IfyoudefineajobforGerberoutputwithdatafilesthatusetheextensions
proposed in the table above, the info file will be overwritten with each
succeedingsection.
If your board manufacturer or your plot service wants to have these
additional information files (they are typically not necessary), use the
%I{xxx}placeholderasfollows:
ForOutputFileenter
%N.xxx%I{.info}
Here%Nstandsfortheboardname,xxxstandsforanycharactersforthefile
extension, %I{.info} generates anadditionalextension .info fortheGerber
infofiles.
Theoutputfilesgeneratedwilllooklikethis:
Gerberfile:
Infofile:

286

boardname.xxx
boardname.xxx.info

9.7 Automating the Output with CAM Processor Jobs


Example:
Theboardmyboard.brdisloaded.TheFilefieldcontains%N.cmp%I{.info}.
The output file is called myboard.cmp, and the info file is named
myboard.cmp.info.
Thefileswillbewrittenintothesamedirectoryastheboardfileis.

Drill Data Generation with Separate Rack File


Ifyoupreferdrilldatainanotherdataformat,forexampleSieb&Meyer1000
or3000(SM1000,SM3000)ortheExcellonformatwithaseparaterackfile
(EXCELLON_RACK),adrilltableisrequiredfirst.

Define a Drill Configuration (Rack) File


Thisfileisusuallycreatedbydrillcfg.ulp(RUNcommand)starteddirectlyin
theLayoutEditorwindowandwillbenamedboardname.drl.
Itisofcoursealsopossibletodefineadrilltablewiththeaidofatexteditor.
For data generation enter the table's path and file name in the CAM
Processor'sRackfield.
Exampleofadrillconfigurationfile:
T01
T02
T03
T04
T05
T06

0.010
0.016
0.032
0.040
0.050
0.070

Alldimensionsaregivenhereininches.Itisalsopossibletoenterthevalues
withtheirunit,e.g.0.010inor0.8mm.Commentsindrillconfigurationfiles
maybeusedandareidentifiedbyasemicolon,whichmaystandatthestart
ofalineorbeprecededbyaspace.

Define Job for Drill Data Output


StarttheCAMProcessor
Loadthepredefinedjobexcellon.cam,e.g.withFile/Open/Job.
ChangetheoutputDevicetoEXCELLON_RACK,SM1000orSM3000
andchecktheparameters.Layers44,Drills,and45,Holes,mustbe
selectedonly.Nootherlayers!UsetheLayers/showselectedmenuto
getasummaryoftheactivelayers.

Ifyouwanttohaveseparatefilesforplatedandnonplated
drillings,selecthereLayer44,Drills,onlyandinsertafurthersection
thatoutputslayer45,Holes,inaseparatefilewiththeAddbutton
afterthefollowingitem.
Checkwithyourboardmanufacturertoseeifthisisthemethodthey
prefer.
AfterchangingtheoutputdevicetheCAMProcessorrequiresaRack
fileasatoolguide.Typein.drlorclicktheRackbuttonandchoose
thepathtoyourrackfileinthefiledialog.
287

9 Preparing Manufacturing Data

Intheeventyouwishtodistinguishplatedandnonplatedholes:
Addanewsectionwhichoutputsonlylayer45,Holes,intoasecond
drillfilewithmodifiedfilename.Possibly.holforholes.
SavethejobfileviaFile/Savejobwithanewname.
A toleranceof 2.5%shouldbeallowedfordrilldiameterselectionin
ordertocompensateroundingerrorsthatpossiblycanariseduringthe
conversionfrommmtoinchandviceversainthedrilltable.

Drill Info File


Thefilename.driisgeneratedwitheachdrilldataoutput.Itcontainsthelist
ofusedtoolsandfurtherinformationaboutthedataformat.
IftheerrormessageDRILLSMISSINGNOPLOTFILEHASBEENPRODUCED
appears,theinfofilecontainsinformationwhichdrilldiametercouldnotbe
foundinthedrilltable.Addthemissingdiameterinthedrilltablewithatext
editororcheckthegivenvaluesfortolerances.
Theinfofileiswrittenintothesamedirectoryastheoutputfile.Youmay
sendthisfiletoyourPCBmanufacturer,ifrequested.

9.8 Device Driver Definition in eagle.def


Outputdevicedriversaredefinedintheeagle.deftextfile.Hereyouwillfind
alltheinformationthatisneededforthecreationofyourowndevicedriver.
Thebestwayistocopytheblockforanoutputdeviceofthesamegeneral
category,andthenaltertheparameterswherenecessary.
Thefileeagle.defcanbefoundintheeagle/bindirectory.

Creating Your Own Device Driver


Pleaseuseatexteditorthatdoesnotintroduceanycontrolcodesintothe
file.

Example 1: Gerber(auto) device, Millimetre


[GERBER_MM33]
Type = PhotoPlotter
Long = "Gerber photoplotter"
Init = "G01*\nX000000Y000000D02*\n"
Reset = "X000000Y000000D02*\nM02*\n"
ResX = 25400
ResY = 25400
Wheel = ""
Move = "X%06dY%06dD02*\n" ; (x, y)
Draw = "X%06dY%06dD01*\n" ; (x, y)
Flash = "X%06dY%06dD03*\n" ; (x, y)
Units = mm
Decimals = 4
Aperture = "%s*\n" ; (Aperture code)

288

9.8 Device Driver Definition in eagle.def


Info = "Plotfile Info: \n" \
"\n" \
"Coordinate Format : 3.3 \n" \
"Coordinate Units : 1/1000mm \n" \
"Data Mode : Absolute \n" \
"Zero Suppression : None \n" \
"End Of Block : * \n" \
"\n"
[GERBERAUTO_MM33]
@GERBER_MM33
Long = "With automatic wheel file generation"
Wheel = "" ; avoids message!
AutoAperture = "D%d"; (Aperture number)
FirstAperture = 10
MaxApertureSize = 2.0

Example 2: EXCELLON Device, Output with Leading Zeros


[EXCELLON-LZ]
Type
= DrillStation
Long
= "Excellon drill station"
Init
= "%%\nM48\nM72\n"
Reset
= "M30\n"
ResX
= 10000
ResY
= 10000
;Rack
= ""
DrillSize = "%sC%0.4f\n" ; (Tool code, tool size)
AutoDrill = "T%02d"
; (Tool number)
FirstDrill = 1
BeginData = "%%\n"
Units
= Inch
Decimals = 0
Select
= "%s\n"
; (Drill code)
Drill
= "X%06.0fY%06.0f\n"
; (x, y)
Info
= "Drill File Info:\n"\
"\n"\
" Data Mode
: Absolute\n"\
" Units
: 1/10000 Inch\n"\
"\n"

Units in the Aperture and Drill Table


When automatically generated with the GERBERAUTO driver, theaperture
tablecontainsvaluesininches.
Thisisalsothecaseforthedrilltablewhichisautomaticallywrittenintothe
drilldatafilewiththeoutputdeviceEXCELLON.
If your PCB manufacturer insists on mm units foraperture sizesanddrill
diameters, you can achieve this by altering the GERBER or GERBERAUTO
respectivelyfortheEXCELLONdriver.

289

9 Preparing Manufacturing Data


Use a text editor that does not introduce any control codes to edit the
eagle.deffile,lookfortheline
[GERBER]

or
[GERBERAUTO]

andadd/editinthissectionthelines
Units = mm
Decimals = 4
Inordertochangethedrilltableunitslookfortheline
[EXCELLON]

andchange:
Units = Inch

to
Units = mm

9.9 Gerber Files for Photoplotters with Fixed


Aperture Wheels
Thissection goes into moredetailonthedefinitionoftheaperture table.
SomeboardmanufacturersmayperhapsstillbeusingaGerberplotterthat
workswithafixedaperturewheel.Insuchacaseitisnecessarytoadaptthe
aperturetabletotherestrictedfacilitiesoftheGerberplotter.FilesforGerber
photoplotters with fixed aperture wheels are generated with the GERBER
driver.Itisessentialtoconferwithyourphotoplotserviceaheadoftime,so
astoadjustEAGLEtotheavailableapertures.Theaperturetablehastobe
definedmanually.
Therearevarioustypesofapertures.Theydifferinsizeandshape.Themost
common are circle, octagon, square, Thermal and Annulus symbols. The
drawingaperture(Draw)usedfortracksisnormallyaroundaperture.
Youmustspecifytheapertureconfigurationbeforeyoucangeneratefilesfor
afixedaperturewheelphotoplotter.Todothis,entertheconfigurationfile
forapertures name.whl e.g.withtheEAGLETextEditor,andthenloadthis
fileintotheCAMProcessorbyclickingthe Wheel buttonafterselectingthe
GERBERdevicedriver(seeSetOutputParametersbeginningwithpage280).

Defining the Aperture Table (Wheel)


TheCAMProcessordistinguishes Draw aperturesfrom Flash apertures.The
first typeisusedtodrawobjects(e.g.tracks).Thesecondtypeisusedto
generate symbols (e.g. pads) by a light flash. Only if draw apertures are
definedcantheplotterdrawlines.Therefore,iftheplotterdoesn'tdistinguish
between draw and flash apertures, you must additionally define round or
octagonalaperturesasdrawapertures.
290

9.9 Gerber Files for Photoplotters with Fixed Aperture Wheels


Thefollowingaperturesareavailable:
Name

Dimension

Draw
Round
Square length
Octagon
Rectangle
Oval
Annulus
Thermal

diameter
diameter
diameter
length-X x width-Y
diameter-X x diameter-Y
outside diameter x inside diam.
outside diameter x inside diam.

UseofapertureshapesintheCAMProcessor:
Draw
draws wires and emulates apertures
Round
draws round pads and vias
Square draws square pads, SMDs and vias
Octagon
draws octagonal pads and vias with
the same X- and Y-dimensions
Rectangle
draws rectangles and SMDs
Oval
draws pads with different
X- and Y-dimensions
Annulus
draws isolation rings in a supply
layer
Thermal
draws connections in a supply
layer

Apertureconfigurationfileexample:
D001
D002
D017
D020
D033
D040
D052
D054
D057
D105
D100
D101
D110
D111

Annulus
Annulus
Annulus
round
round
square 0.004
square 0.059
thermal
thermal
oval
rectangle
rectangle
draw
draw

0.004 x 0.000
0.005 x 0.000
0.063 x 0.000
0.004
0.059
0.090
0.120
0.090
0.060
0.075
0.004
0.005

x
x
x
x
x

0.060
0.080
0.030
0.075
0.060

The D code determines the tool number, then follows the aperture shape
afteratleastoneblankcharacter,thenthedimensionsaredefined.
Allvaluesdefaulttoinches,unlessaunitisadded,forexample0.010inor
0.8mm.
Commentsaremarkedwithsemicolonsatthebeginningofaline,orwitha
semicolonfollowingablankcharacter.

291

9 Preparing Manufacturing Data

Aperture Emulation
If objects exist in a drawing which is not compatible with the available
aperturesizes,itispossibletoemulatethedesireddimensionsbyselecting
the Emulate Apertures option. The CAM Processor then selects smaller
aperturestoemulatedimensionswhicharenotmatchedbyaperturesizes.
Emulationresultsinlongerplottimesandhigherfilmcosts,soitshouldbe
avoidedwheneverpossible.
ThermalorAnnulusaperturesinSupplylayersareonlyemulatedwithDraw
aperturesiftheEmulateThermalorEmulateAnnulusoptions,respectively,is
activated.
Thefilename.gpiindicateswhichaperturesareemulated.

292

Chapter 10
Appendix
10.1 Layers and their Usage
In Layout and Package Editor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

Top Tracks, top side


Route2
Inner layer (signal or supply)
Route3
Inner layer (signal or supply)
Route4
Inner layer (signal or supply)
Route5
Inner layer (signal or supply)
Route6
Inner layer (signal or supply)
Route7
Inner layer (signal or supply)
Route8
Inner layer (signal or supply)
Route9
Inner layer (signal or supply)
Route10
Inner layer (signal or supply)
Route11
Inner layer (signal or supply)
Route12
Inner layer (signal or supply)
Route13
Inner layer (signal or supply)
Route14
Inner layer (signal or supply)
Route15
Inner layer (signal or supply)
Bottom
Tracks, bottom side
Pads
Pads (through-hole)
Vias
Vias (through all layers)
Unrouted
Airlines (rubber bands)
Dimension
Board outlines (circles for holes) *)
tPlace
Silk screen, top side
bPlace
Silk screen, bottom side
tOrigins
Origins, top side (generated autom.)
bOrigins
Origins, bottom side (generated autom.)
tNames
Service print, top side (component NAME)
bNames
Service print, bottom s. (component NAME)
tValues
Component VALUE, top side
bValues
Component VALUE, bottom side
tStop
Solder stop mask, top side (gen. autom.)
bStop
Solder stop mask, bottom side (gen. Autom.)
tCream
Solder cream, top side
bCream
Solder cream, bottom side
tFinish
Finish, top side
bFinish
Finish, bottom side
tGlue
Glue mask, top side
bGlue
Glue mask, bottom side
tTest
Test and adjustment information, top side
bTest
Test and adjustment inf., bottom side
tKeepout
Restricted areas for components, top side

293

10 Appendix
40
41
42
43
44
45
46
47
48
49
51
52

bKeepout
tRestrict
bRestrict
vRestrict
Drills
Holes
Milling
Measures
Document
Reference
tDocu
bDocu

Restricted areas for components, bottom s.


Restricted areas for copper, top side
Restricted areas for copper, bottom side
Restricted areas for vias
Conducting through-holes
Non-conducting holes
Milling
Measures
Documentation
Reference marks
Detailed top screen print
Detailed bottom screen print

In Schematic, Symbol, and Device Editor


91 Nets
92 Busses
93 Pins
94
95
96
97
98

Symbols
Names
Values
Info
Guide

Nets
Busses
Connection points for component symbols
with additional information
Shapes of component s
Names of component symbols
Values/component types
Additional information/hints
Guiding lines for symbol alignment

*) Holes generate circles with their diameter in this


layer. They are used to place restrictions on the
Autorouter.

Layers can be used with their names or their numbers. Names can be
changedwiththeLAYERcommandorintheDISPLAYmenu.Thefunctionsof
thespeciallayersremain.
Ifyouwanttocreateyourownlayers,pleaseuselayernumbersabove100.
UsetheDISPLAYmenutocreatenewlayers(Newbutton)ortypetheLAYER
commandon thecommandline. Ifyou wanttocreate,forexample,layer
200,Remarks,typein:
LAYER 200 Remarks
TosetupcolorandfillstyleofthislayerusetheDISPLAYcommand.

10.2 EAGLE Files


EAGLEusesthefollowingfiletypes:

294

Name

Type of file

*.brd
*.sch
*.lbr

Layout
Schematic
Library

*.ulp
*.scr
*.txt
*.dru
*.ctl
*.pro

User Language Program


Script file
Text file (also other suffixes)
Design Rules
Control parameter for the Autorouter
Autorouter protocol file

10.2 EAGLE Files


*.job
*.b$$
*.cam

Autorouter job
Backup file of brd after finishing
the Autorouter
CAM Processor job

*.b#x
*.s#x
*.l#x
*.b##
*.s##
*.l##

Backup file of BRD (x


Backup file of SCH (x
Backup file of LBR (x
Automatic backup file
Automatic backup file
Automatic backup file

= 1..9)
= 1..9)
= 1..9)
of BRD
of SCH
of LBR

EAGLEforLinuxonlycreatesandrecognizeslowercasecharactersinfile
endings!

10.3 EAGLE Options at a Glance


Inordertooutputmanufacturingdata,forinstance,withtheCAMProcessor,
EAGLEcanbestarteddirectlyfromaterminalwindowunderLinuxandMac,
orfromaconsolewindowunderMSWindows.
SinceWindowsprogramsgiveuptheirconnectiontotheconsoletheyhave
beenstartedfrom,youcanusethefileeaglecon.exe(locatedintheeagle\bin
subdirectoryofyourinstallation)ifyouwanttoruntheCAMProcessorfrom
abatchfile.
This version of EAGLE is exactly the same as the eagle.exe, except thatit
doesn'tdisconnectfromtheconsole.
Typeeaglecon?foralistofCAMProcessoroptions.
Thefollowingoptionsarepermitted:
-C
-Dxxx
-Exxx
-Fxxx
-N+
-O+
-Pxxx
-Rxxx
-Sxxx
-Wxxx
-X-a-c+
-dxxx
-e-f+
-hxxx
-m-oxxx
-pxxx
-q-r-sxxx

execute a given EAGLE Command


Draw tolerance (0.1 = 10 %)
Drill tolerance (0.1 = 10 %)
Flash tolerance (0.1 = 10 %)
Suppress message prompts
Optimize pen movement
Plotter pen (layer=pen)
Drill rack file
Script file
Aperture wheel file
Execute CAM Processor
Emulate annulus
positive coordinates
Device (-d? for list)
Emulate apertures
Fill pads
Page height (inch)
Mirror output
Output filename/channel
Pen diameter (mm)
Quick plot
Rotate output 90 degrees
Scale factor

295

10 Appendix
-t-vxxx
-u-wxxx
-xxxx
-yxxx

emulate Thermal
Pen velocity
rotate output 180 degrees
Page width (inch)
Offset X (inch)
Offset Y (inch)

Where:
xxx

stands for further data, e.g. file name as with


-W or a decimal number as with -s.
Examples:
-W /home/user/eagle/project/aperture.whl
-s 1.25
- Default for option is off
+ Default for option is on
Example:
-e Aperture Emulation on
-e+ ditto
-e- Aperture Emulation off
Flag options (e.g. -e) can be used without repeating
the '-' character:
-eatm

Aperture emulation on, annulus and thermal


emulation on, mirror output
-ea-t+ Aperture emulation on, NO annulus
emulation, thermal emulation on
Defining tolerance values:
If there is no sign, the value applies to either direction,
+
-

signifies a positive tolerance,


a negative tolerance.

-D0.10
-D+0.1 -D-0.05

adjusts the draw tolerance to 10 %


adjusts the draw tolerance to
+10 % and -5 %

Notesontheindividualoptions:
C

Executeacommand
AfterloadinganEAGLEfilethegivencommandwillbe
executedintheEditorwindow'scommandline.
Seealsohelpfunction,CommandLineOptions.

DrawTolerance(0.1=10%):
Default:0

DrillTolerance(0.1=10%):
Default:0

FlashTolerance(0.1=10%):
Default:0

296

10.3 EAGLE Options at a Glance


N

Suppressmessages:
Thisoptionsuppresseswarningsorotherinformationintheconsole
window(DOSbox,Linuxconsole). ThusCAMjobsrunwithout
interruption.Default:off

RouteOptimizing:
Withthisoptiontherouteoptimizingfortheplottercan
beturnedonandoff.Default:on

PlotterPen(layer=pen):
Ifyouuseacolorpenplotter,youcandeterminewhichlayer
istobedrawninwhichcolor.Example:P1=0P15=1

DrillRackFile:
Withthisoptionyoudefinethepathtoafilewiththedrill
configurationtable.

ScriptFile:
Whenopeningtheeditorwindow,EAGLEexecutesthe
eagle.scrfile.Thisoptionallowsadifferentnameordirectory
tobeselectedforthescriptfile.Thescriptfileisnotreadby
theCAMProcessor.

ApertureWheelFile:
Thisoptiondefinesthepathtothewheelfilewhichshould
beused.

CallscommandlineversionoftheCAMProcessor

AnnulusSymbolEmulation:
Default:off

PositiveCoordinates:
IfthisoptionissettheCAMProcessorcreatesdatawithoutnegative
coordinates.Thedrawingismoved tothezerocoordinates.
Thisoptioncanbeturnedoffwiththeoptionc.
Pleasebecarefulwiththisoption,especiallyifyouusemirrored
androtateddrawings,becausenegativecoordinatesnormally
causeproblems.Default:on

Device:
Thisoptiondeterminestheoutputdriver.
eagle -d? displaysalistoftheavailabledrivers

EmulateApertures:
Ifthisoptionisselected,aperturesthatdonotexistare
emulatedwithsmallerapertures.Ifthisoptionisturnedoff,
noaperturesareemulated.ThermalorAnnulusaperturesare
notemulatedeither.Default:off

FillPads:
ThisoptioncanonlyworkwithgenericdeviceslikePostscript.
Default:onforalldevices

297

10 Appendix
h

PageHeight(inch):
Printableregionintheydirection(ininches).TheYdirection
isthedirectioninwhichthepaperistransported.Seealso
thewparameter.

MirrorOutput:
Default:off.

OutputFileName

PenDiameter[mm]:
EAGLEusesthePendiametermeasurementtocalculatethe
numberoflinesrequiredwhenareasaretobefilled.Default:0

QuickPlot:
Generatesadraftorfastoutput,whichonlyprintstheframesof
theobjects.Default:off

RotateOutput:
Rotatestheoutputby90degrees.Default:off

ScaleFactor:
Thosedeviceswhichcannotchangetheirscalefactor(inthe
menuoftheCAMProcessor),haveascalefactorof1.Default:1

EmulateThermals:
Worksonlyincombinationwithe+.Default:off

RotateOutputby180degrees:
Incombinationwithr+onecanrotateby270degrees.Default:off

PenVelocityincm/s:
Thisoptionisforpenplotterssupportingdifferentspeeds.Toselect
aplotter'sdefaultspeed,useavalueof0.Default:0

PageWidth(inch):
Printableareainxdirection.Seealsoh.

OffsetX(Inch):
Thisoptioncanbeusedtomovetheoriginofthedrawing.
Default:0

OffsetY(Inch):
Default:0

Exampleforstartingeaglecon.exe:
eaglecon -X -dgerber -Waperture.whl -oboard.sol -D-0.1
name.brd pad via bottom
ThisgeneratesaGerberfileboard.solwhichcontainsdataofthelayersPads,
Vias,andBottom.Drawaperturesmayhaveanegativetoleranceupto10%.
Allparametershavetobewritteninacommonline!
Pathsthatincludespacecharacters,mustbesetintosinglequotes!

298

10.4 Configuration of the Text Menu

10.4 Configuration of the Text Menu


Withthehelpofascriptfile(e.g.menu.scr)youcanconfigureyourowntext
menu.
# Command Menu Setup
#
# This is an example that shows how to set up a complex
# command menu, including submenus and command aliases.
MENU 'Grid { \
Metric { \
Fine : Grid mm 0.1; | \
Coarse : Grid mm 1; \
} | \
Imperial { \
Fine : Grid inch 0.001; | \
Coarse : Grid inch 0.1; \
} | \
On : Grid On; | \
Off : Grid Off; \
}'

'Display { \
Top : Display None Top Pads Vias Dim; | \
Bottom : Display None Bot Pads Vias Dim; | \
Placeplan { \
Top : Display None tPlace Dim; | \
Bottom : Display None bPlace Dim; \
} \
}' \
'' \
'Fit : Window Fit;' \
Add Delete Move ';' Edit Quit \
;

Thebackslash\attheendofalineshowsthatacommandcontinuesinthe
next line. Here the MENU command runs from the first line after the
commenttothelastline.
Thepipesign|hastobeusedifacommandwithinbraces{}isfollowedby
anothercommand.

Textmenufrommenu.scrintheLayoutEditor

299

10 Appendix

10.5 Text Variables


Text variable

Meaning

>NAME

Component name (eventually + gate


name) 1)
Component value/type 1)
Component name 2)
Gate name 2)
Sheet number of a circuit diagram
in the form of, for example 1/3 3)
Total nu>SHEETNRmber of sheets 3)
Current sheet number 3)
Drawing name
Time of the last modification
Time of the plot creation

>VALUE
>PART
>GATE
>SHEET
>SHEETS
>SHEETNR
>DRAWING_NAME
>LAST_DATE_TIME
>PLOT_DATE_TIME

1) Only for package and symbol


2) Only for symbol
3) Only for symbol or circuit diagram

All texts starting with the character >, will be interpreted as placeholder
textsforattributes.SeeATTRIBUTEcommand.

10.6 Options for Experts in eaglerc


Theuserspecificfileeaglerc.usrforWindowsand.eaglercforLinuxandMac
stores various settings defined during the work withEAGLE.Amongthem
youfindsomeexpertsettingsthatcanbeadjustedinthisfiledirectly.The
mostimportantofthemarelistedhere.
Sinceversion5.2itispossibletochangetheseparameterswiththehelpof
the SET commandinthecommandline.Pleaseseethehelpfunctionabout
theSETcommandfordetails.

Change Component Value Warning


Someusersdon'twantthewarningmessageaboutapartnothavingauser
definablevalue,sothiswarningcanbedisabledbyappendingtheline
Warning.PartHasNoUserDefinableValue = "0"

tothefile.

Consistency Check
In order to handle Board/Schematic pairs that have only minor
inconsistencies, the user can enable a dialog that allows him toforce the
editortoperformForward&BackAnnotation,eveniftheERCdetectsthatthe
filesareinconsistent.Thiscanbedonebyappendingtheline:
Erc.AllowUserOverrideConsistencyCheck = "1"

300

10.6 Options for Experts in eaglerc


PLEASENOTETHATYOUAREDOINGTHISATYOUROWNRISK!!!
Ifthefilesgetcorruptedintheprocess,theremaybenothinganybody
candotorecoverthem.Afterall,theERCdidstatethatthefileswere
inconsistent!

Delete Wire Joints


IfyouabsolutelyinsistonhavingtheDELETEcommanddeletewirejoints
withoutpressingtheCtrlkey,youcanappendtheline
Cmd.Delete.WireJointsWithoutCtrl = "1"

tothefile.

Device Name as Value for all Components


Someusersalwayswanttousethedevicenameaspart value,evenifthe
partneedsausersuppliedvalue.Thosewhowantthiscanappendtheline
Sch.Cmd.Add.AlwaysUseDeviceNameAsValue = "1"

tothefile.

Disable Ctrl for Radius Mode


Ifyoudon'tlikethespecialmodeinwiredrawingcommandsthatallowsfor
thedefinitionofanarcradiusbypressingtheCtrlkeywhenplacingthewire,
youcanaddtheline
Cmd.Wire.IgnoreCtrlForRadiusMode = "1"

tothefile.Thiswillturnthisfeatureoffforallcommandsthatdrawwires.

Group Selection
Sincethecontextmenufunctionontherightmousebuttoninterfereswith
theselectionofgroups,agroupisnowselectedwithCtrlplusrightmouse
button.Ifyouwanttohavetheoldmethodofselectinggroupsback,youcan
addtheline
Option.ToggleCtrlForGroupSelectionAndContextMenu = "1"

tothefile.Thiswillallowselectinggroupswiththerightmousebuttononly
andrequireCtrlplusrightmousebuttonforcontextmenus.

Open Project
The automatic opening of the project folder at program start (or when
activating a project by clicking onto its gray button) can be disabled by
appendingtheline
ControlPanel.View.AutoOpenProjectFolder = "0"

tothefile.

Panning Drawing Window


PanningcanbedonewiththeCtrlbutton(asinpreviousversions)bywriting
301

10 Appendix
Interface.UseCtrlForPanning = "1"

intothefile.Note,though,thattheCtrlkeyisnowusedforspecialfunctions
insomecommands,sowhenusingthesespecialfunctions(likeselectingan
object at its origin in MOVE) with this parameter enabled you may
inadvertentlypanyourdrawingwindow.

Polygon Edges as Continuous Lines


If you don't like the way unprocessed polygons display their edges (as
dottedlines),youcanaddtheline
Option.DrawUnprocessedPolygonEdgesContinuous = "1"

Theedgesofpolygonswillbedisplayedascontinuouslinesthen.

Reposition of the Mouse Cursor


NormallyEAGLEdoesnotautomaticallypositionthemousecursor.However,
ifyou preferthecursortobe repositionedtothe pointwhereithasbeen
beforeacontextmenuinthedrawingeditorwasopened,addtheline:
Option.RepositionMouseCursorAfterContextMenu = "1"

Units in Dialogs
Theautomaticunitdeterminationindialoginputfieldscanbecontrolledby
appendingtheline
Interface.PreferredUnit = "x"

tothefile,where"x"canbe
"0"forautomaticunitdetermination(default)
"1"forimperialunits
"2"formetricunits.

302

10.7 Error Message

10.7 Error Message


When Loading a File
Restring smaller than in older version

Paddiameterchanged
InEAGLEversionprior4.0thepaddiameterhasbeenfixedinthePackage
definition. Duetothegiven values intheDesign Rulesthepaddiameters
havechanged.
Pleasecheckand,ifrequired,changetheRestringsettings.RuntheDesign
RuleCheckinanyratetorecognizepossibleclearanceerrors.

Library objects with the same names

Updatereport:Objectswiththesamename
TheTextEditorshowsthismessageifyouattempttoloadanolderfile(BRD
orSCH)thatcontainsdifferentversionsofalibraryelement.Inthiscaseit
added @1, @2, @3... to the names of the Devices so that they can be
identified.
ThismessagecanalsoappearifyouuseCUTandPASTEcommands.

303

10 Appendix
Pad, Via Replaced with a Hole
InolderversionsofEAGLEitwaspossibletodefinepadsinwhichthehole
diameterwaslargerthanthepaddiameter.Thisisnolongerpermitted.
Ifyouattempttoloadalibraryfilethatwascreatedwithanearlierversion
andthatcontainssuchapad,thefollowingmessageappears:

Updatereport:Viareplacedwithhole
The pad or via is automatically converted into a hole, provided it is not
connectedbyCONNECTtoapininoneofthelibrary'sDevices.
Ifthereispadthathasaconnectiontoapin(itisdefinedinthelibrary),the
followingmessageappears:
InthatcasetheLibraryfilemustbemanuallyeditedinordertocorrectthe
pad.Thenyoucanupdatetheboardfilewiththenewlibrarydefinition.

304

10.7 Error Message

Updatereport:Padreplacedwithahole

Skipped unsuitable objects


Ifthismessageisshown,whileyouareloadingafileorcopyingobjectswith
CUT and PASTE from one file into another, the data structure contains
objectsthatdonotbelongtothecurrentfiletypeandcan'tbedisplayed.For
example,atextorrectanglethathasanonorthogonalangleandisplacedin
auserdefinedlayer(above100)intheLayouteditorwhichshouldbepasted
intoa schematic.TheSchematiceditordoesn'tallownonorthognalangles
andthereforecan'tdisplaysuchanobject.
Thismessagecouldbepromptedaswell,ifthefile'soriginisoneofthefirst
EAGLE versions. The file can be used without problems nevertheless. The
datastructureiscleanedupautomaticallywhileloadingit.

Can't Update File


IfthismessageappearswhenloadinganEAGLEfilethatwasmadewitha
versionearlierthan2.60itisnecessaryfirsttoconvertthefile.

Updateerror:Fileolderthanversion2.6
Theprogramupdate26.exe,whichislocatedintheeagle/bindirectory,isused
forthispurpose.

305

10 Appendix
Copy the file that is to be converted into the directory containing both
update26.exe and the file layers.new. Then open a DOS window under
Windows,andchangeintothisdirectory.Typethecommand:
update26 dateiname.ext
Thefileisconverted,afterwhichitcanbereadbythenewversionofEAGLE.
Iftheconversionissuccessful,themessageintheDOSboxis:ok...
Ifthe message Please define replacement for layer xxx inlayers.new should
appear, it means that you have defined your own layers in
layout/schematic/library.
Because of the new layer structure used since version 2.6, a new layer
number(greaterthan100)mustbeassigned.
Thisrequiresyoutoeditthefilelayers.newusingasimpletexteditor,adding,
forexample,anewlayernumberasthelastlineofthefile.
If,forinstance, youhaveusedlayer55,andwanttogiveitnumber105,
enter:
55 105

In a Library
Package/Symbol is in use
IfaPackageorSymbolisalreadyusedinaDevice,nopadsorpinswhichare
alreadyreferencedtoapinorpadwiththehelpoftheCONNECTcomand,
maybedeleted.InsuchacaseEAGLEshowsthefollowingmessages:

ErrorwhileeditingPackageorSymbol
ButitisallowedtoCHANGEorNAMEsuchpinsorpads.It'salsopossibleto
add further pins/pads with the PIN or PAD/SMD command and you are
allowedtoDELETEpins/padswhicharenotreferenced viatheCONNECT
command.
Thismessagealsoappears,ifyoutrytoremovethewholePackage/Symbol
fromthelibrarywiththeREMOVEcommand.Youhavetodeletethewhole
DeviceorthePackagevariantorsymbolintheDevicebefore.

306

10.7 Error Message

In the CAM Processor


Polygon may cause extremely large plot data

Polygonswithwidth0
Thismessageappears,ifyouselectedalayerintheCAMProcessorwhich
containsasignalpolygoninthelayoutwhoselinethicknessislessthanthe
resolutionoftheselectedoutputdriver(Device).
Inordertoavoidunnecessarylargeplotfilesyoushouldassignahighervalue
tothepolygon'slinewidth(CHANGEwidth).

In the Light or Standard Edition


Can't perform the requested action

Light/Standardlimits
This message is shown if the limits of the Light or Standard Edition are
exceeded. This can be the case, for example, if you want to place a part
outside the Layout size limits, if you want to start the Autorouter, orset
parameters for the Followme router, althoughtherearepartsoutsidethe
Layoutlimits,oryouwanttodefineanotallowedinnerlayer.

307

10 Appendix

This
page
hasbeen
leftfree
intentionally.

308

Index

A
Action toolbar
Addlevel
Always
Can
Must
Next
Request
Airwire
Calculate
Display/hide
Alias
Deleting
Alpha blending
Alt-X
Annulus symbol
Dimension
In supply layer
Annulus Symbol
Aperture
Aperture File
Attributes
Defining
For elements
Global
Automatic Naming
Autorouter
Backup
Blind vias
Bus router
Continue existing job
Control file, ctl
Control parameter
Controlling
Cost factors
Design rules
Features
Hints
Information
Interruption
Layer selection
Load settings
Log file
Memory requirement
Menu
Micro via

48, 50
237
244, 246
244
244, 245
244
244
22
70
70
91
93
101
42, 60
136
136
23
290
264
58, 121, 240
122
121
93
70
191
163
178
186
193
186
178
186
179
177
195
192
191
182
184
193
181
183
191

Min. distance, clearance


179
Min. routing grid
177
Module
34
Multilayer board
182
Net classes
179
Optimization
179
Placement grid
180
Polygon
189
Polygons as supply
191
Preferred direction
182, 184
Restarting
186
Restricted area
183
Ripup/Retry
190
Routing grid
180
Routing pass
179
Save settings
184
Select signals
185
Single-sided boards
195
Smds and supply layer
195
Status display
192
Supply layer
161, 182, 190
Track width
179
Unreachable Smd
181, 182

B
Background color
Backup files
Beep
Bill of material
Blind via
Blind via ratio
Blind, Buried via
Bmp file
Board
Arrange components
Attributes, global
Creating
Cut-out
Cutouts
Design Rules
Draw outline
Layer setup
Lock component
Multilayer
Multiple board
Placement grid

101
44, 295
103
268
23
132
162
96
142
144
139
251
141
128
140
130
66
158
174
139

309

Index
Prior considerations
Routing manually
Board Manufacture
Bubble help
Buried via

127
147
263
46, 48
23

C
CAM Job
Define drill job
Description
Excellon.cam
Extending gerber.cam
gerb274x.cam
gerber.cam
Output parameter
CAM Processor
Choose pen number
Component side
Cream frame
Creating device driver
Drill data
EPS output
Error: Apertures missing
Error: Drills missing
Extremely large plot data
File extensions
Fill Pads
Finish mask
Glue mask
HPGL
Inner layer
Job
Load job file
Milling contours
Plotter
Pos. Coords.
PostScript
Prompt
Save time and money
Section name
Silk screen
Solder stop
Start
Start from batch
Supply layer
Tolerance
UNC notation
Vias
Caption

310

287
284
273
285
272
274
280
77
282
276
277
288
265, 277
267
286
288
307
279
282
277
277
97
276
284
79
277
281
282
266
275
271
282
277
277
50, 78
295
276, 286
283
281
279
282
172

Circle
Filled
Clearance
Cmd key
Color
Background
Settings
Command
Activating
Language
Line
Parameters
Text menu
Toolbar
Commands
ADD
ARC
ASSIGN
ATTRIBUTE
AUTO
BOARD
BUS
CHANGE
CIRCLE
CLASS
CLOSE
CONNECT
COPY
CUT
DELETE
DESCRIPTION
DISPLAY
DRC
EDIT
ERC
ERRORS
EXPORT
FRAME
GATESWAP
GRID
GROUP
HELP
HOLE
INFO
INVOKE
JUNCTION
LABEL
LAYER
LOCK
MARK
MENU
MENU
MIRROR
MITER

247
131
85
46
100
81
85
48, 81
49
299
48
55, 66, 76, 209
57, 69
59, 83, 99
58, 70, 77
70
50, 139
57, 118
54, 65, 76, 205
57, 69, 85, 89
59, 117
59
76, 210, 232
53, 64, 254
54, 65
54, 65
74, 77
52, 63, 92
71, 152
59, 72, 110
58, 71, 124
71, 154
59, 85, 95
59, 249
55, 210
50
53, 64
49
70, 82, 247
51, 63, 132
56, 112
57, 114
58, 114
59, 294
66
52, 63, 256
60
99
53, 64, 82, 144, 250
56, 67

Index
MOVE
52, 63, 82
NAME
55, 66, 76
NET
57, 114
OPEN
60
OPTIMIZE
67
PACKAGE
60, 76, 252
PAD
73, 202
PASTE
54, 65
PIN
90, 206
PINSWAP
55, 66
POLYGON
57, 69, 149
PREFIX
76, 211
PRINT
60, 171
QUIT
60
RATSNEST
70
RECT
57, 69
REDO
51
REMOVE
60, 72, 110, 260
RENAME
73, 260
REPLACE
55, 66, 146
RIPUP
68, 148
ROTATE
53, 64, 143, 255
ROUTE
67, 147
RUN
51
SCRIPT
51, 95
SET
60, 100, 300
SHOW
52, 63
SIGNAL
70
SMASH
55, 67, 112, 144
SMD
73, 202, 221
SPLIT
56, 67
TECHNOLOGY
61, 77, 234
TEXT
57, 68
UNDO
51
UPDATE
61, 170, 260
USE
50, 213
VALUE
55, 66, 76, 211
VIA
70, 82, 168
WINDOW
51
WIRE
56, 68
WRITE
61
Component
Add from library
55
Attribute
122
Changing Technology
146
Copying by Drag&Drop
257
Create symbol
205
Creating
75, 201
Cross-reference
247
Description
205
Keepout
205
Labeling
204
Lock
66
Name
204
On both sides
144
On bottom side
202, 250

Output list
96
Package editor
204
Placement grid in board
139
Prefix
211
Replace device
146
Replace package
144
Replacing
55
Rotation
142
Separate name/value
55, 67
Update
170
Value
55, 66, 204
Configuration
Commands
99
eagle.scr
105
eaglerc, eaglerc.usr
106, 300
of EAGLE
99
User interface
99
Connector
245
Consistency check
58, 71, 99, 124
Consistency lost
175
Contact cross reference
>CONTACT_XREF
116
>XREF
247
Context menu
41, 82
Control Panel
37
Options menu
43
Control parameters
186
Coordinates
Display
48, 52, 63
Entering
88
Modifier
89
Polar
88, 256
Relative
88, 256
Select group
89
Copper plane
149
Core
23, 162
Cost factors
186
Cream mask
137
Cross reference
For contacts
116, 247
For nets
58, 114
Specify format
116
Ctrl key
85
Current units
90
Cursor appearance
46

311

Index

D
Data output
Date/time stamp
Delete
All signals
Wire bend
Design Rule Check
Approve errors
Correcting errors
Fonts
Meaning of errors
Restricted areas
Show errors
Wire styles
Design Rules
Clearance
Definition
Layer setup
Options
Restring
Desktop Publishing
Device
Assign Package
Attributes
Build Device Set
Copying
Creating
Delete
Description
Driver
Editing
Gate names
Placeholder in name
Prefix
Remove from LBR
Rename
Replacing
Technologies
Value on/off
Device Set
Directories
Distance
Documentation
Documentation
Export image
Print
Documentation field
Drag&Drop
Draw lines

312

78
249
96
65
23, 71
155
152
139
155
139
71
158
40, 128
131
71
130
129
132
267
23
210
240
229
257
209
72
212
288
72, 74
210
230
211
260
73
55, 146
234
76, 211
23
43
131
268
96
203
249
37
56

Drawing area
Alias
Display last
Panning
Drawing frame
Drawing name
DRC
See Design Rule Check
Drill
Diameter
Legend
Non-plated
Plan
Plated
Symbols
Drill data
Blind/buried vias
Configuration file
drillcfg.ulp
Error: Drills missing
EXCELLON
EXCELLON_RACK
Info file
Leading zeros
Multilayer boards
Rack
Separate rack file
SM1000
SM1000/SM3000
SM3000
Tolerance
Units
Dxf data export

92
51
51
110, 249
249
23
152
23
247
270
265
269
265
270
265
280
287
287
288
265
287
288
289
280
287
287
265
287
265
288
289
97

E
eagle.def
eagle.epf
eagle.scr
eaglecon.exe
eaglerc, eaglerc.usr
Edition
Light
Professional
Standard
Electrical Rule Check
Approve errors
Electrical schematic
Electrical Schematic

288, 290
107
105
295
106, 300
36
34
36
23, 58, 124
125
247
116

Index
Elongation
Encapsulated PostScript
Environment variable
ERC
Error messages
CAM Processor
Correcting
DRC - Meaning of
File prior version 2.60
In a library
Loading a file
excellon.cam
Exit program
Expert options
Export data

135
267
43
23
307
152
155
305
306
303
287
42
300
94

F
Fiducials
File
Backup
Edit
New
Open
Print
Save
Film Generation
Fixing hole
Follow-me Router
Font
Checking
No vector error
Persistent in drawing
Typeface
Vector
Forbidden area
Forward&Back Annotation
Consistency lost
Function keys

271
295
59
41
42, 50
50
50
266
246
23, 196
139, 157
157
45
57, 68
45
146
23, 98
175
59, 83, 99

G
Gate
Gate
Hidden supply

23, 230
112

Place particular
Gateswap
Gerber
Extending gerber.cam
Fixed aperture wheel
Supply layer
Units
Gerber device
RS-274D
RS274X
Gerber output
Annulus aperture
Aperture configuration
Aperture types
Arc
Draw aperture
Emulate aperture
Emulation
Error: Apertures missing
Flash aperture
GERBER
gerber.cam
GERBERAUTO
Info files
Messages gerber.cam
Resolution
Supply layers
Wheel
Wheel, example file
GND symbol
Graphic format
Graphics data
Import
Grid
Alias definition
Alternative grid
Check
Menu
Min. visible size
Pad placement
Group
Define
Move
Move to sheet
Rotate

56
119
285
290
279
289
264
264
283
290
290
283
290
283
292
286
290
274
274
274
286
275
264
279
290
291
238
96
98
90
92
91
139
91
104
202
53, 64
53
53
255

H
Help function
History function

46, 49
82

313

Index
Hole
Diameter
Min. diameter
HOME variable

23
247
132
43

I
Import
In-circuit tester
Inner layer
Installation
Invalid Polygon

94
267
159
25
156

J
Job
Junction
Set automatically

274, 284
104

K
Keepout

156, 205

L
Layer
Abuse
Alias definition
Available
Creating
Display/hide
Hide unused
Inner
Power supply
Qty. of signal layers
Setup
Signal
Stack
Thickness
Usage
Layout Editor
Library

314

Attributes
Composition of your own
Copy elements
Copying by Drag&Drop
Create new
Description
Device creating
Drop
Important comments
List contents
Open
Output script file
Package creating
Package variants
Remove element
Rename element
Search for elements
Summary
Symbol creating
Update
Update Package
Updating older files
Use
Library Editor
License
Extending
Multiple Users
New Installation
Light edition
Line
Type
Logo import

240
259
256
257
215
212
209
111
22
95
60
96
202
231
260
260
110
38
205
170
260
29
39, 50
71
29
30
25
34
24
68
98

M
156
92
100
59
52, 63
100
159
159
130
130, 161, 163
159
24, 162
131, 164
293
33, 62

Magnetic pads
Menu
Configure Text menu
Contents parameter menu
Menu bar
Micro Via
Definition
Restring, diameter
Set in SMD
Milling
Contour
Cutout in board
Prototype board
Milling machine
Mounting hole

148
299
100
48
24, 169
132
169
251
141
266
266
70, 246

Index
Mouse click
Right click
Mouse keys
Mouse wheel zoom
Multilayer boards
4-Layer
6-Layer
8-Layer
Blind, Buried vias
Through vias
Via display

87
89
61
45
158
163
165
167
162
161
163

N
Name
Automatic naming
Forbidden characters
Length
Net
Connection point
Cross reference
Net classes
Netlist
Netscript

94
94
93
24
57
58, 114
117
95
96

O
Object
Move
Properties
Show properties
Oblong holes
Output
Drawing
Image

52, 63
51, 63
46
251
59, 60
96

P
Package
Assigning
Changing
Copying
Creating new variant
Delete
Delete variant

24
210
145
254, 256
251
72
253

Description
Editing
In use
New
Radial pad arrangement
Remove from LBR
Rename
Rename variant
Replacing
Rotation
Update in LBR
Variants
Pad
Appearance in Editor
Aspect ratio
Automatic naming
Change shape
Diameter
Diameter in inner layer
Display mode
Display name in board
First
Form
Layer color
Magnetic pads
Oblong hole
Offset pad
Radial arrangement
Restring, Diameter
Shapes
Solder stop mask
Stop flag
Thermals flag
Palette
Panelize boards
Panning
Parameter toolbar
Parts list
Paste buffer
Path specifications
Pbm file
PDF output
Pgm file
Photoplotters
Pick-and-place data
Pin
Automatic naming
Connection point
Direction
Function
Inverted signal
Labeling

205
72, 73
306
73
256
260
73, 260
231
66
255
259
231
24
136
135
93
205
202
134
104
104, 217
135, 216
135
136
148
251
135
256
132
216
137
217
137, 217
101
174
51
48, 50
96, 268
54, 65
43
96
173
96
290
267
24
94
114, 208
207
206
227
207

315

Index
Length
Name
Orientation
Properties
Same names
Superimposed
Swap
Visible
Pin/Pad connection
Pin/Pad list
Pinswap
Placeholder
For attributes
>CONTACT_XREF
>DRAWING_NAME
>GATE
>LAST_DATE_TIME
>NAME
>PART
>PLOT_DATE_TIME
>SHEET
>SHEETNR
>SHEETS
>VALUE
Placeholder texts
Plated-through hole
Png file
Polar coords.
Polygon
Calculation on/off
Invalid
Isolate
Orphans
Outline mode after Ratsnest
Pour
Rank
Spacing
Thermal connector width
Thermals
Width
Postscript
PostScript
Power supply
Power supply layer
Ppm graphic file
Prefix
Prepreg
Print out
Date/time
Drawing
Options

316

207
208
206
206
237
127
55, 66
207
210, 233
96
119
243
116, 250
249
243
249
208, 243
243
250
249
250
250
208, 243
300
70
96
256
104
152
151
151
152
150
150
151
151
151
150
173
266
120
159
96
76
24, 162
250
171
172

Page limit
PDF file
Printing
Product information
Product registration
Professional edition
Project
Close
Create new
Directory
Edit Description
File, eagle.epf
Mangement
Open recent p.
Prototype Manufacture

172
173
60
47
46
34
42
41, 107
43
41
107
40
42
266

R
Rack file
Ratsnest
Registration
Relative coords.
Relay
Repetition points
Restricted area
Restricted area
For components
Restring
RGB value
Roundness
Rubber band

24, 287
24
46
256
245
87
146, 246
205
24, 132
100
135
22

S
Schematic
Checking
Create sheet
Creating
Delete sheet
Draw nets
Drawing frame
Editor
Global attributes
Grid
Merge

124
50
109
60
114
110
33
121
110
127

Index
More than one sheet
126
New sheet
110
Points to note
127
Remove sheet
50
Sheet preview
48
Sheet preview on/off
126
Sort sheets
126
Various supply voltages
120
Script files
95
Comments
95
defaultcolors.scr
103
Syntax
85
Select factor
104
Selecting objects
61
Serial number
47
Sheet
Delete
110
Max. number of
33
New
110
Sorting
48, 126
Signal
24
Display name
147
Signal layer
159
Silkscreen
203
SMD
Automatic naming
94
Cream flag
222
Define size
221
Parameter
202
Placement
221
Round shape
221
Roundness
134
Solder cream mask
137
Solder stop mask
137
Stop flag
222
Thermals flag
137, 222
Snap length
104
Solder cream mask
137
Special characters
94
Standard edition
34
Status line
48
Stop frame
137
Superimposed pins
127
Supply
Addlevel for gates
244
Autorouting supply layer
190
Invisible pins
236
Layer with polygons
159
Symbol
24, 120, 238
Various voltages
120
Voltages
236

Swaplevel
Symbol
Copying
Creating
Delete
Editing
In use
Labeling
New
Power supply
Remove from LBR
Rename

55, 119, 208


24
256
205
72
72, 74
306
243
74
228
260
73

T
Technologies
233
Technology
Changing
146
Termination
Of command
51
Text
Bar over text
94
Change size
57, 68
Editor
79
Font
57, 68
HTML text
205
In copper layer
271
Inverted in copper layer
69
Menu
60, 99, 299
Min. visible size
104
Ratio
204
Separate from component
144
Special characters
94
Spin flag
142
Upside down
143, 218
Variables
249, 300
Thermal symbol
Dimension
136
In polygon
151, 159
In supply layer
136, 161
Tif graphic file
96
Title bar
48
Tool tips
48
Track
Bend mode
149
Decompose
148
Delete all
65
Min. width
132
Set width automatically
104
Smooth wire bends
149

317

Index
Tree view
Update

42

U
UNC notation
Undo buffer
Unsmash texts
Update
Check for Update
User guidance
User interface
User Language
User Language Program
bom.ulp
Calculate milling contour
cam2dxf.ulp
cam2print.ulp
dif40.ulp
drill-legend.ulp
drillcfg.ulp.
dxf.ulp
fabmaster.ulp
gencad.ulp
List of all
mill-outlines.ulp
mount.ulp
mountsmd.ulp
outlines.ulp
Start ULP
unidat.ulp

31
103
67
47
46
44
24, 97
268
266
174
174
268
270
280
97
268
268
40
266
268
268
266
51
268

V
Value
Placeholder text in package
Placeholder text in symbol
V. for Device
V. is always Device name
Warning
Variable
$EAGLEDIR
$HOME
Variant
Creating new

318

Delete
253
Using modified one
254
Vector font
45
Checking
139
Via
24
Appearance in Editor
136
Blind
163
Blind via ratio
132, 169
Buried
162
Diameter display with INFO
132
Diameter in inner layer
134
Layer color
136
Length
168
Limit
138
Micro via
163, 169
Restring, Diameter
132
Shape in inner layer
135
Solder stop
138
Thermal symbol
136

W
Wheel file
Wheel mouse
Window
Fetch into foreground
Menu
Number
Store position
Wire
Bend mode
Style

24
45
84
46
46
46
24
149
68

X
218
227
234
301
300
43
43
251

Xbm graphic file


Xpm graphic file
XREF label

96
96
115

Z
Zoom factor limit
Zoom in/out

45
51

You might also like