Instructables

Turn your EAGLE schematic into a PCB

Featured
In a previous Instructable, I provided an intro to schematic entry using CadSoft's EAGLE editor.
In this instructable, we'll make a printed circuit board from that schematic

I guess I should say that we'll make a PCB DESIGN; making the physical board is a different task, and there are a lot of tutorials on the net (and even some instructables) on making the board after you have the design.


Cadsoft EAGLE generic information:


Cadsoft EAGLE is available from http://www.cadsoftusa.com/

Cadsoft is a German company that is a veritable mecca of software distribution enlightenment. In addition to the reasonably-priced professional PCB design packages ($1200), they have freeware, lite, non-profit, and other intermediate licenses. Their software runs under windows, linux, and MacOSX. It's slightly quirky, with a steep (but not too high) learning curve on the front end, but from most reports it is not any more so than other professional CAD packages. They have online support forums that are active from both the company and other users, the package is under current development and gets better with each release. A number of PCB fabricators will accept their CAD files directly. It's good stuff.
Use it. Propagate it. Buy it when you "go pro."


See also:
Schematic Entry
Creating Library parts
Design rule modification
Send CAD Files to manufacturers

 
Remove these adsRemove these ads by Signing Up

Step 2: Menu commands used

The Board Editor looks a lot like the schematic editor, with some different commands.
Here's a summary of the iconic commands that I use in this instructable, and some brief summaries:

