The last step in our package (!!!) is to add two essential bits of meta data.
Every part that gets place on your schematic (and eventually your PCB) gets assigned a unique 'Name', which is used to distinguish parts during board assembly, or just to communicate basic information in an intelligent way.
Saying 'Change R23 on your board to a 10K resistor' is a whole lot less error prone than 'Change the third resistor down, just after the USB connector on the left hand-side your PCB to a 10K resistor'.
It's a good idea to have these names (R23, C14, U1), as well as the values (10K, 0.1µF, AT86RF212) visible on both our schematic and our PCBs. So how do we do that?
Every part that gets place on your schematic (and eventually your PCB) gets assigned a unique 'Name', which is used to distinguish parts during board assembly, or just to communicate basic information in an intelligent way.
Saying 'Change R23 on your board to a 10K resistor' is a whole lot less error prone than 'Change the third resistor down, just after the USB connector on the left hand-side your PCB to a 10K resistor'.
It's a good idea to have these names (R23, C14, U1), as well as the values (10K, 0.1µF, AT86RF212) visible on both our schematic and our PCBs. So how do we do that?
Meet tNames, tValues ...
Eagle has two dedicated layers to handle exactly this kind of information on our PCBs:- Layer 25 (tNames), which is used to store part names (R1, etc.) on the top layer of our PCBs
- Layer 27 (tValues), which is used to store part values (10K, etc.) on the top layer of our PCBs
Don't worry if you find all this layer stuff confusing. With time it becomes second nature, so don't get discouraged or overly frustrated if you have to keep looking back here to know what layer certain things should go on!
We'll use these two layers, plus the 'Text' tool to place two magic labels on your board, one that Eagle will automatically update with our part name, the other that Eagle will update with our part value.
Place The >Name Placeholder
The first thing you need to do with any new package, is add a piece of text with '>Name' somewhere appropriate in your package.
The '>' character before name is a special character that lets Eagle know that this value should be dynamically updated by the program. If you just entered 'Name', Eagle will leave the label as is, which isn't very helpful during assembly since every part will have the same identifier on the PCB!
Click on the 'Text' tool from the side toolbar, and you should see a popup Window similar to the image below:
Now enter '>Name' into this text box and click the OK button:
You should end up with something like this on your screen:
While the idea here is basically good, the default text is way too big for us, and it's also on the wrong layer since the 'Text' tool defaults to layer 21 (which is the top silkscreen, the same layer we used for the visual outline in the last step).
Adjustment Option 1: Use That Toolbar!
With the text still enabled (don't click anywhere yet and don't pressed escape!), you can either move your mouse up and adjust the current layer and text size in the 'Text' toolbar in the top of Eagle (highlighted below) ...
Which can be change to layer 25, with size 1.016:
Now the text should be a bit smaller, and on the right layer, and you can zoom out a bit with the scroll wheel on your mouse (or the zoom icons in the top toolbar), and place the '>Name' label to the side out our part, as follows:
The text should be a different color than the original yellow, since all layers in Eagle are color coded. If you've selected the right layer it should be a light gray color by default!
Click the mouse button to place the '>Name' label somewhere, and then press the escape key twice!
Pressing the escape key once will abort placing '>Name' and send you back to the text dialogue box, and pressing escape the second time will close the dialogue box and send us back to Eagle.
If you're not happy with the position of your text, just select the 'Move' tool and tweek the position a bit, but the position in the image above is generally good.
Pressing the escape key once will abort placing '>Name' and send you back to the text dialogue box, and pressing escape the second time will close the dialogue box and send us back to Eagle.
If you're not happy with the position of your text, just select the 'Move' tool and tweek the position a bit, but the position in the image above is generally good.
Adjustment Option Two: Eagle BFF #2, the Properties Window
Remember Eagle BFF #2? You can also use that to adjust all of these properties. Simply place the '>Name' text in an appropriate position on your package, and after pressing escape twice to get out of the text tool, right-click on the label and select the 'Properties' menu item.You can adjust the layer and size of your text in the Properties Window, shown highlighted below:
- Change the layer to 25 (tValues) and the Size to 1.016, then click the OK button, and the color should change to gray, which is the default for layer 25 (as seen in final image in option one above).
That's it ... once last text addition, and we're (at long last) done with our package!
Place the >Value Placeholder
Similar to the >Name Placeholder, you want to place another text label with '>Value', which Eagle will automatically update to contain the parts value. Follow exactly the same process described above, with these two exceptions:-
The >Value text should be place on Layer 27 (tValues)
- The size can be a bit smaller (perhaps 0.6096)
Essential Eagle Skills
The exact size of your >NAME and >VALUE text is really a matter of personal taste, and with time you'll find your own way ... but you should at least be consistent about it.Every part in my own library uses the following values (numbers shown on a mm grid!):
Name: Size = 0.8128, Ratio = 18%
Value: Size = 0.4064, Ratio = 10%
These are probably much smaller than many people may want -- the names aren't easily readable with a naked eye if you don't have good vision -- but I do a lot of boards with 0402 discretes, and tightly packed parts, so it's important to me to keep the labels small. During PCB layout I place the 'values' inside the parts so I know what values are related to what parts during assembly.
You can see this part with my own preferred label sizes below, but with enough patience you'll find your own style and figure out the values that work for you. For now, it's better to start bigger and simpler with the values use earlier in this tutorial:
Here's an example of a board using these sizes next to a few 0402 discretes, and you can see how I place the >Name beside the parts, and the >Value inside so that I know what's what during assembly. Names on the top layer are in blue, and names on the bottom layer are in gray:
Pro Tip: You can move the Name and Value items around on your PCB via the 'Smash' tool. Just 'Smash' your parts on the PCB, and you'll be able to move and resize them right in the board editor!
Essential Eagle Skills: Use Vector Fonts!
It's important to make sure you have vector fonts enabled in Eagle.By default, vector font aren't enabled, and not using them can make a mess of your Gerber files when it's time to go to production, so go to your 'Options > User Interface...' menu item, and enable the checkbox below if it isn't already. Your board manufacturer will thank you for it:
Text editor powered by tinymce.