Skill level:     Beginner
 

Beginning Embedded Electronics - 8

by Nate  |  
June 19, 2008  |  

Lecture 8 - Eagle: Schematics

Welcome to the wonderful world of PCB creation! We've used a few software packages over the years (namely Protel DXP) and have found Eagle Layout Editor from CadSoft to be very easy to use, very cost effective, and very powerful.

Eagle is free! There are some limitations in place, but basic students and non-profit groups can use it. Protel is currently about $12,000 a seat.

Eagle is not the 'hobbyists' tool you may think it is. I've seen some very complex 8-layer BGA boards going into a firewall/router consumer product. I too was amazed to hear it was created in Eagle. It can be done, you just need to dream up the device!

There are a few files that you will need to download for this workshop.

  1. Download Eagle itself. Currently we use v4.16 (~8MB). Versions are available for Windows, Linux, and Mac. If the above link does not work, google ’eagle pcb download’ to get the latest version.

  2. Download the SparkFun Eagle Library. This is the collection of all the components SparkFun designs with and therefore components and footprints that have been tested. Unzip and place the SparkFun.lbr file into the Eagle\lbr directory. If the above link does not work, google ‘sparkfun eagle library’ to get the latest collection. 

  3. Download the SparkFun Eagle keyboard shortcuts. Place this file in the Eagle\scr directory. If the above link does not work, google ’sparkfun eagle shortcut’.

  4. Download the SparkFun CAM file. Place this file in the Eagle\cam directory. This file is responsible for creating the gerber files for submission to a PCB fab house.

Note: The SparkFun Eagle shortcut key script file has an .scr extension. This is a common virus infiltration method. If you choose to download our keyboard shortcuts, and you don't trust us, rename the file to a .txt extension and view it in a text viewer. There's nothing there but text and Eagle commands. Just be sure to rename the file to the .scr extension so that Eagle will use it.

To learn how to use Eagle, we are going to create a simple breakout board for a popular USB IC. The FT232RL is a USB to TTL serial converter.

http://www.sparkfun.com/images/tutorials/BeginningEmbedded/9-EaglePCBs/EP-34.jpg

What is a USB to TTL converter?

Once the FT232RL is attached to the USB port on your computer, you will need to install some simple drivers (available for Windows, Linux, Mac), and then you will see a Virtual Com Port (VCP) appear on your computer. You can then use hyperterminal to open this new com port number. Any letters that are typed in hyperterminal are converted to a USB packet in the background, sent down the USB cable to the FT232RL where it reconstructs the serial information and passes these letters out the TX pin on the IC at whatever baud rate you choose. If you have a device connected to this TX pin, it will hear the serial letter and react. This will effectively give your device USB connectivity and you won't need to know a thing about how USB actually works!

This IC is very popular, but only comes in surface mount device (SMD) packages (sound familiar?). So let's spin a simple PCB that will allow us to use this handy IC.

When in doubt, follow the manufacturer's recommended circuit. This 'typical' application is just what we need.

This is a bare-minimum feature setup for the FT232R. Just what we need for simple TX/RX to USB. We want to plug the FT232RL on to the USB port, have it bus powered, and possibly power the rest of our circuit. Our ATmega8 uses 5V so we'll tie VCCIO to the USB 5V. A USB connector, a couple 0.1uF caps, a bigger tantalum cap, a ferrite bead, this doesn't look so bad!

Before we can get started, we need to create or locate a library part for the FT232RL. I really don't like using other people's footprints and schematic parts but in this case, FTDI has created some free libraries for their parts. This page should have the Eagle library (search the page for FT232RL) but if not, google 'ft232rl eagle footprint'. We also have this part proven in the SparkFun.lbr library. Use their library, use ours, create your own, it doesn't matter. But because we are most comfortable with our own parts (we know they work!) we will be using the SparkFun.lbr file for this tutorial.

Now let's add the FT232RL part to our schematic. Close the library editor and go back to the Eagle Control Panel. Click on File->New->Project. Name this new project 'FT232-Breakout'. Right click on the FT232-Breakout project and create a new Schematic:

The schematic editor should open. Now go back to the Eagle Control Panel and expand the SparkFun Library:

You should see a long list of parts. Highlight the FT232RL-Basic part and in the right screen click on ADD. The schematic editor will pop up allowing you to place the FT232RL.

Now save your schematic!

I like to use a board name and a version number within the file name. -v10, -v11, v12, etc as 1.0, 1.1, and 1.2 advance through layout changes.