INFO Shows information about an object (component, signal, trace, etc.)
MOVE Allows components to be moved (same as schematic.)
GROUP Groups a collection of objects into a "group" that can be manipulated simultaneously.
DELETE Delete an object. Items created in schematics need to be deleted there.
SMASH Separate the text labels of a part from the part itself, so they can be moved independently.
BREAK Add a corner to a line (or trace.)
ROUTE turn an airwire into a trace
LINE draw lines (usually in non-copper layers. ROUTE is for drawing copper.)
VIA create a hole and pad associated with some signal. (actually, we'll use a text command.)
HOLE a hole that isn't associated with a signal, ie for mounting.
RATSNEST recomputes airwires and polygons, eg after components have been moved.
CHANGE changes an object's properties.
RIPUP changes a routed trace back to an airwire. Sorta equivilent to "delete" for traces.
TEXT add text
POLYGON create a polygon (actually, we'll use a text command.)
AUTOROUTE invoke the autorouter.
DRC invoke the Design Rule Check and parameter setting.

I'll describe the remaining icons toward the end, and assign them "useful" or "useless."

Step 3: The untouched PCB design

This is what the newly created board design will look like. All your components will be in a clump over to the left of the origin, and there will be a frame that marks the allowed size of a board when using the freeware or "Lite" versions of EAGLE (80x100mm). All the component pads will have to be inside that outline when you move them around, although you can cheat a bit and have traces or board outlines that exceed the board size limit. This has the annoying side-effect that if you pick up a component from it's original localtion, you can't put it back down outside the outline (however, you can use ESC to abort the move, and the component will revert to its original location.)

Ok, a few defintions are in order


All the signals you created in the schematic are currently AIR WIRES; thin yellow lines that are drawn in the shortest possible way, crossing each other as needed. They stay connected to component pins even when you move the component around. The RATSNEST command recomputes and redraws these after you move things around (and, say, make two connected pins closer together than they used to be.)

ROUTING a signal consists of turning an airwire into an actual copper trace on some layer(s) of the board, and positioning that trace so that it doesn't short agains other traces on the same layer of the board. The Freeware version of Eagle only supports a TOP and BOTTOM layer, and as hobbyists we have motivation to try to use only ONE layer. A signal can transition from one layer to another using a via, which is a conducting hole, sorta like a jumper (and we'll use jumpers to implement the top level of the board if we can make the board mostly single-sided.)

Creating the PCB design consists of placing all the components in logical places, and routing all the airwires in a way that allows the design to work.

Step 4: About Board "layers"

The Eagle Board editor has MANY more layers than the schematic editor. A confusing multitude of layers. Most of the drawing commands have a layer-selection pulldown menu that you can use for specifying which layer you want to draw on (exceptions include objects like vias that span multiple layers.)

Here are some of the more important layers:

Step 5: Move the components into the legal area

The first thing we want to do is move at least some components into the legal board area where we can work with them. If you have a particularly large board with many components, you might want to do this a section at a time. For this sample board, we have plenty of room and we can move them all at once, using the group-move feature.

Select the GROUP icon, then click and drag to make a rectangle that goes all the way around the components. Then select the MOVE icon and RIGHT click (right clicking selects the group instead of a single component) and drag the set into the board outline. Use the ZOOM button to tighter the view.

Step 6: Shrink the boad outline a bit

The full legal side of the board is bigger than we need. Shrink the outline by using the MOVE tool. Click on the center of the top horizontal line (which selects the whole line instead of an endpoint) and move it down, Then click on the center of the rightmost vertical line and move it leftward.
Clicking near the center of a line moves the whole line. Clicking near a vertice moves only the point.

It doesn't have to be perfect at this point; we're mostly looking for a better view for the next steps. (Oh yeah - click the zoom button to re-zoom the window on the smaller outline.)

Step 7: Start placing the components

Now we need to move the components to (near) where we want them on the final board. OR we want to move them to sensible places that will make the placement of traces easier. A lot of the "ART" of making PCBs (and especially Single Sided Boards) lies in finding "good" places for the components.

In general, you can start by placing the components similar to how they appear on the schematic. (This breaks down when a chip has multiple gates, or the diagram in the schematic symbol has vastly different pinn placement than the actual chip, but it's a good place to start for discreets and simple components. The worst that will happen is that you'll have a layout that makes sense, even if it doesn't route well...)

In this case, I put the power output transistotrs near lamps that they're associated with, and I looked on the web for a 555 layout that would work well (for the longest time, I tried to do boards with the timing cap placed near the timing resistors, and I always needed a jumper. Sigh.) ("Let no one else's work evade your eyes.")

Step 8: Check signals to see how they'll route

Picture of Check signals to see how they'll route
One way to get hints on part placement is to look at some significant signals to see whether they have nice straight paths, or whether they zigzag all over the board. First use the RATSNEST icon/command to have EAGLE recompute the airwires. The way things are now, I have nice straight connections from the transistors to the lamps, but if I type "show gnd" in the command line, I see that this is at the expense of making the ground signal zigzag. So I swap the transistors because GND is more important to have straight. (IMHO, YMMV, etc.) (This ends up putting the transistors near the supplies that they switch, rather than near the lamps that they switch to, so that still makes sense from a circuit point of view too.)

After the rest of the components are placed in ok-looking relative locations, I can squeeze them together again (manually, moving them one at a time; no magic command for this!) and shrink the board outline some more.

Step 9: Load design rules

Since we're hobbyists, we want to make our board with wide traces and big spaces (see http://www.instructables.com/id/EZVIGHUBGCEP287BJB/ )
So we'll load up that set of hobbyist design rules before we start laying out tracks.

Click the Design Rule Check icon and use the LOAD button to load hobby.dru from my other instructable. Or you can modify values manually and individually, of course. Or leave them as is...

Step 10: Fix incorrect package

You can see how the design rule change has already modified the board. Pads are bigger, and they're all round.

You'll also notice that one of the resistors is set as a non-vertical package, unlike the rest. This was probably an error in the schematic entry, and it didn't matter when all we had was the schematic. Now that we are making the board, we want to change the package as appropriate.

When you select the change->package tool and click on the part to change, you'll be shown a list of all the legal packages for that part (these should be the same ones that showed up in the schematic "add" dialog)

There are other ways to enter a "change" command in the text command entry area that you'll want to look into if you need to change a lot of devices to a particular package, so you can skip going through the list for each one. Something like "change package 'R-US/0207/2V', and then just click on each component.

Step 11: Try the autorouter

Now we'll see if the autorouter can do some of the work for us. The EAGLE autorouter isn't the best in the world, but even when it does a "bad" job, it will give us some general hints on how things need to look, or where the trouble spots are.

Clcik the AUTOROUTE icon, and a dialog box will pop up. The default parameters will produce a double sided board, and we want to at least TRY to make a single-sided board, so the first thing to do is set the preferred direction for the TOP layer to NA (Not Applicable.)

The other thing you may need to change is the routing grid. This defaults to the same default grid as the board layout editor in general: 0.05 inches (1.27mm, since I have my editor set up in metric.) Since this particular board has big parts, and we haven't moved any off the default grid, we're ok with that value. If you have SMT components or have moved things around on a finer grid, you might have pads that are not on the touing grid, which the autorouter doesn't like much ("unreachable pad", etc) You can make the grid very small, but it will take longer. IMO, it's better to start with a coarse grid and halve it each time it looks like routes fail because the grid is too large.

Also note that the autorouter obeys the board dimension lines, so if you haven't moved them close to your components, you might have traces travel all over the board. Or if you've moved the outline too close to the pads, you may have prevented traces from going places they need to go.

Step 12: Route remaining tracks manually

17-man-route-1.png
18-man-route-2.png
19-man-route-3.png
20-man-route-4.png
21-man-route-5.png
The autorouter did a pretty nice job here. There's only one trace left.

There are a couple of ways we could route this signal manually, including some snakey routes between transistor pins that the autorouter didn't use because of the design rules we specified. This is a relatively high current trace, and I decided that I won't manually violate the design rules either. Instead, I'll use a jumper wire on the component side, which I can model in EAGLE as a top-side trace.

Select the ROUTE tool and click on an endpoint of an unrouted (yellow) airwire, and you can position a trace pretty much anywhere you want, selecting width, layer, and type of bend from the menu bar as you go along. This is shown in the succession of pictures in this step.

Step 13: Add power plane polygons

Picture of Add power plane polygons
"Power planes" are large areas of copper that carry an actual signal, usually power and ground. On multi-layer boards, it's common to have entire layers mostly dedicated to such a power plane. Even on a single layer board there are some advantages to doing something similar:

1) Use less etchant
2) carries heavier current, just in case
3) makes it easier to attach test leads
4) acts as a sort of "static barrier" to fingers

