PCB Design using EAGLE – Part 1: Introduction to EAGLE and Software Environment
Have you ever come across a situation where you prototyped a project on a solderless breadboard and liked it so much that you want it on a PCB? Well, read on!
So far we have been writing software programs, building binaries out of them and executing them on microcontrollers. It’s time to get physical now! This post, and a couple of upcoming posts will deal with this very thing – how to realize your project in hardware. We’ll deal with PCBs, and also learn how to design and fabricate them.
Introduction to PCB Design
If you are an electronics hobbyist you might have probably designed many electronic circuits and even prototyped them on a breadboard. Now it’s time to step up to the next level. Let’s design the same on a PCB. This article and a couple more of them will be addressing the topic of PCB designing.
There are many types of circuits that you can design on a PCB – like analog, digital, RF – and the PCB layout may make-or-break the performance and working of the circuit. Your circuit may work as a prototype on a breadboard, but it might not work on a PCB. PCB designing is an art. While it may come naturally to some, it can be daunting even for experienced circuit designers. And this is why many companies hire PCB experts! You can find PCBs everywhere, all around you – inside computers, phones, power supply, watches, thermostats, cameras, automobiles, traffic lights, microwave oven, refrigerator – and they are increasing – which means PCB designers are in demand now, and will remain so for a while!
As a matter of fact, PCB designing is a creative and individual learning process. We can only teach the basics, but the technique will mature once you start working on more and more projects. To become an expert in PCB design, it takes a great deal of talent and knowledge to place components as close as possible without compromising the performance of the circuit.
The Early Days
In early days, before the PCB CAD systems even existed, the designers had to manually layout pads, tracks, etc. They also used techniques such as wire-wrap and point to point method for production. These methods needed a lot of patience and time. And if an error occurred, it used to take forever to debug.
With the advent of CAD software for PCB designing, those days are gone. Rejoice! These CAD software have simplified the design process beyond any imaginable level. The work which used to take hours previously can now be done in seconds! This has also brought the PCB design process to hobbyists which was earlier limited to professionals. We can now design and fabricate our own PCBs at home.
The Design Process
A Printed Circuit Board or PCB is thing which holds your entire project hardware together! It links and connects various electronic components together on a common physical platform. PCB design is a key process in the electronics industry because this process actually broadcasts the craftsmanship to production. One can call this process in technical terms as designing of tracks & pads, realizing the PCB and fabrication of various electronic components on the board.
Although PCB fabrication is a costlier process, but due to mass production through automated process, the overall cost of the product decreases. The major advantage, apart from the cost of fabrication and reduced complexity, is the final product is professional, well finished and the performance of the system increases.
There are industry standards for almost every aspect of PCB design which are set and controlled by IPC (formerly known as Institute for Interconnecting and Packaging Electronic Circuits). There is a standard for everything from designing to manufacturing to testing and to anything else you would need. Many countries also have their own local standards for PCB design, but the ones by IPC are accepted as industry standard around the world.
There are many CAD packages available for free as well as for a premium such as Cadsoft EAGLE, Altium Designer, NI Ultiboard, ExpressPCB, Mentor Graphics PADS, etc. In the upcoming tutorials, we are going to discuss and learn how to use Cadsoft EAGLE PCB CAD package. We prefer it because it has a clean and easy to understand interface, the right tools and a large component library. In fact, it is ideal for both professionals and hobbyists. We are going to design the PCB layout for an IR proximity sensor circuit.
Introduction to EAGLE
EAGLE, an acronym for Easily Applicable Graphical Layout Editor, is a design software by Cadsoft Computers. It is widely used by educationalists, students, hobbyists and professionals because of its rich yet simple interface with large component library cross-platform support on Windows, Mac and Linux too! Since windows is the widely used OS, the inclination of this tutorial will be towards EAGLE on a Windows computer, but don’t worry there is almost no difference on a Mac or Linux. PCB designing is like maturing wine, the more you practice the better you will be at designing professional level PCBs.
PCB designing using EAGLE requires the learning of a lot of processes hence this tutorial is divided into 4 parts:
- Introduction to EAGLE and the Software Environment
- Designing schematics using the EAGLE Schematic Editor
- Designing layouts using Board Layout Designer (using auto-router, for professional version)
- Designing your own components and custom library
The light and freeware versions lack some features but they are equipped enough to handle small scale projects. You can get your free copy of eagle at http://www.cadsoftusa.com/download-eagle/
First Taste of EAGLE CAD
The first thing you see when you execute the EAGLE Software is the Control Panel. The Control Panel is like the root of every EAGLE operation be it schematic, library or board layout.
The control panel consists of the menu bar and the context menu, which is the tree list view of the files on the left namely libraries, design rules, ULP’s (User Language Programs), scripts, CAM jobs and projects. On the right you will get details about your EAGLE version or description about what you have selected. At the bottom you will find the directory of the selected file.
Below is the basic description of each of the list, more detailed explanation will be given when it required in the future parts:
|Name||Description||Default Directory||File Extension|
|Libraries||Shows all library files in directory||Installation Directory (lbr folder)||.lbr|
|Design Rules||Shows all design rule files in directory||Installation Directory (dru folder)||.dru|
|User Language Programs (ULP)||Shows all ULP files in directory||Installation Directory (ulp folder)||.ulp|
|Scripts||Shows all script files in directory||Installation Directory (scr folder)||.scr|
|CAM Jobs||Shows all CAM files in directory||Installation Directory (cam folder)||.cam|
The Menu Bar
Only the items necessary at the present time are explained/mentioned.
File – New, Open, Open recent projects, save all, Close Project and Exit
View – Refresh and Sort
Options – Directories, Backup, User Interface and Window positions
Directories: Allows to change the currently set directory for files, libraries, etc.
*EAGLE Auto Backup: EAGLE has an auto backup feature which by default updates files at a 5 minutes interval (from the last modification)
Backup: Allows you to change the auto backup features
User Interface: Allows user to edit GUI of the software like cursor size, text, background colour, etc.
Window Positions: Allows you to reset the windows arrangement in the software
Window – Control Panel
Help – General, Context, Control Panel, EAGLE License, Check for update and About EAGLE
The Context Menu
When you right click on any item in the control panel you will get a dropdown list with the any/all of the following options: New Folder, Edit Description, Rename, Copy, Use, Use all, Use none, New, Open and Open/Close Project. Most of the meanings of what these options do are implicit. The ones to which you are new are explained below:
Edit Description: Allows you to edit the description of the selected item using HTML editor, with live preview. A sample Image is shown below.
Use/Use all/Use none: When you open the schematic editor or board layout you have access to the libraries, scripts, and cam jobs, but only those files are shown which have the ‘use’ option enabled. For example, if you only need some libraries to be shown in your schematic library, you first right click on the libraries list and select “use none”, then you open the libraries list, right click and click “use” corresponding to only those files which you need in you schematic library and similarly for other files. The “use” option is like enable/disable libraries.
The Projects List
At this stage, the projects list is the one which requires most attention. The projects list will be the one in which all your designs (called projects) will be stored. The project files directory by default is “My Documents > eagle” in Windows. When you open the projects list you will see a folder called “eagle” where all your projects will be listed. When you right click on the “eagle” folder you will get options as New Folder, New Project, etc. A project in eagle usually consists of schematic and board file, but it may also consist of dedicated libraries, scripts, ULPs and other files.
New Folder: Creates a new folder below the selected folder and puts the newly created tree item into Rename mode. Folders are to be used when you are working on big projects which consist of more than one PCBs or if you like organizing your stuff.
New Project: Creates a new project folder and puts the newly created tree item into rename mode.
Open/Close Project: When you create a new project you will see a green dot which indicates that the current project is active. If the project is completed you can close the project by right click and click on close project (or just double-click). If you want to open the project again you can do so by the same way and only one project can be open at a time others will automatically close.
That’s all for now folks! In part 2 of this tutorial, we’ll learn how to use EAGLE’s schematic editor. If you have any questions or suggestions, please drop in your comment below. We’ll be glad and encouraged to hear from you! :)
Meanwhile, don’t forget to subscribe to maxEmbedded to stay tuned! See you around soon!
Written by Soumil Heble and Prashant Agarwal