Pages Menu
Categories Menu

Posted by on Jul 12, 2014 in Electronics | 7 comments

PCB Design using EAGLE – Part 2: Using the EAGLE Schematic Editor

PCB Design using EAGLE – Part 2: Using the EAGLE Schematic Editor

Welcome to the next roll out of tutorial regarding PCB design using Cadsoft EAGLE. This tutorial will mainly focus on the schematic editor of the EAGLE design package. If you are new to EAGLE or PCB design check out our previous tutorial which introduces them in brief. It is recommended that you read it before proceeding ahead with this tutorial.


Getting Started

To make the learning process easier we are going to design a simple infra-red proximity sensor breakout board. This circuit will be worked on right from the schematics to the stage where it will be ready for production/printing.

Moving on with the tutorial, the first step is getting familiarized with creating schematic files in your project. Having created your project folder in the control panel, you can create a schematic by right clicking on an active project > New > Schematic. A new schematic window will open.

EAGLE Schematics Control Panel

EAGLE Schematics Control Panel

Tour of the Schematic Workspace

Below is an image of how the schematic editor looks.

EAGLE Schematic Window

EAGLE Schematic Window

Sections of the Schematic Editor

Tool Box: The tool box in eagle schematic editor is feature rich. It consists of a number of useful tools for designing schematics.

Tool Specific Options: Some tools have their specific settings and options that you can meddle with. These are displayed above the command line once you have selected the tool.

Command Line: Since EAGLE also runs on Linux, it can also be operated as a command driven software. In addition to using the GUI, you can also type in commands in this space to select tools, change settings, etc. If you are faster at typing than moving the mouse, you can use this to select tools using specific commands. Once you get used to it, you’ll realize that it is actually faster than using your mouse. However, for the purposes of this tutorial, we will not deal with this (we have your sympathies :) )

Sheet Display: A schematic file in EAGLE can hold up to 99 schematic sheets. You can summon new sheets by right clicking in the space and clicking on New. You can also right click on sheets to write descriptions.

Workspace: This is the area where you will place your components and shape up your schematic.

Grid Size and Coordinate Display: Every component in EAGLE has an origin and they can only be placed on a specified grid in the workspace. Grid size refers to the minimum distance apart that you can move/place any component. This is useful to keep your components well placed and organized, otherwise they would be floating around somewhere in the schematic. If it doesn’t make sense now, wait until you experience it! The current grid size is displayed in this area. The coordinate of the origin of the currently selected object is also displayed in parenthesis. This coordinate is calculate from the origin of the schematic, which is on the bottom left of the workspace.

After getting acquainted with the schematic environment, next up is the description of frequently used tools available in the toolbar.

Tool Bar

LayersLayer Display: This tool displays all the layers which are required in construction of a PCB, namely top, bottom, silkscreen, nets, buses, symbols, names, values, etc. This tool has quite a number of layer options, which will be described as and when required during this tutorial. You can create new layers, edit layers, hide or view layers.

MoveMove: The move tool is used to move various objects around in the workspace. You can move the objects by using the move tool on the origin of the objects to be moved.

CopyCopy: The copy tool is used to make a copy of various objects in the schematic.

MirrorMirror: The mirror tool is used to make a mirror image of any object in the workspace. This tool is used to make the schematic look pretty by adjusting components properly.

RotateRotate: The rotate tool is used to rotate various components in anti-clockwise direction.

GroupGroup: The group tool is used to make a group of components/objects and to apply specific commands on the group or move them as a block.

DeleteDelete: The delete tool is used to remove objects from the workspace.

AddAdd: The add tool is used to access the component library and add components to the schematics.

ReplaceReplace: The replace tool is used to replace the already present components in the schematic with other device from the library.

NameName: The name tool is used to change the names of different components.

ValueValue: The value tool is used to change the values of different components like resistors, capacitors, ICs etc.

SmashSmash: The name and value of any component is attached to it in a specific orientation decided by the component designer. Sometimes these hinder with the connections (net) or buses. The smash tool is used to separate the name and value form the component and allows to move them freely. After smashing, the names and values have their own origin and a translucent line which makes their connection to the related component so that they do not get lost in the schematic.

TextText: The tool helps you to write supporting text on the schematic (just like you write comments in a code, which is a good thing though). This tool creates text as separate objects.