In EAGLE. such large signal areas are drawn with the "polygon" command. There is an icon on the toolbar for drawing polygons, but it will create polygons associated with a new signal, and I find that when creating a polygon for an existing signal, it's easier to type the text form of the command in the text command area. To create a polygon attached to a signal named 'gnd', type "poly gnd" By giving it a signal name in the command, the polygon will automatcailly be connected to that signal. (If you draw a polygon with the icon, you can connect it to a signal later by using the "name" command to rename the polygon. (however, after this, you can't rename the polygone again without renaming the signal as well.))

Step 14: Add V+ Polygon

Now we'll repeat the process for the positive voltage. However, we never named that signal when we drew the schematic, so it will have some random name like "N$23"; We can use the "INFO" command to find the signal name to use when we draw the polygon, after which it's the same as drawing the GND polygon.

In this case, the V+ signal is named n$1, so we type "poly n$1"

Step 15: Neaten up: smash package text

If we want the names of components to be legible on the top of the board (transferred via toner transfer), or just to look good on printouts, they names and values probably have to be moved from their default locations. In order to move the text separately from the device itself, we use the "SMASH" command. (Why is it called "smash" ? I dunno!)

Select the SMASH icon from the menu, then click each component whose text you want to move. If this is ALL of the components, there's a ULP that will smash everything (but ULPs are a subject for possible future instructables. Or the EAGLE manuals.)

Step 16: Neaten up; move traces

widen-final.png
squish-final.png
We can move some of the traces so they look neater, offer better clearance, etc.
Also, we shrink the board to its final size ny squishing the components together some more.

Step 17: Fixing an OOPS!

Remember back in the schematic I mentioned that there were a couple of things that had been left out? You should be noticing them about now...

POWER connections; there's no way to connect a battery or power supply to this circuit board. Oh sure, you can just tack some wires onto the supply polygons, but how elegant is that!

We could go back to the schematic and add some actual power connectors or battery holders, but those are a bit rigid for a circuit that's probably going to be connected to a battery pack with some wires anyway. Instead, let's add some Vias to act as connection points for the power wires.

When adding Vias like this, it is convenient to use the text command entry area so we can name the signal at the same time we add the via. Type "via 'gnd'" (yes, you need the quotes here, unlike for polygons.) You can adjust the drill size and via shape, and plunk the via down in the appropriate supply polygon. I like to use two vias as a sort of strain relief (one is made larger so you can feed wire + insulation through it, the other is sized for just the wire.) A click on the RATSNEST icon will make sure the vias are connected to the polygon. Then do the same for the V+ signal (named N$1, you recall.)

Step 18: Neaten up: Allow for alternate packages and options

newpads-done.png
add-text.jpg
We can drop some extra holes for mounting different packages. The transistors used in the published schematic that we entered apparently come in a sort of metal can package that has dropped in popularity. If we arrange for three in-line mounting holes, we can substitute a whole lot of different transistors whose package leads come that way (TO92 or TO220, to mention two popular modern packages.)

Use the info command to figure out the signal names, and then "via 'n$X'" on the command line to create the via, followed by a manual route to the via if needed. In this case, one of the vias placed collides with a signal trace hidden by the GND polygon, so we have to remove that trace with the "ripup" command (the polygon will still connect to the pad.)

While we're at it. I'll add some text to the silkscreen to show where the emitter lead of the transistors should go. Use the "text" icon button, and change the layer to tPlace.


Step 20: Output using Exported images

Save your work often. You've been doing that, right?

Now we're essentially done, and we should figure out how we're going to output our board for
admiration on web pages, review by peers, transfer to physical PCB material, and so on.

One way to output the board is to "export" an image.

Step 21: Other useful menu icons

Picture of Other useful menu icons
Here are some other useful commands accessible from the menu icons

LAYERS Adjust which layers are displayed. Boards have many more layers than schematics!
MIRROR Move a component from being mounted on the top of the board to being mounted on the bottom of the board.
CUT COPYS a selection, despite the name.
NAME Change the name of an object.
CIRCLE Draw a circle.
RECTANGLE Draw a rectangle.
MARK Place a measurement mark. Your info area will start showing distances relative to the mark as well as to the origin.
ROTATE rotate an object. This can rotate angles other than 90 degrees.
PASTE Paste some objects that were previously copied with CUT.
VALUE Change the value of an object.
MITER make signal corners rounded.
ARC Draw an arc.

Step 22: Useless commands

Picture of Useless commands
These are menu icons that I don't find at all useful in creating boards, at least not from schematics (and I feel that you should always make schematics to go with your boards; borh for self-documentation and the error-checking capabilities that are added.)

SHOW SHOW is more useful from the text command area. I think.
DUPLICATE Duplicate an object. Usually done in the schematic.
ADD Add a component. Usuaully done in the schematic.
REPLACE
JOIN Happens automatically, usually?
POLYGON more useful from the text command area.
SIGNAL Create a signal. Usually done in the schematic

1-40 of 137Next »
J-Rob McCoy1 month ago

You have just taken me from dreading making the PCB from the schematic to having one done in a flash. Excellent instructable on taking the somewhat intimidating Eagle CAD and teaching the basic functions on the PCB aspect of it. Thank you.

gaurav1573 months ago

hey plz help me

when i print pcb from printer the size of ic lage will be different in pdf and on paper

.How i set the sizes.

gaurav1573 months ago

hey plz help me

when i print pcb from printer the size of ic lage will be different in pdf and on paper

.How i set the sizes.

gaurav1573 months ago

hey plz help me

when i print pcb from printer the size of ic lage will be different in pdf and on paper

.How i set the sizes.

mjeon6 months ago
The most helpful tips for me ever saw!!
Thanks for writer!!!
stuffstuffa2 years ago
How can I mirror the whole board?
Group the board and then, assuming you're in the Light version of Eagle, move it farther aside from the origin of the layout, (spot with the plus sign that doesn't move when you click it) release it, switch to mirror tool and then right click in the board and then click mirror:group
aashishsharma11 months ago
hey
Nice eagle tutorials. I learned how to create custom parts from scratch.
I just now want to learn how to create board from schematic. Tutorial is nice.
I was wondering if I could have >.sch file so that I can practice along as I go through tutorials
Thanks in advance
westfw (author)  aashishsharma11 months ago
Good point; I'm surprised no one has asked before!
https://docs.google.com/file/d/0B6dMB5dovDUZUDh4YzBzVEVHTUk

How do you go about printing it so that you can just take it from the printer to the PCB (and the entire etching process)? What I mean is, when you're all said & done with your PCB design, how can I effectively take my board, print to a sheet a paper, and do a toner transfer basically? Whenever I go to Print as .PDF, even with Solid and Black checked off, it still comes out with less-than desirable outcome. Any way that the board can be simplified, or is there a program that can take a ready to go .brd and turn it into a print ready file?
   !!! HELP !!!   !!! HELP !!!   !!! HELP !!!   !!! HELP !!!   !!! HELP !!!

