1. Introduction

 

This is the sixth part of my EAGLE Tutorial series, following on from EAGLE Tutorial: Library Part Creation Part 5 - Multiple Symbol Devices. If you haven't read the previous articles then I recommend you take a look there first as they set the scene for this part of the tutorial series and gives some general tips on using EAGLE.

 

In the previous instalment, right at the very end I gave a little example of using an attribute to hold a link to a data sheet to allow it to be found and opened up quickly. There are many other uses which we will cover as we go through this tutorial.

 

2. The purpose of attributes within EAGLE libraries

 

Attributes are used to store additional information associated with a part. The attributes defined may be different depending on the package variant and the values for each attribute are unique for each technology specified within a package variant. You may wonder why you might want to specify different attributes depending on the package variant and that is a good question, intuitively you wouldn't think there was any relevant information which you would want to capture which was different between different packages, but actually it can be useful. For example, the BGA Router feature in EAGLE v8 adds additional attributes (to the device in the board) to configure its operation for a particular device. You wouldn't want these additional attributes being associated with non-BGA packages.

 

So what sorts of things might we want to capture in attributes associated with a particular device?

 

I gave one example previously which was a link to a data sheet for a part. You could also store information relating to vendors and vendor part numbers, electrical parameters such as voltage, current, tolerance, etc, the package height, temperature range, and of course the value. For the purposes of this blog I will extend the THS4524 we created in the previous article to include some additional attributes.

 

The previous part was actually available in two versions, the standard version with an operating temperature of -40C to +85C and the extended temperature version which operated from -55C to +125C. The first thing I have done is changed the name of the part to allow the specification of different technologies for the two variants. In this case I added an I technology for the standard part and an M technology for the extended temperature range part. In the following section I will show how I added attributes for the data sheet, height, operating temperature, open loop gain, slew rate, and THD+N for these two parts.

 

AttributeStandardExtended
DATASHEEThttp://http://www.ti.com/lit/ds/symlink/ths4524.pdfhttp://www.ti.com/lit/ds/symlink/ths4524-ep.pdf
HEIGHT1.2mm1.2mm
OP_TEMP-40C to +85C-55C to +125C
OL_GAIN119dB119dB
SLEW_RATE490V/uS490V/uS
THD_N-112dBc-112dBc

 

3. Adding attributes

 

In the library, attributes are defined using the ATTRIBUTE command as follows:

 

ATTRIBUTE name ['value'][options]

 

Attribute names can be any alphanumeric digits plus '_', '#', and '-' and are case insensitive and cannot begin with a '-'.

 

The options which can be specified are constant, variable and delete. Specifying an attribute as constant will prevent its value being changed in the attribute editor in the schematic or board. The default without specifying constant is variable so it is not necessary to explicitly include this. If you wish to delete an attribute you simply use the delete option. Here are some examples:

 

ATTRIBUTE myAtt '123ABC' CONSTANT
ATTRIBUTE myAtt VARIABLE
ATTRIBUTE myAtt DELETE

 

However, before you can create any attributes you must first open up the device and select the package variant you would like to add attributes to and specify which technology they refer to with the TECHNOLOGY command.

 

TECHNOLOGY myTech

 

In order to create all the attributes given in the previous section for our example device, one the device is opened up (there is only one package variant) then you can either specify them in the GUI editor or issue the following commands to add them programatically:

 

TECHNOLOGY I; ATTRIBUTE DATASHEET 'http://http//www.ti.com/lit/ds/symlink/ths4524.pdf';
TECHNOLOGY M; ATTRIBUTE DATASHEET 'http://http//www.ti.com/lit/ds/symlink/ths4524-ep.pdf';
TECHNOLOGY I; ATTRIBUTE HEIGHT '1.2mm' CONSTANT;
TECHNOLOGY M; ATTRIBUTE HEIGHT '1.2mm' CONSTANT;
TECHNOLOGY I; ATTRIBUTE OP_TEMP '-40C to +85C' CONSTANT;
TECHNOLOGY M; ATTRIBUTE OP_TEMP '-55C to +125C' CONSTANT;
TECHNOLOGY I; ATTRIBUTE OL_GAIN '119dB' CONSTANT;
TECHNOLOGY M; ATTRIBUTE OL_GAIN '119dB' CONSTANT;
TECHNOLOGY I; ATTRIBUTE SLEW_RATE '490V/uS' CONSTANT;
TECHNOLOGY M; ATTRIBUTE SLEW_RATE '490V/uS' CONSTANT;
TECHNOLOGY I; ATTRIBUTE THD_N '-112dBc' CONSTANT;
TECHNOLOGY M; ATTRIBUTE THD_N '-112dBc' CONSTANT;

 

It's often much quicker to write a script to create attributes as you can utilise copy/paste and rerun the same script for different package variants. When you create lots of libraries, especially if you want to add technologies to specify value ranges and force the values in the attributes, you'll come to find the EAGLE standard GUI for adding these to be too cumbersome and slow.

 

4. Using the VALUE attribute with technologies

 

Sometimes you want to specify a range of available values for people to choose from in the schematic. For example if we take simple resistors, you might wish to provide users with an easy way to select values from the E24 standard value range. This range contains 24 standard values per decade, 1.0, 1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.7, 5.1, 5.6, 6.2, 6.8, 7.5, 8.2, 9.1. For each decade these standard values get multiplied by 10, 100, 1K, 10K, 100K, 1M, 10M, etc. In order to make this useful we can use technologies to allow us to specify and switch between values in this list using the TECHNOLOGY command in the schematic or board.

 

Lets work through how to do this, so we'll start with a simple library part for resistors. The device is called RES-*-? and is a simple resistor symbol with package variants available for standard 0402, 0603, 0805, 1206, 1210, and 1812 packages.

 

 

We'll start with the 0402 package variant selected. The first thing we need to do is add an attribute to hold the value of the part and override the built in VALUE attribute.

 

ATTRIBUTE VALUE CONSTANT

 

Now we need to remove the default technology and create technologies for all the standard values and fill in the attribute values for each entry:

 

TECHNOLOGY 0R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE 'JUMPER'; ATTRIBUTE VALUE '0R';
TECHNOLOGY 10R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '10R';
TECHNOLOGY 11R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '11R';
TECHNOLOGY 12R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '12R';
TECHNOLOGY 13R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '13R';
TECHNOLOGY 15R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '15R';
TECHNOLOGY 16R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '16R';
TECHNOLOGY 18R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '18R';
TECHNOLOGY 20R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '20R';
TECHNOLOGY 22R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '22R';
TECHNOLOGY 24R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '24R';
TECHNOLOGY 27R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '27R';
TECHNOLOGY 30R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '30R';
TECHNOLOGY 33R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '33R';
TECHNOLOGY 36R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '36R';
TECHNOLOGY 39R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '39R';
TECHNOLOGY 43R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '43R';
TECHNOLOGY 47R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '47R';
TECHNOLOGY 51R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '51R';
TECHNOLOGY 56R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '56R';
TECHNOLOGY 62R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '62R';
TECHNOLOGY 68R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '68R';
TECHNOLOGY 75R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '75R';
TECHNOLOGY 82R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '82R';
TECHNOLOGY 91R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '91R';
TECHNOLOGY 100R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '100R';
TECHNOLOGY 110R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '110R';
TECHNOLOGY 120R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '120R';
TECHNOLOGY 130R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '130R';
TECHNOLOGY 150R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '150R';
TECHNOLOGY 160R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '160R';
TECHNOLOGY 180R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '180R';
TECHNOLOGY 200R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '200R';
TECHNOLOGY 220R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '220R';
TECHNOLOGY 240R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '240R';
TECHNOLOGY 270R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '270R';
TECHNOLOGY 300R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '300R';
TECHNOLOGY 330R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '330R';
TECHNOLOGY 360R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '360R';
TECHNOLOGY 390R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '390R';
TECHNOLOGY 430R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '430R';
TECHNOLOGY 470R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '470R';
TECHNOLOGY 510R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '510R';
TECHNOLOGY 560R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '560R';
TECHNOLOGY 620R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '620R';
TECHNOLOGY 680R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '680R';
TECHNOLOGY 750R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '750R';
TECHNOLOGY 820R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '820R';
TECHNOLOGY 910R; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '910R';
TECHNOLOGY 1.0K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.0K';
TECHNOLOGY 1.1K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.1K';
TECHNOLOGY 1.2K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.2K';
TECHNOLOGY 1.3K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.3K';
TECHNOLOGY 1.5K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.5K';
TECHNOLOGY 1.6K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.6K';
TECHNOLOGY 1.8K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.8K';
TECHNOLOGY 2.0K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '2.0K';
TECHNOLOGY 2.2K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '2.2K';
TECHNOLOGY 2.4K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '2.4K';
TECHNOLOGY 2.7K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '2.7K';
TECHNOLOGY 3.0K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '3.0K';
TECHNOLOGY 3.3K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '3.3K';
TECHNOLOGY 3.6K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '3.6K';
TECHNOLOGY 3.9K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '3.9K';
TECHNOLOGY 4.3K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '4.3K';
TECHNOLOGY 4.7K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '4.7K';
TECHNOLOGY 5.1K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '5.1K';
TECHNOLOGY 5.6K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '5.6K';
TECHNOLOGY 6.2K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '6.2K';
TECHNOLOGY 6.8K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '6.8K';
TECHNOLOGY 7.5K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '7.5K';
TECHNOLOGY 8.2K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '8.2K';
TECHNOLOGY 9.1K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '9.1K';
TECHNOLOGY 10K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '10K';
TECHNOLOGY 11K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '11K';
TECHNOLOGY 12K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '12K';
TECHNOLOGY 13K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '13K';
TECHNOLOGY 15K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '15K';
TECHNOLOGY 16K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '16K';
TECHNOLOGY 18K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '18K';
TECHNOLOGY 20K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '20K';
TECHNOLOGY 22K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '22K';
TECHNOLOGY 24K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '24K';
TECHNOLOGY 27K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '27K';
TECHNOLOGY 30K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '30K';
TECHNOLOGY 33K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '33K';
TECHNOLOGY 36K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '36K';
TECHNOLOGY 39K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '39K';
TECHNOLOGY 43K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '43K';
TECHNOLOGY 47K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '47K';
TECHNOLOGY 51K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '51K';
TECHNOLOGY 56K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '56K';
TECHNOLOGY 62K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '62K';
TECHNOLOGY 68K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '68K';
TECHNOLOGY 75K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '75K';
TECHNOLOGY 82K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '82K';
TECHNOLOGY 91K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '91K';
TECHNOLOGY 100K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '100K';
TECHNOLOGY 110K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '110K';
TECHNOLOGY 120K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '120K';
TECHNOLOGY 130K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '130K';
TECHNOLOGY 150K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '150K';
TECHNOLOGY 160K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '160K';
TECHNOLOGY 180K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '180K';
TECHNOLOGY 200K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '200K';
TECHNOLOGY 220K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '220K';
TECHNOLOGY 240K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '240K';
TECHNOLOGY 270K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '270K';
TECHNOLOGY 300K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '300K';
TECHNOLOGY 330K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '330K';
TECHNOLOGY 360K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '360K';
TECHNOLOGY 390K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '390K';
TECHNOLOGY 430K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '430K';
TECHNOLOGY 470K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '470K';
TECHNOLOGY 510K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '510K';
TECHNOLOGY 560K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '560K';
TECHNOLOGY 620K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '620K';
TECHNOLOGY 680K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '680K';
TECHNOLOGY 750K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '750K';
TECHNOLOGY 820K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '820K';
TECHNOLOGY 910K; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '910K';
TECHNOLOGY 1.0M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.0M';
TECHNOLOGY 1.1M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.1M';
TECHNOLOGY 1.2M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.2M';
TECHNOLOGY 1.3M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.3M';
TECHNOLOGY 1.5M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.5M';
TECHNOLOGY 1.6M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.6M';
TECHNOLOGY 1.8M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '1.8M';
TECHNOLOGY 2.0M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '2.0M';
TECHNOLOGY 2.2M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '2.2M';
TECHNOLOGY 2.4M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '2.4M';
TECHNOLOGY 2.7M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '2.7M';
TECHNOLOGY 3.0M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '3.0M';
TECHNOLOGY 3.3M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '3.3M';
TECHNOLOGY 3.6M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '3.6M';
TECHNOLOGY 3.9M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '3.9M';
TECHNOLOGY 4.3M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '4.3M';
TECHNOLOGY 4.7M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '4.7M';
TECHNOLOGY 5.1M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '5.1M';
TECHNOLOGY 5.6M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '5.6M';
TECHNOLOGY 6.2M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '6.2M';
TECHNOLOGY 6.8M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '6.8M';
TECHNOLOGY 7.5M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '7.5M';
TECHNOLOGY 8.2M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '8.2M';
TECHNOLOGY 9.1M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '9.1M';
TECHNOLOGY 10M; ATTRIBUTE HEIGHT '0.4mm'; ATTRIBUTE POWER '1/16W'; ATTRIBUTE TOLERANCE '1%'; ATTRIBUTE VALUE '10M';
TECHNOLOGY -'';

 

Running the above script will take a few moments. The screen may flash for a few seconds while it's running through adding all the attributes. Once this is complete we can rinse and repeat for each of the other package variants, updating the attributes HEIGHT and POWER as appropriate for each different package size.

 

Once all the technologies and attributes have been added to the library you should see something similar to the following:

 

 

5. Completed attribute examples

 

The following shows how I quickly created useful attributes and added them to the THS4524 library part in EAGLE.

 

 

The following video shows the result of adding a technology driven value system to a resistor library part.

 

 

This concludes the sixth part of my new EAGLE tutorial series. Let me know what you think in the comments below and if you have any questions please feel free to ask!

 

Blog Series Reference

 

 

 

EAGLE Tutorial: Library Part Creation Part 1 - Creating Packages
EAGLE Tutorial: Library Part Creation Part 2 - Creating Symbols
EAGLE Tutorial: Library Part Creation Part 3 - Creating Devices
EAGLE Tutorial: Library Part Creation Part 4 - Advanced Packages and Package Variants
EAGLE Tutorial: Library Part Creation Part 4b - Supplemental worked example
EAGLE Tutorial: Library Part Creation Part 5 - Multiple Symbol Devices
EAGLE Tutorial: Library Part Creation Part 6 - Adding Attributes and Technologies