Now add these other items to your schematic:

  • 1 x FRAME-LETTER : This will add a nice frame to your schematic. Add all parts inside this frame.

  • 3 x CAP (Device name CAP0603) : 0.1uF/0.01uF 0603 capacitors

  • 1 x CAP_POL (Device name CAP_POL1206) : 10uF tantalum capacitor

  • 1 x INDUCTOR (Device name INDUCTOR0603) : Ferrite bead

  • 4 x STAND-OFF( Device name STAND-OFF): This part will add a hole and a keepout ring for a #4-40 screw. These can be used to raise your board up off a surface or to mount your board to an enclosure.

  • USB (Device name USBPTH) : USB Type B through-hole connector

  • M04 (Device name M04PTH) : Four pin 0.1" connector

  • GND (Device name GND) : Ground connections

  • VCC (Device name VCC) : Power connections

Parts added to the schematic

You can click on the button you need on the menu on the left side of the screen. You can also hover over each button and its name will pop up. This works great for beginners but as you advance, you'll want to speed up layout by using keyboard shortcuts. Here are some of the basic quick keys:

  • Press escape at any time to stop the current action and return to the schematic window

  • F7 to move a part

  • Alt+F7 to group a bunch together

  • F3 to delete a part

  • F4 to rename a part (change C7 to C2)

  • F5 to re-value a part (change 0.1uF to 10uF, etc)

  • F6 to smash a part (be able to move the name and value tags)

  • F9 to start a wire

  • Alt+F9 to add a label to a wire

NEVER change the grid size in the schematic editor. Leave it on 0.1inch steps and don't use the alternate 0.01 step. If you do, you won't be able to hook wires to the pin tie points.

Now we just need to begin wiring nets. Arrange the pieces so that there is as little net overlaps as possible.

Primordial FT232RL breakout

To wire a pin (TXD) to a far point (the 4-pin connector for example), instead of sending a wire half way across the page, we use net names. The green wire is not physically seen on the schematic, but Eagle knows to connect the two points on the layout because the two green wires have the same name.

Press F9 and click on pin 1 (TXD). Bring out the net a couple square widths and left click again to end the net. Press Alt+F9 to name the net. Click on the wire you just created. You should see a net name (like N$5) appear and be floating. Anchor it to the wire and TX pin:

To change the name on the N$5 wire, press F4 (Name command) and click on N$5. A window will appear - type 'TX' and press return. The TX pin should be correctly labeled and we have a few of the schematic connections.

To rename a device (change U$1 to U1), press F4 and then click on the device you want to rename. This also works to rename a net.

To change the value of a component (0.1uF to 10uF) press F5 and click on the device you want to change the value of. To move a device, press F7 (move command) and click on the device you wish to move. Now with a little renaming and rearranging the various components:

We've thrown a 4-pin connector into the schematic and used a very stripped down schematic symbol for the FT232R. For the purposes of this tutorial, we really only care about VCC/GND/TX/RX - the bare minimum. If you need access to more of the pins, use the more complete FT232R symbol and break them out!

Use the mirror command and rename the 4-pin connector (press F4 to rename a device):

Eagle files / PDF

I probably could have wired JP1 directly to the various pins but I wanted to demonstrate the net/name properties. This will also make it easier to label the pins on the PCB. Speaking of which, if you have not already, click on the 'Board' button to open the PCB editor:

All right! We've got the components onto a board and most of the nets connected, time for PCB layout!

How to copy and paste in Eagle Schematic:

This is perhaps the most counter intuitive part of Eagle. As with any new technical software, it's like learning a new language. Once you know the intricacies, you'll love it.

To copy one thing within a schematic is reasonably simple. Click on the 'Copy' button, then click on the thing you want to copy and that thing (component, wire, net name) will be duplicated and floating under your cursor. Drop it wherever you want it.

To copy a group of stuff within a schematic is completely wacky. First click on the group command:

You are going to create a frame around the stuff you want to group together. Left click and hold on one corner. Drag to the opposite corner. Now release the mouse button. The items that are part of the group should now be highlighted like this:

Now click on the Cut button. I know you don't want to delete these items - this is just how it works. Click on cut, move your mouse cursor to the middle of the group, and left click. Nothing happened right? That's okay. The group of items has been copied to the buffer. Now click on the paste button:

You should now have a copy of the group of items floating around. Drop these items wherever you need them in the schematic, or hit escape to return to the schematic window. I know, very odd but this type of group/modify steps comes in very handy over time.

We love feedback! Please report typos, comments, or recommendations to spark@sparkfun.com.

Lecture 1 - Background and Power Supply

Lecture 2 - How to Get Code Onto a Microcontroller

Lecture 3 - What is an oscillator?

Lecture 4 - UART and Serial Communication

Lecture 5 - AVR GCC Compiling

Lecture 6 - Soldering Basics

Lecture 7 - SMD Soldering

Lecture 8 - Eagle: Schematics

Lecture 9 - Eagle: PCB Layout

Lecture 10 - Eagle: Creating a new part

Common Mistakes, Tips and Tricks

Back to Tutorials

 

Comments

10 comments


Log in to post comments.

by
salman's rank:
+1.5
|   November 14, 2008 at 3:49 PM
Comment rating:
+0.15
What about a parts list particularly what type of connector. There are so many at digikey.
by
Curtis's rank:
+2.9
|   December  9, 2008 at 12:00 AM
Comment rating:
+0.15
I agree, a parts list would be helpful.
by
k4ud's rank:
+2.5
|   January 19, 2009 at 5:02 PM
Comment rating:
0
Are the Eagle tutorials available in PDF format? I find it difficult trying to bounce back and forth between the tutorial and the EagleCAD software. It would be nice if I could print out a copy of the tutorial and leave the Eagle software on the screen without having to change software focus.

Tnx and great work. I have a project in mind and would like to use ur tutorials to begin my learning process.

Rob K4UD
hozerking's rank:
+1.2
|   October 19, 2009 at 1:22 PM
Comment rating:
0
If you install a pdf printer, you can convert anything you could otherwise print to pdf. Here is a good one: http://www.cutepdf.com/products/cutepdf/Writer.asp

I use it as a default printer and only after I have verified that everything looks as intended to I send it to the physical printer. I find that I actually wastes less time this way, cause I'm not waiting for the wrong printout to print. It saves ink/toner and paper as well.
BoardHacker's rank:
+1.2
|   February 22, 2009 at 10:32 PM
Comment rating:
0
Great job as always! Thanks for the Eagle basics.
tikka308's rank:
+1.4
|   April 15, 2009 at 2:13 PM
Comment rating:
0
Having a tough time following the section where the tutorial tells you to "add these parts." I cannot locate the #3 x CAP (Device name CAP0603) : 0.1uF/0.01uF 0603 capacitors, 1 x CAP_POL (Device name CAP_POL1206) : 10uF tantalum capacitor, 1 x INDUCTOR (Device name INDUCTOR0603) : Ferrite bead or the USB ((Device name USBPTH) : USB Type B through-hole connector).

Any advice?
tikka308's rank:
+1.4
|   April 15, 2009 at 2:14 PM
Comment rating:
0
(Clarification: I'm using Eagle Light version 5.5.0) as freeware.
AHankTCD's rank:
+1.5
|   September  4, 2009 at 2:30 PM
Comment rating:
0
I was looking into moving items around and found this note which seems to work better than the instructions above.

"When you want to move them to a new location press F7 and then use the Right mouse button to drag them to a new location. Usually left mouse button is used for individual objects and right mouse button for groups."
--http://www.smishra.com/notes/eagleCAD_Tips.html

P.S. THANK YOU for this tutorial! It really got me off to a great start! I'm 21, been doing electronics forever and am about to do my Senior Design project. Thanks a bunch!
by
Tom's rank:
+1.2
|   October 29, 2009 at 4:41 PM
Comment rating:
0
Great tutorial, just making my way through it again with Eagle :)
Just noticed that on opencircuits it states that the library file can be used for commercial purposes but when using it in Eagle it states in bold text that it is not to be used for commercial purposes?
stickman76's rank:
+1.2
|   November 13, 2009 at 8:56 AM
Comment rating:
0
Having a tough time following the section where the tutorial tells you to "add these parts." I cannot locate the #3 x CAP (Device name CAP0603) : 0.1uF/0.01uF 0603 capacitors, 1 x CAP_POL (Device name CAP_POL1206) : 10uF tantalum capacitor, 1 x INDUCTOR (Device name INDUCTOR0603) : Ferrite bead or the USB ((Device name USBPTH) : USB Type B through-hole connector).

Any advice?

Feedback

What's on your mind?

Please include your email address if you'd like us to respond to a specific question.

submit


If you would like to tell us more, you can fill out our form if you need some psycho-suggestive questions. Go to the form.