BusBus: A collection of parallel wires is known as a bus. For example wire coming out of a connector. The bus tool is used to create bus for various components.

NetNet: To connect components with a single wire, the net tool is used. This tool automatically creates junction where two or more wires are connected.

JunctionJunction: A junction is a place where two or more wires meet. If the wire or bus tool does not create the junctions automatically, you can use this tool to create them manually.

LabelLabel: The label tool is used to label the wire or bus connections. This helps you to keep track of the wire names and virtually connected components. The concept of virtual connection will be explained later in this tutorial.

ERCERC: Acronym for Electrical Rule Check, this is a tool which checks for logical errors possibly made by the designer during the construction of the schematic. For example if you ground the VCC pin of an Op-Amp or leave an essential pin open, the error will be flagged when you do the ERC. You can rectify these mistakes and again do a check to see if the problems are solved.

Errors ERCErrors: The ERC tool checks the schematic based on a rule set defined by the components in the schematic and also some basic circuit connection logic. Sometimes your circuit might be logically correct but still it is shown as an error. The Errors window lists the errors found by the ERC and displays the location and description of each error. In case the error detected by the ERC is false, you can approve them manually.

Now that we are done the description of schematic tools, we will move on to the designing of IR sensor breakout board. This is where things begin to get exciting! Let’s roll!

Constructing Schematic of IR Sensor Breakout Board

Before we begin, we should know what we are going to design. The final schematic that we are going to design will look somewhat like this:

IR Sensor Circuit

IR Sensor Circuit

Time and again, you can refer back to this diagram to make the design process easy. The design process in EAGLE is very intricate. We will not be going in depth right away. The level of detail will be increased in subsequent tutorials.

To begin with the designing process the first thing that you need to do is to create a new project folder named “IR Sensor Breakout” (of course you can choose any name that you fancy, but we prefer this one!). Then create a new schematic in this project folder. The first thing you want to do is to include all the component libraries, which you can do this by clicking on Library > Use, selecting the component libraries you want to use (or just select) all and pressing Open.

In order to design a correct PCB layout, you’ll need to get the schematics right in the first place since everything depends upon it. EAGLE is a connected software. It links your schematic and board layout. If after designing your PCB layout you make changes in the schematic, it will be reflected back in the layout. So be clear about what you are designing. You can’t get away with a messed up schematic while secretly hoping that your board layout turns out to be correct. It is an important step in the design process after all.

Step 1 – Select and Add your Components

The first step is to include all the components required for your product design into your workspace. For the schematic shown above, we need an IR LED, a photodiode, coloured LED, 2 resistors (330Ω, 10kΩ), an op-amp (LM358), a 10kΩ potentiometer and 3 male headers (for Vcc, GND and Signal OUT).

The add tool opens a list of components like the one shown below with more or less the same libraries.

Add Window


The ADD window includes the component libraries for products from different companies (like Altera, Atmel AVR, Linear, etc.) or IC series (like 40xx, 45xx) or product series from different companies and general categories like battery, connector, etc. You can find the resistors, capacitors, inductors in the RCL library. The schematic symbols are available in US and Europe versions.

Different Symbols

Different Symbols

Many companies update their libraries from time to time. Many major electronic component distributors like SparkFun or Adafruit have their own EAGLE libraries for their products that you can download and paste in the lib directory as mentioned in the earlier post.


The search box in the ADD window has many features. You can search for your components based on your requirements. It has three check boxes to limit your search queries each of which is explained below.

  • Smds: If you do not require SMD (surface mount devices) in your design you can exclude it to narrow your search query.
  • Description: It will try to find a match of your phrase in the search bar with all the product descriptions.
  • Preview: It is used to toggle the component package preview and description on the right hand side.

Many a times you know the IC number but are unable to find the component because the libraries have company prefix or suffix with the IC number (e.g. UA741, LM741, LM741C). This is when you can use wildcards. You can order a search query of the type “**358” (exclude the quotation marks of course), which means it will show all the results having any two letters to replace the asterisk and ending with 358, and “**358**” and so on.

Choose your package

Once you have found you component you will have to select the right package for your job. Package is how the device is physically available for your use. For example, an LED is available in 3mm, 5mm and 10mm sizes. An IC can be available in DIP, SMD, BGA, TQFP packages.

