Sie sind auf Seite 1von 23

AARONEICHE.COM (HTTP://AARONEICHE.

COM/)
prev (http://aaroneiche.com/2010/05/17/myveryfirstpcb/)

A Beginners guide to making an Arduino Shield PCB - 06-24-2010

next (http://aaro firstprintedplasticpart/)

(h

ttp://aaroneiche.com/files/2010/06/arduino-tutorial.png)(This tutorial has gotten really popular recently, and Im very pleased that so many people are interested. I learned all of this stuff while working on my first PCB (http://aaroneiche.com/2010/05/17/my-very-first-pcb/). If youre interested, Ive started to sell the most recent version of my Arduino ProtoShield. (http://aaroneiche.com/buy-cool-stuff/) If youre making a shield, have fun and good luck!. If not, I hope you find something useful here -Aaron) So youre pretty fond of your Arduino. You make blinking lights, and beeping noises. Youve made a robot that was pretty cool. Or maybe you didnt. Who cares, Youre ready for the next step. You want to extend it. Although you can just plug in wires, theres something very appealing about making a shield. Instead of a rats-nest of wires piled about and plugged into your prototyping breadboard, you can have a nice clean shield with labeled connections and a smaller footprint. So here Im going to tell you everything you need to know to make a schematic and PCB layout, and get a beautiful shield that will plug into the top of your Arduino.

Specifics about this tutorial:


There are a couple of things you should know going into this. First, Im not going to teach you everything about EAGLE. EAGLE is a complex program, and its pretty awesome. Theres no way I could cover it all. Second, this tutorial came about as a way of trying to get more people into my local PCB order. We try to fill up our panels so we can get one out every 2-4 weeks, and we recently had to switch production houses. As a result, this tutorial doesnt have any info on etching your own PCB, just on getting the Gerber files out. So come check out our PCB order (http://www.dorkbotpdx.org/wiki/pcb_order), because its awesome. Lastly, for the sake of simplification, were going to make a board that uses only parts in the SparkFun Library. This is because I dont want to try to teach you how to make parts on top of everything else were going to be doing. Itll just be easier this way, I promise. Okay, one more thing: I assume you know how to use your computer. This isnt going to be a how to use your mouse tutorial. Im gonna go with some things that are EAGLE specific, but you need to know basics. At this point, Id be surprised to find someone whos unfamiliar with computing, but has a strong enough interest in electronics to be to the point of designing their own PCB.

Things you will need:


Youre gonna need these things before you get started. An idea for your shield I cant help you with this one. A copy of CadSofts EAGLE (http://www.cadsoftusa.com/download.htm) program for laying out your PCB A copy of the SparkFun EAGLE library (http://www.opencircuits.com/SFE_Footprint_Library_Eagle) for the components. Your preferred Fab houses Design Rules Our PCB order rules are here (http://content.laen.org/pcb/LaenPCBOrder.dru). An EAGLE CAM job for separating out Gerber files. Heres ours (http://content.laen.org/pcb/LaenPCBOrder.cam).

After you download and install EAGLE, download and extract the Sparkfun library. You should get a file called Sparkfun.lbr. This is an Eagle Library made by SparkFun Electronics (http://sparkfun.com). I like this library because it has a wide variety of components and reliable footprints. (Footprints are the measurements for parts that end up on your printed circuit board, and it is absolutely crucial that theyre correct.) One advantage of the SparkFun library is that everything in it licensed under the Creative Commons 3.0 Share-alike license. This means you can use it commercially, so long as you share any adaptations your create. Another library I highly recommend (but is not necessary for this tutorial) is Adafruit Industrys (http://www.adafruit.com/blog/2010/02/05/b00m-adafruit-eagle-library-an-arduino-package/) Eagle Library. Once you have the Sparkfun.lbr, copy it into the lbr directory in the directory EAGLE is installed in.

(http://aaroneiche.com/files/2010/06/sparkfun-library-eagle.png)

Lets Make a Schematic:


I told you I couldnt help you with your shield idea. Thats not entirely true. Since talking in the abstract all day is a pain the neck, were going to make a simple shield that does a few simple things. Our shield is going to light up lights, and connect to sensors. First thing we need to do is make a new project. Open up EAGLE from wherever you installed it, and you should get a window that looks a little like this:

(http://aaroneiche.com/files/2010/06/eagle-new-project.png) Click on the File menu, hover over new, and when the sub-menu pops up, choose project You now should have a new project folder under the projects heading in the control panel window. Go ahead and give it a name I chose New Arduino Shield, but you can do whatever you want. There wont be anything in the project right now, so lets add something. Select your new project folder, and then click on the file menu, go to new and choose schematic. Youll get a window that looks like this:

(http://aaroneiche.com/files/2010/06/eagle-schematic-window.png)

Your schematic is the blueprint for your circuit. It describes what is connected to what, and how. It does not describe what the PCB will look like. Dont worry too much about how your schematic goes together. The important parts are to make sure the schematic layout is simple, and readable. We need to get some parts in there. Namely, were going to want some terminal blocks, some LEDs and some resistors. First though, lets add the Arduino pins themselves. Youll want to select the Add a Part Button on the left hand side of the window. It looks a little like a plug with a pointer on it. Its this one:

That will bring up a dialog called ADD. On the left-hand side of this window is a list of all the libraries that EAGLE has access to. The right-hand side shows information about the item in the left-hand side. Youll want to find the SparkFun item in the list. (As a side note, this list isnt quite presented in alphabetical order. The methodology here puts all capital letters ahead of the lower-case ones. The list goes from A-Z, then from a-z.) Choose the SparkFun item, and click on the plus sign to expand it. If you dont see any items in the left-hand side, go to the library menu and click on use. This will bring up a list of EAGLE libraries, and you can select the Sparkfun library.

(http://aaroneiche.com/files/2010/06/arduino-add.png) Scroll down until you find the item called ARDUINO_SHIELD and expand it. In here youll find a few different versions of the Arduino layout. Schematically, theyre all the same, but on the PCB side (in EAGLE parlance, this is called the device) there are a few different variations. You can click through the different shield options to see what the device footprint looks like. I prefer the ARDUINO_SHIELDNO_SLK, because I can worry about making my own board shape rather than relying on the Arduino shape. Once you click Ok the dialog will disappear and your pointer will have a schematic circuit attach to it (in EAGLEs language, this is called the Package). Figure out a place to put it down and click your left mouse button. EAGLE will set down the package. Youll still have a copy attached to your pointer, so hit ESC on your keyboard a couple of times to get to your window again. You should now have something that looks a little like this:

(http://aaroneiche.com/files/2010/06/arduino-schematic.png) Click on the add a part button again, and this time, go hunting for a resistor. There is a sub-heading called RESISTOR. Under it, the most appropriate part is called RESISTORPTH1. When you click on it, the schematic package and the device footprint will be shown.

(http://aaroneiche.com/files/2010/06/axial-resistor.png) Click okay, and put down 6 of these guys. Were going to put our LEDs on the PWM pins in the Arduino so we can control brightness (Note: You can actually pull off PWM on any pin on the Arduino, but it has to be done in software. Were gonna ignore that for the moment.) Lay down the resistors just a little bit away from the Arduino package,

(http://aaroneiche.com/files/2010/06/schematic-resistors.png) With the Resistors down, lets put down some LEDs now. Click on the Add a Part button again and find the LED heading. In there, select the LED5MM Package, and click okay. Now you want to lay these out. Its important that we put them the right direction. You can remember which side is which with a simple mnemonic device: A is for Anode. That is, the end of the LED with the arrow is the Anode. Another easy thing to remember is that the side with the line, is the Cathode. That line (|) turns sideways and becomes a negative symbol (-) or ground. You should now have a schematic that looks something like this:

(http://aaroneiche.com/files/2010/06/schematic-LEDs.png) Now, for our shield we also want to throw in a way to easily connect some inputs, namely sensors. The easiest way (In my opinion) to do this non-permanently is to implement a terminal block. Terminal blocks are those things you can screw, clip, or lock wires into place. The connectors are conductive so pushing the wire in makes it part of the circuit. Were going to add one terminal for each of the Analog inputs. Terminals come in blocks, and were going to use 3-point terminal blocks. Most often these come in 3.5mm pitch (3.5mm between the posts). Once again, click on the Add A Part button, and head on down to the Ms Youll find under the M03 heading a series of parts that are 3-point connectors. We want the M03SCREW (Alternatively, if you want you can use the M03SCREW_LOCK This is the same part, but the holes are just a tad wide apart. They make the part stay in place more easily when you flip the board to solder the pins.) As we have 6 analog pins, were going to put a pair of them on the schematic.

(http://aaroneiche.com/files/2010/06/schematic-terminals.png) For the convenience, were going to throw in a power terminal. This will just give us screw access to the 5v line and the Gnd. A 2-point terminal block is a lot like the 3-point one we just added. Its listed under the M02 heading in the SparkFun library, called M023.5MM. Youre an old-pro at this by now. Stick it in, and you should have something like this:

(http://aaroneiche.com/files/2010/06/schematic-Terminal-2.png) Okay, we finally have all the parts we want. Lets wire up this thing! You would think that you want to use the wire tool to draw connections between components. You do not. You want to use the Net button. The net button is a little tidier than the wire button, does things right, and makes everything better. The Net tool button looks like this:

Select it. (Even though it looks like it, its not grayed out. Also, dont confuse it with the button immediately next to it called Bus) We want to draw lines between the PWM pins on the Arduino to the resistors. The PWM pins are marked by a small asterisk (*) on the chip. They are D3, D5, D6, D9, D10, and D11. When you click on the wire, it starts another segment. Start at the pin on the Arduino, and click. You should now be dragging a line. Click again to create another segment. When youve gotten to where you want to end, hit Esc, or Triple click. This will stop the line. Do this for all 6 PWN pins and you should have something like this:

(http://aaroneiche.com/files/2010/06/schmatic-wire-1.png) Now attach each resistor to its associated LED. You should now now have this:

(http://aaroneiche.com/files/2010/06/schematic-wire-2.png) Now lets attach the terminal blocks. Everything should go in order, except for the power block. Because of the way the pins are setup on the device, we want to pull the bottom most ground pin from the Arduino and the 5v line. When youre done, you should have something that looks like this:

(http://aaroneiche.com/files/2010/06/schematic-wired-all.png) Were almost finished. We just need to complete our circuit to make everything work right. To do this, we need to run a ground line over to the LEDs. Grab the wire tool again and draw a line from the top GND line on the Arduino and carry it around to the side with the LEDs. Why the top GND line? Well, the way that the schematic translates to the board later, puts one of the GND pins on the side with the digital pins, while the other two are on the side with the analog pins. So this is for convenience.

(http://aaroneiche.com/files/2010/06/ground-line-sch.png) Now connect each LED to the ground line.

(http://aaroneiche.com/files/2010/06/schematic-final.png) Thats it! Were done with the Schematic and we can move onto producing the PCB. Be sure at this point (if you havent already) to save your schematic. You never know when something will go wrong and take away all your hard work. You may want to try laying out the whole thing over again, just for the sake of doing it. Going through the process a few times will really help you get a feeling for EAGLEs quirks and the processes in it.

Making the Board:


Now the fun part! I call this the fun part because I enjoy the process of figuring out how to put together the circuit in a way that makes sense. With an Arduino Shield, there are a couple of things already solved for you: 1) You dont really have to worry about Orientation, the shield is only going to plug in one way. 2) A lot of your layout is already fixed (This can be a mixed blessing though.) At the top of the window, youre going to see a button that has two things on it. The button is called the board button (in the schematic window) It has a symbol on it that looks like a plug (actually, it looks like a AND gate, but if youre not familiar with electronics schematics at that level, itll probably look like a two-pronged plug) The other symbol looks like a 6-pin IC. The button looks like this:

When you click on it, you will probably get a warning that looks like this:

Click yes and it will open up a window like this:

(http://aaroneiche.com/files/2010/06/board1.png) We need to move all of those parts into that white square. Click on the group tool (this is the dotted square)

And click and drag around all the parts.

(http://aaroneiche.com/files/2010/06/board-select.png) This should highlight all the parts. Now you need to click on the move button. Its the one that looks like a cross with arrows on each end:

(http://aaroneiche.com/files/2010/06/move.png) And right click on one of the parts. This will bring up a long list of items.

Click on move group should attach the whole group of components to your pointer. You want to move all of these things inside the white box. When youve done that, you should something something like this:

(http://aaroneiche.com/files/2010/06/moved-components.png) Before we continue, were going to turn on the grid. You dont have to do this if you dont want to, but when you get to more complex boards, youre going to really want to use the grid. It is absolutely crucial in PCB design. To begin, click on the Grid button in the upper left hand corner:

This will bring up a dialog. Youre welcome to set it to whatever you like and you might want to mess around with it to get a feeling for what it can do. I like to work in 0.1 inches as its the most common header in the US. Additionally, theres an Alt setting which produces a secondary grid you can work with. I usually set it to 1mm because thats a common measurement as well.

Once you click okay, youll get a space that looks like this:

(http://aaroneiche.com/files/2010/06/grid-on-display.png) If you dont like the size of the grid, you can certainly change it. Im going to turn off my grid because it can be a bit distracting. This doesnt mean that the grid is actually gone, just that its not displayed. When I get to positioning the components, it can be useful to have. Do whatever works best for you. When Im making an Arduino shield, I prefer to have it oriented the same way as the Arduino itself. That is, the top is viewed either as the side with the USB connector, or the side with the digital pins. For whatever reason, when SparkFun put together their Arduino component in EAGLE, they make the component default to a position with the digital pins on the left-hand side. In order to make it easier to work with, I rotate the whole thing. EAGLE makes this easy because whether its up or down, the names and values remain upright and readable. At this point, Id tell you to use the rotate tool, but for whatever reason, I cant get it to work properly here. The method I use to rotate components is to choose the move tool, click on the component, and then right click. As you right-click, the component youre using will rotate counter-clockwise. So now you should have something that looks like this:

(http://aaroneiche.com/files/2010/06/Arduino-rotated.png) Now youre going to want to begin placing components. This is largely up to you, and Im not going to walk you through it step by step. Youll see my solution below. Basically, move these components around until they make sense in their layout. The yellow lines (air wires) represent how the components are connected, and to what. The simpler the path is, the easier it will be to understand later. Try to keep them as straight forward as possible. Dont worry if they overlap, that will all be solved in a moment. See what I mean? Easy to read!

(http://aaroneiche.com/files/2010/06/components-laid-out2.png) I should note here that most terminal blocks are designed to fit right up against each other, This is why Ive placed the blocks so close. The particular ones that SparkFun sells actually interlock. Youll want to make sure you properly line them up so the footprints are marked together. Because the footprints are tightly controlled, it can be a little difficult to position them correctly. These terminals IMO, are a little wonky, so heres the simple solution: Put the 3-point terminals at 15mm and 26.6mm. I think there might be an error in the library with the 2-pin terminals. This image shows the block right next to the 3-pin terminal, but I dont believe it will actually fit. If you choose to get this board produced, please fix the spacing or the part in the library. You may want to resize your outline at this point as well. This is easy. Just take the corners of the outline and drag them to a size that works for you. Now we want to take care of the routes. You could use the Auto-route button if you wanted to, but I prefer to do my trace-routing by hand. Because of that, it takes a little longer, but usually ends up neater in my opinion. First youll want to click on the Ratsnest button. This button takes all these little yellow lines that connect your circuit and moves them around to make things a little simpler.

Clicking that will recalculate the mess into this:

(http://aaroneiche.com/files/2010/06/nest-corrected.png) Now click on the Route Button

Now find one of the yellow airwires that connects to the ground line.Click on it, and youll start to draw a route. Dont worry about crossing any of the yellow lines yet, well take care of that in a minute. What youll find is that EAGLE automatically continues your line. As the LEDs ground line connects all of the LEDs together, we can just follow it around the board. Now lets do it again with the lines coming from the 6 analog pins. Draw 6 lines with the route tool. You may have to get a little creative in how you draw the lines so they dont connect with each other or other pads. Again, at this point dont worry about crossing the yellow air wires just yet. When youre done, you should have something like this.

(http://aaroneiche.com/files/2010/06/route-bottom.png) Okay. Weve got 7 lines we still need to route, and space is getting pretty tight. What are we going to do? Fortunately, we have more than one side of the board to route on! In the upper left hand corner, when the route tool is selected, youll see a drop down menu. Currently it should say Bottom (meaning the bottom of the board) but if you click on it, you are able to select Top

You have to be a little careful because theres less room on the top for routing than on the bottom, but with some creativity you can make it work. I recommend you take advantage of the gaps created by the resistors to take a route over to the other side.

(http://aaroneiche.com/files/2010/06/top-route.png) If its kind of hard to see, heres a picture without the text that make show the routes a little better.

(http://aaroneiche.com/files/2010/06/routing-no-names.png) Okay. Were almost done. We want to put a couple of things on the silkscreen, so we know what to plug in to the terminal blocks. This part is easy. Click on the Text button (The T). Type what you want, and place it. By hitting escape, youll get the dialog box again, and youll be able to place another thing. You might also want to fill in any blank space you have (or not) I like to put in something identifying, just for fun.

(http://aaroneiche.com/files/2010/06/silk-screen-board.png) So here we are. We have completed our circuit and were ready to go! Were almost finished (again). All we have to do is turn this sucker into Gerber files and shoot them off to the fab house.

Gerber? Isnt that baby food?


Yup, Gerber is a brand of baby food, but its also the common name of the files you send to a manufacturer so they know what to do to make your board. It was initially created by a company called Gerber Systems Corporation. They used it to drive a photo-plotter. These days its properly referred to as RS-274X. There are lots of different layers in a gerber file, but the common ones you come across are as follows: Top-Silkscreen This usually shows your documentation part placement and footprints Mask Top This shows the machine where not to put soldermask, like the pads youll be soldering onto Mask Bottom Same as above, for the reverse. Top Copper This shows where the machine should leave copper so your circuit connects Bottom Copper Same as above for the other side. Excellon Drill This is the file that tells the router where to go through your PCB Outline Your board outline. Allright, enough talk. Lets do this. First we need to run electrical and design checks. These make sure that nothing is electrically wrong with our design and that our fab house can actually produce it. Note: This doesnt mean your design will work. It only means that EAGLE doesnt see electric circuits crossing paths. Click on the electrical check tool:

and it should bring up the ERC errors page. In this page there are a lot of warnings. Here its just telling us that there arent any values listed. I intentionally did that because I figured that someone may want to put their components. Who knows how big or how bright you want those LEDs. Im not gonna tie you down.

(http://aaroneiche.com/files/2010/06/electrical-approved.png) The way we take care of these is simply click on Approve for each one. Be careful how you do this, you dont want to approve something that is wrong.

Next well run the design rule check. Click on the design rule button

(http://aaroneiche.com/files/2010/06/load-dru.png) Since EAGLE doesnt know whos rules you want to play by, youll have to choose a design rule file, or a .dru. I use our PCB order rules, which can be downloaded at the top. Click on the Load button, and choose your file.

(http://aaroneiche.com/files/2010/06/laen-design-check.png) Youll get the design rule check screen. Just press the check button.

(http://aaroneiche.com/files/2010/06/DRC-errors.png) Uh-oh. Looks like I wasnt paying close enough attention. Theres an overlap in the circuit layout. That is to say that something on my board is connecting in a way that is not connected on my schematic. Fortunately you dont have to hunt around for it. EAGLE draws a nice little box around the area in question.

In this case, it looks like I ran my GND line right through one of the holes where the VCC line comes in. The way we fix this is rip-up the line and redraw it. The Rip-up tool looks like this:

(http://aaroneiche.com/files/2010/06/rip-up-tool.png) All you have to do is click on the offending line, and then select the routing tool again an lay it down in a functional manner.

(http://aaroneiche.com/files/2010/06/rip-up.png) (http://aaroneiche.com/files/2010/06/repair.png)

(http://aaroneiche.com/files/2010/06/repair.png) Okay, now that weve fixed that, we run the Design rule check again

And it comes back good! Hooray! Now we can finally produce those Gerber files. click on the CAM processor button

and it will open up the CAM processor Window (funny how that works.) We want to use a specific CAM job, so we have to go to File->Open>Job

(http://aaroneiche.com/files/2010/06/open-job.png) Choose your cam job, and you should get an updated CAM processor window:

(http://aaroneiche.com/files/2010/06/laen-cam1.png) The only adjustment I recommend here is that you additionally select tDocu-51 on the Silkscreen-CMP layer. This will make sure that the Arduino Silkscreen stuff ends up in the silkscreen with the rest of our materials. When youre ready, press the Process Job button. EAGLE will output the gerber files and output them into your project directory. EAGLE will have produced both .ger files and .gpi files. The gpi files simply contain information about the ger files, and are unnecessary. If you want, you can see what these files look like by going over to circuitpeople.com (http://circuitpeople.com) and loading them up. Its nice and simple. No signups, no ads. Just an easy way to view your gerbers. I highly recommend you do check your work to make sure it looks the way you want it to. I have gotten back boards that didnt have everything on the silkscreen layer that I expected them to. Heres how a couple of the gerbers looked from this project. On the left is the top-copper gerber, and the right is the top-silkscreen.

(http://aaroneiche.com/files/2010/06/copper.png)

(http://aaroneiche.com/files/2010/06/silkscreen.png) Thats it! Youre finished. Zip em up and send them off to your board house, or if you want it to be easy for yourself. Send them off to Laen, and hell include them in our monthly PCB order (http://www.dorkbotpdx.org/wiki/pcb_order)! I guarantee you, its hard to beat $5/sq in. for 3 boards. The turn around time is a little more than a week from send off date. And they dont go out to China. (Judge for yourselves if thats a

good thing. I can go either way.) If youd like to look at the files I made while doing this, they are on the download page (http://aaroneiche.com/downloads/). So there you have it. Make a circuit, order it, and in about a week-and-a-half, you get something that looks like this (http://aaroneiche.com/2010/05/17/my-very-first-pcb/). If you need some help, you can usually find me during the week as sircastor on IRC on the #dorkbot channel or you can email me! This entry was posted in Hobby (http://aaroneiche.com/category/hobby/), Useful (http://aaroneiche.com/category/useful/) and tagged Arduino (http://aaroneiche.com/tag/arduino/), Electronics (http://aaroneiche.com/tag/electronics/), PCB (http://aaroneiche.com/tag/pcb/), SparkFun (http://aaroneiche.com/tag/sparkfun/), Tutorial (http://aaroneiche.com/tag/tutorial/). Bookmark the permalink (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/). prev (http://aaroneiche.com/2010/05/17/myveryfirst43 Responses to A Beginners guide to making an Arduino Shield PCB pcb/) Pingback: Tweets that mention A Beginners guide to making an Arduino Shield PCB | AaronEiche.com -- Topsy.com (http://topsy.com/aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/? utm_source=pingbackutm_campaign=L2)

next (http://aaro firstprintedplasticpart/)

Pingback: Guide to making an Arduino Shield PCBs adafruit industries blog (http://www.adafruit.com/blog/2010/06/29/guide-to-making-anarduino-shield-pcbs/) Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=123#respond) John Boxall (http://tronixstuff.wordpress.com) says: June 29, 2010 at 7:08 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment123) Hello Aaron Thank you for this informative and detailed post you must have read my mind, as lately I have been thinking about making my own shields as well. Congratulations for your efforts, and thank you once more! Cheers John Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=126#respond) Aaron Eiche (http://aaroneiche.com) says: June 29, 2010 at 12:23 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shieldpcb/#comment-126) Im glad you liked the post! Best of luck on your shield. Its a blast to make your own PCBs.

Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=124#respond) SiliconFarmer (http://more-noise-than-signal.blogspot.com/) says: June 29, 2010 at 7:59 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment124) Nice beginners guide. One thing that is very confusing for beginners is the backwards way the Eagle group function works. At the point where you have them move all the parts as a group onto the board, it should go like so: Select the Move command *first* Then select the Group command Then drag around the parts Then, with the mouse over one of the highlighted parts, Right click and select Group:Move (near the bottom of the popup menu) Now drag the parts onto the board (the big white square) Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=125#respond) SiliconFarmer (http://more-noise-than-signal.blogspot.com/) says: June 29, 2010 at 8:05 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment-

125) Oops, found one more thing near the end. You need to zip up not only the .ger files, but also the .xln and .dri files. These last two tell the board fabricators what size and where the holes go in the board. I recently forgot to include the drill files in an order. Cant make a board without the holes! Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=127#respond) Aaron Eiche (http://aaroneiche.com) says: June 29, 2010 at 12:27 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shieldpcb/#comment-127) Thanks! Ive gone into the tutorial and added in a note about the drill files. As for moving the group, all Eagle is doing is automatically throwing the command back to move after youve selected the objects. I see your point in terms of the way that Eagle tends to operate, but the method of choosing move after vs before you group the items seems not to make much of a difference. Youre still clicking the same buttons, just in a slightly different order with the same result. Either way I appreciate the comments. If you see anything else that stands out, let me know.

Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=128#respond) SiliconFarmer (http://more-noise-than-signal.blogspot.com/) says: July 3, 2010 at 12:48 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment128) Its just a matter of efficiency. Your technique involves: click group icon, move pointer from menu to drawing area, drag select, move pointer back to icons, click move, move pointer back to drawing area, right click and select group:move. Thats two extra mouse moves between the icons and drawing area over the method I suggest. Over a long evening designing and laying out a board, such efficiencies start to make a difference. Pingback: Blog do Je Tutorial de criao de shield para Arduino (http://blogdoje.com.br/2010/07/04/tutorial-de-criacao-de-shield-paraarduino/) Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=130#respond) Anders says: July 15, 2010 at 4:01 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment130) If you want to use autorouting I would suggest trying FreeRouting: http://www.freerouting.net/ (http://www.freerouting.net/) Just a few simple steps to use it with Eagle: http://www.freerouting.net/index.php?page=eagle (http://www.freerouting.net/index.php?page=eagle) It usually generates much nicer traces and with fever vias than the autorouter in Eagle. And if you want you can configure it to give you organic looking traces similar to TopoR which helps eliminating signal bouncing. Pingback: Beginners guide to making an Arduino shield PCB | Daring Minds.Com (http://daringminds.com/make/beginners-guide-to-makingan-arduino-shield-pcb/) Pingback: Beginners guide to making an Arduino shield PCB - machine quotidienne (http://journal.ocular-witness.com/?p=3501) Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=133#respond) GuruSantiago (http://www.ElectronicsIsFun.com) says: July 15, 2010 at 9:55 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment133) Excellent article. I really like it. Want to learn more about electronics? The GuruSantiago can help. Checkout his videos here: http://www.youtube.com/user/ElectronicsIsFun (http://www.youtube.com/user/ElectronicsIsFun) And follow him on twitter @ElectronicsFun Pingback: Beginners guide to making an Arduino shield PCB | SquareCows (http://dev.squarecows.com/2010/07/16/beginners-guide-tomaking-an-arduino-shield-pcb/)

Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=135#respond) Michael says: July 16, 2010 at 6:40 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment135) Good tutorial on Eagle, but if you want to really help people make Arduino shields, you should discuss the actual spacing/layout of the headers that is required to fit on an Arduino. For example, the nonstandard .16 spacing between the 8-pin headers. In your tutorial, your board was already magically laid out before you even dragged the ratsnest of parts onto the board. That certainly doesnt happen magically in real life. Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=136#respond) Aaron Eiche (http://aaroneiche.com) says: July 16, 2010 at 8:40 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shieldpcb/#comment-136) I see your point, but the goal here was to provide people with a starting point. Thats why I went with SparkFuns library instead of trying to explain the finer points of offsetting the headers. I dont see many advantages to making your own headers, especially with a proven part. The experience of setting the headers is valuable in terms of learning Eagle. But if you want to make an Arduino shield, and youre unfamiliar with Eagle anyway, using a reliable part is a good starting point. In the tutorial, the parts came laid out like that as I went through the process. Im sure if you follow the process youll get the parts laid out in the same fashion.

Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=137#respond) Heimy says: July 16, 2010 at 2:37 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment137) SiliconFarmer: over a long evening designing and laying out you learn to start using key combos to save mouse moves and clicks Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=138#respond) Heimy says: July 18, 2010 at 1:01 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment138) Hi Aaron, I liked your tutorial so much that I decided to shameslessly copy it (with due credits, of course) to create the equivalent KiCAD tutorial. In Spanish (sorry), because its for my local group. In here in the mean time, and no stylesheet (so it looks a little bit like shit). http://staff.not.iac.es/~rcardenes/guia-kicad (http://staff.not.iac.es/~rcardenes/guia-kicad) Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=139#respond) Aaron Eiche (http://aaroneiche.com) says: July 18, 2010 at 2:25 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shieldpcb/#comment-139) Wow Heimy, Very cool. Thanks for the credit and the link. I hope your version serves your local group well!

Pingback: Electronics-Lab.com Blog Blog Archive Beginners guide to making an Arduino shield PCB (http://www.electronicslab.com/blog/?p=4614) Pingback: How to create an Arduino shield PCB (http://geekubator.org/how-to-create-an-arduino-shield-pcb/) Pingback: The August 2nd PCB Order | Temple of the Demented Diode (http://dementeddiode.org/blog/2010/08/the-august-2nd-pcborder/) Pingback: Arduino Shield PCB: step by step guide | SquareCows (http://dev.squarecows.com/2010/09/13/arduino-shield-pcb-step-by-stepguide/) Pingback: Starter Kit Wasny shield do Arduino, czyli PCB trzeba zrobi (http://starter-kit.nettigo.pl/2010/09/wlasny-shield-do-arduino-czylipcb-trzeba-zrobic/)

Pingback: Starter Kit Blog Archive Self-made Arduino shield - making a PCB - Starter Kit (http://starter-kit.nettigo.eu/2010/self-madearduino-shield-making-a-pcb/) Pingback: Where to find parts for your netduino? Fabien's Bit Bucket (http://fabienroyer.wordpress.com/2010/11/11/where-to-find-partsfor-your-netduino/) Pingback: Step Motor With Driver Shield | maniacbug (http://maniacbug.wordpress.com/2011/02/28/step-motor-with-driver-shield-8/) Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=148#respond) Carr says: March 8, 2011 at 5:16 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment148) do you know where to find a .lbr that includes the Arduino Mega 2560? Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=149#respond) Jason says: May 13, 2011 at 7:33 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment149) Fatastic guide Ive been looking for something like this! Very clear and detailed. Thanks for taking the time to create this! Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=150#respond) YAGreybeard says: May 19, 2011 at 10:41 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment150) Very useful, thank you. Note that in addition to Eagle (which is closed source) there is FritzRing (open source, truly free) from http://fritzring.org/ (http://fritzring.org/); they ship with support for Arduino shields and even have a tutorial up at http://fritzing.org/learning/tutorials/designing-pcb/ (http://fritzing.org/learning/tutorials/designing-pcb/) (note this PCB page is a continuation; the circuit is designed on a previous page; just chop the URL back to tutorials/ for the whole set). Yay Arduino! Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=151#respond) YAGreybeard says: May 19, 2011 at 6:59 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment151) Erm, thats Fritzing, at http://fritzing.org/ (http://fritzing.org/), not fritzring.org. The tutorial link http://fritzing.org/learning/tutorials/designing-pcb/ (http://fritzing.org/learning/tutorials/designing-pcb/) was correct. Sorry for the typo. Pingback: PCB by claeslu - Pearltrees (http://www.pearltrees.com/claeslu/pcb/id3878862#pearl31554734&show=reveal,6) Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=153#respond) Malcolm says: April 1, 2012 at 4:47 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment153) Awesome article, thanks! Pingback: Draft Ideas Blog Archive Modificar un Arduino para hacerlo compatible con placas perforadas (http://draftideas.tk/?p=286) Pingback: PCB per realizzare shield Arduino | Michele Maffucci (http://www.maffucci.it/2012/04/07/pcb-per-realizzare-shield-arduino/) Pingback: Lars Jansen Huge index of Arduino & Freeduino Knowledge (http://larsjansen.co.nz/hardware/electronics/huge-index-ofarduino-freeduino-knowledge/) Pingback: ArduFerm, Custom PCB | vortex's blog of brew! (http://www.vortex.id.au/2012/09/arduferm-custom-pcb/) Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=158#respond) laserninja (http://laserninja.net) says: September 15, 2012 at 3:59 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shieldpcb/#comment-158) Great tutorial on Eagle.very detailed. Thanks. Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=54238#respond)

Pratyush Sharma says: February 18, 2013 at 12:02 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shieldpcb/#comment-54238) I am not able to find the link to download the file that you have just created could you send me the download link. Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=54280#respond) Aaron says: February 18, 2013 at 11:43 am (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shieldpcb/#comment-54280) Hi Pratyush, I transitioned away from the webserver that I was using and didnt move the files over. Ill dig into my files and see if I can find them. Barring that its easy enough to replicate, just follow the instructions!

Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=64830#respond) Ezu (http://www.intorobotics.com/resources-and-tutorials-to-start-working-with-arduino-boards/) says: June 9, 2013 at 10:57 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment64830) very well structured article and with good information Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=66100#respond) Michael says: June 23, 2013 at 3:25 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/#comment66100) Did I miss where the dimensions of the board itself and placement of the connectors? I want to design my own shield. Reply (/2010/06/24/a-beginners-guide-to-making-an-arduino-shield-pcb/?replytocom=66110#respond) Aaron says: June 23, 2013 at 10:13 pm (http://aaroneiche.com/2010/06/24/a-beginners-guide-to-making-an-arduino-shieldpcb/#comment-66110) The benefit of using a footprint like Sparkfuns is that you dont need to worry about placement of connectors Itll matchup because the footprint has the dimensions built in. As for board dimension: As long as you keep it large enough for the tolerances of your board manufacture, you can make it as large or as small as you like (provided the headers fit in the dimension boundary) My example above is rectangular because it was convenient. If you want to follow the shape of an arduino, Sparkfuns Board library has a Duemilanove Shield layout in it that contains the outline for the arduino board. Alternatively, you can go right to the source and grab the Arduino Eagle Files: http://arduino.cc/en/Main/arduinoBoardUno (http://arduino.cc/en/Main/arduinoBoardUno)

Leave a Reply
Your email address will not be published. Required fields are marked * NAME *

EMAIL *

WEBSITE

COMMENT

Post Comment

Browse by Topic

Adventure! Commentary Hobby (http://aaroneiche.com/category/adventure/) (http://aaroneiche.com/category/commentary/) (http://aaroneiche.com/category/hobby/) Podcast Technology Useful (http://aaroneiche.com/category/podcast/) (http://aaroneiche.com/category/technology/) (http://aaroneiche.com/category/useful/)

Home (http://aaroneiche.com/)

About Aaron (http://aaroneiche.com/about/)

Downloads (http://aaroneiche.com/downloads/)

Das könnte Ihnen auch gefallen