I found your schematic tutorial only last night and its AWESOME !

But trying this one but when i click on the next step after this one there is no step and its replaced with the below message and a load of HTML Coding !!!

Please excuse me, that was very impolite! - javax.servlet.ServletException: javax.servlet.jsp.JspException: ServletException in '/common/instructable.jspx': ServletException in '/pages/explore/type/instructable_body.jsp': java.lang.reflect.InvocationTargetException
Exception

Please help as your tutorials are out of this world and nice and simple for a beginner like me to start learning how to use EagleCADsoft !!!!

Any Idea's ??
harishere2 years ago
I am new to Cadsoft Eagle and having trouble with designing PCB. I used CAM processor tool to make PCB, but I only want the tracks to remain after etching and rest of the copper to disappear! Please tell me how can I do this!

I want a PCB like this, only tracks.

http://www.veys.com/wp-content/uploads/2008/07/pcb_howto_drilled_bottom.jpg

Plz help! Thanks in advance!
thypnotist2 years ago
Your a Ledgend.
This is exactly what I needed to know from start to finish.
Thanks heaps.....
David
sallen143 years ago
Nice tutorial!
I've been designing boards and schems using Eagle for a while now, but where I am coming unstuck is finding someone who can make a PCB from the board file that Eagle produces.
My main board maker can't use the Eagle files, he only wants files in Protel (Protrax etc) format.
My alternative boardmaker also can't use the Eagle files and is asking for Gerbers.
So far I have not been able to find any program that can convert Eagle files to either of these formats.
I did contact one boardmaker who said they could produce a board for me using the Eagle files, but they wanted something like $150 to make one board!!

Any suggestions?
You might try silvercircuits.com. They are much cheaper and can produce boards directly from the eagle files.
westfw (author)  sallen143 years ago
EAGLE can produce gerbers pretty easily; there is even an instructable: http://www.instructables.com/id/Professional-PCBs-almost-cheaper-than-making-them-/
Various PCB vendors (Sparkfun's BatchPCB, DorkbotPBX, Itead, Seeed) provide the .CAM files that produce the right gerbers with the expected filenames for that vendor...
I can recommend Dorkbot for small boards; helpful community, nice boards. I think they'll actually take .BRD files, but it's generally better to prepare the gerbers yourself so that you get the content you want on the silkscreens (names, values, and outlines are separate decisions!) http://dorkbotpdx.org/wiki/pcb_order

aessam12 years ago
Amazing,very helpful tutorial
and i have a small addition here
to export the PCB for toner transfer
view only (pads,vias,bottom layer)
then print from file menu
and mark (mirror,black,solid)
thanks
ptorelli3 years ago
Hello,
Great tutorial, much faster than the web-based videos.

What are your recommendations on production houses? I googled PCB fabrication and found a dozen or so shops that provide their own cam files. Rates range from $50 to $150 for a dozen or more 2"x2" 2 layer boards. Before I plunk down that much for a mistake, wondering if you have any favorite places?

thx,
p
abraxas23 years ago
Now that the autoroute has destroyed my hours of work, how do I undo it ? Undo doesn't work !!!
You can undo the autorouter. Click the ripup icon, then on the top toolbar click the little traffic light icon. A window will pop up asking if you are sure. Hit Yes.
westfw (author)  abraxas23 years ago
You can't undo the autorouter. It's a good idea to save your work often, especially before large changes like autorouting. The autorouter should not have destroyed any of the manual routing you did; it just added a bunch of "other" traces. You can get rid of individual traces, or sections, or everything, with "ripup", but there isn't specifically a "ripup the bits you just autorouted."
eriol3 years ago
using this instructable for creating a guitar pedal with friends.
thank you for sharing
Great instructable man. I just finished reading the "how to draw a schematic" one and loved it. you helped me figure out what i was doing wrong. :)

I sure would like to be able to download that hobby.dru file, but the site keeps telling me I need to be logged in. (I am logged in, or else I wouldnt be able to post this) Anyway, guess I will have to follow your instructable and just make my own :)
Try the hobby.dru file on this page.

http://www.instructables.com/id/Make-hobbyist-PCBs-with-professional-CAD-tools-by-/
Thanks! I dont remember how I did it, but somehow I was eventually able to get it. the only problem I had after using your hobby.dru file was that I coudlnt change the shape of my pads. so some pads on transistors violated the rules. I ended up exporting my drawings into coreldraw format and trimmming them there.
if only i could put ten stars well done now in 30 minutes i know how to make boards in eagle thanks
alr2064 years ago
How do you get it to incorporate contacts that are connected to gnd? Everytime I try, it excludes those areas (I am using your design rules file). Thanks -- your instructables have been VERY helpful!
westfw (author)  alr2064 years ago
make sure that both the signal and the polygon have the same name (ie "gnd") The easiest way to name the signal is to attach one of the "gnd" symbols to it, and for the poly it's easiest to use the "poly gnd" to create it, but you can also name them with the "name" command/button.
abraxas2 westfw3 years ago
Every time I try to rename a signal path or pad, in board view, it says "Cannot Back Annotate ...Change in Schematic View" So after many attempts I finally manage to change one of these items names to "Base" , in schematic view, since it connects to a transistor base. It prompts me with an invite to connect Base and Gnd, I respond "no". The adjacent signal path which I do want renamed gnd, keeps on resetting to the name Base and won't let me change it to gnd...no matter how many times I try. Worse yet, when I do the gnd plane, both the Base and Gnd signals get tied to the plane. It's driving me nuts.
The only thing I can see is that I have some very faint phantom lines connecting the Base and GND traces. These are lines I believe left over from a Rip Up repair. I'm guessing the program still thinks these items are connected.
alr206 westfw4 years ago
I didn't realize that what I actually had was thermals, so the pads should appear a little bit different under a closer view than in the pictures above. Thanks again!
westfw (author)  alr2064 years ago
Ah. Yes, I have thermals turned off in my init files, which makes my normal behavior different than the default behavior. I should be more careful about that!
abraxas23 years ago
I can't thank you enough for this excellent tutorial. I thought I'd never get the hang of it and it's not a very intuitive program. Do consider turning these tuts into a book. Now hopefully one last question : after drawing the ground plane with the ratsnest command I got a nice big plane but also a bunch of tiny little islands that serve no purpose but to make the board look dumb. I tried erasing these islands with the rip up but it just ripped up the closest vital wire instead. Is there away to zap these tiny little island ground planes ? Thanks MUCHO !!
westfw (author)  abraxas23 years ago
you can draw lines and/or rectangles in the tRestrict or bRestrict layers, which will prevent the polygon fill from entering those areas. You can see this in the PCB that goes with http://www.instructables.com/id/Single-Sided-Really-Bare-Bones-Board-Arduino-in-EA/ - I use it to prevent copper between the pads of the bottom-side SMT capacitors. Note that the restrict layers are not displayed by default; you'll have to turn them on in the layer menu (they might get turned on automatically when you draw on them, too.)
abraxas2 westfw3 years ago
It mysteriously fixed itself. Thanks.
Naved Ahmad4 years ago
Hello Every body: This is N-A-G from Afghanistan, I need help If any one has the basic, intermediat or advanced notes about making remote control, motors, tank treads, PCB [in pdf format or any other format] please send them to any one of my accounts i will be thankful of that person. or if any body has any link or some ones email, gmail, hotmail, skype, yahoo that knows about the thinks i wrote above please send them. i will be thankful of that person again. thanks alot buddies. Contact: [0093 (0) 794 50 63 43] - [0093 (0) 706 71 98 93] E-Mail [nghafori@af.mercycorps.org] Gmail: [navedahmadghafori@gmail.com] Yahoo: [navedahmadghafori@yahoo.com] Skype: [naved.ahmad.ghafori]
nicolo864 years ago
Really useful, but i have a question. Is it possible to make two different PCB connect with each other. if yes how. thanks
tomtortoise4 years ago
yo when i did this step the two non-polar capacitors disappeared from the whole thing? i have know idea what happened to them and i still barely know how to use the program.
amando964 years ago
 swett, helped me a lot
*faves*
abraxas24 years ago
Sorry but I'm missing something here. I've got a nice picture of components and lines between them. I need artwork, that is to say a black and white transferable image for final etching. I'm not seeing that under export. When I get the export image it's just a copy of the board layout with all these component images included. I just want the conductive lines and pads ???.
1-40 of 137Next »