You have to select the right package to suit your needs. For instance, if you plan on hand soldering your components on your board, you would prefer bigger and through hole components rather than in small and surface mount forms. The component preview and the package will be shown in the description on the right hand side.

The packages of the components which we are going to use are:

  • IR LED (5mm)
  • Photodiode (5mm)
  • Resistors 1/4Watt (0207)
  • Potentiometer (CA6V)
  • Male Header (MA03-1)
  • LM358 (Dual Inline Package or DIP)

If you do not have your required component package listed, or if the component is itself missing, you can create your own from the mechanical description in the data sheet of your component. There will be a separate tutorial for creation of your own component or package.

Step 2 – Arrange and Name your Components

Arrange the components as shown in the image below by using the move and rotate tool.

Arranged Components

Arranged Components

Tip: While using the move tool if you right click on a component you can simultaneously rotate the component.

Now use the value tool to enter the values to the components. For example, enter the value 330E (330Ω) to R1 resistor and so on. You can also use the name tool to change the name of components. Below is an image showing the components with their names and values changed.

Components with updated name and value

Components with updated name and value

Step 3 – Make Connections

To connect the components we are going to use the net tool (not the wire tool). Before making any connections, every schematic must have a voltage supply and ground. So add Vcc and GND from the library.

Vcc and GND added to the schematic

Vcc and GND added to the schematic

The above image shows the schematic with voltage supply (Vcc) and ground (GND) connections. You can have a single Vcc and ground symbol to connect to all the components but it will create too many crossover connections and make the schematic look cluttered. So we can use the copy tool or use the add tool to place Vcc and ground for each circuit block. For instance, create separate Vcc/GND pairs for the IR LED and photodiode, op-amp and potentiometer, and for the male headers.

Note: The EAGLE schematic editor virtually connects all the VCCs together and the GNDs together. This is known as virtual connection.

Now complete the connections using the net tool to get the schematic as shown below. Be sure to save your work often. You can also turn on the autosave feature from options.

Final Schematic

Final Schematic

Step 4 – Check your Circuit

Now check your circuit by running the Electrical Rule Check tool.

ERC Check

ERC Check

You can see the ERC Errors window on the bottom right. The circuit we designed has encountered two warnings. You can click on the problem and the software will point out the problem area as shown in the image above. The warning states that we have connected the V+ pin of the op-amp to Vcc and V- to the GND. Since we are using the op-amp in single supply mode we can approve both the warnings and save our schematic.

Step 5 – Export your Schematic (Optional)

To export your schematic as an image you can go to File > Export > Image and save your schematic as an image. This step is optional since EAGLE uses your .sch schematic file to link to your board layout and not your exported image. The exported image is for your reference only.

Now that we have designed our circuit, it’s a good time to summarize what we have learned till now.


We learned how to create new project and add schematics to it. We discussed about the various sections of the schematic workspace and the various icons available in the tool bar. Then we proceeded with actually drawing the schematics of an IR sensor circuit. We learned how to select and add components to the schematic, arrange, name and connect them. Then we performed an ERC check of our circuit and exported our schematic as an image.

This was all about the basics of using the EAGLE’s Schematic Editor. There is no limit on the type and complexity of the circuit you can design (well actually there is, but let’s not worry about it at this point). We’ll publish subsequent tutorials shortly. Be sure to subscribe via email and stay updated! Thank you for reading, you’re awesome! :)

Happy Drawing! :)

Written by Soumil Heble


  1. thanks a lot for this very easy and useful posts.
    i am learning about avr micro controller coding.
    i am very beginner but your website helps me like a silent teacher. i think day by day i will be able to program avr with your help.

    • Thanks Banna, good luck with that! Keep us posted! :)

    • tumi bengali jano ?>

  2. Excellent and detailed tutorial. I will be able to use some of this knowledge in my next PCB design! Thanks

    • Good luck! :)

  3. what if I want several vcc source? how to create my own virtual connection set? Thanks

  4. Hi! Thanks for the concise tutorial. Any idea when the tutorial on creation of your own component or package will be uploaded?


  1. PCB Design using EAGLE - Part 1: Introduction to EAGLE and Software Environment - maxEmbedded - […] Designing schematics using the EAGLE Schematic Editor […]
  2. PCB Design using EAGLE – Part 3: Using the EAGLE Layout Editor - maxEmbedded - […] far in our EAGLE tutorial series we discussed about the software environment and the schematic editor. Next in line…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: