Adjusting the Size of Traces in Autodesk Eagle
One element of good PCB design that is not often covered in much detail in tutorials is adjusting the width of traces in order to allow your PCB traces to safely carry differing amounts of current. The TL;DR is that traces which carry more current should be wider and/or use a thicker layer of copper compared with those carrying lower currents. Using traces that are too small for the amount of current they will be conducting can cause the traces to heat up, potentially so much that the heat damages the traces or destroys the entire PCB. Therefore, it is important to ensure every trace on your PCB is thick enough to handle the current you will be running through it.
This post shows you how to calculate how wide/thick your traces should be based on the amount of current they will carry, and how to control your trace widths in Autodesk Eagle.
Calculate Trace Widths
Calculating the required width and thickness for PCB traces is all about managing heat. Running current through a PCB trace will always cause that trace to heat up because, even though copper is a good electrical conductor, it still does have some resistance. The aim of using different trace widths is keeping the temperature rise within acceptable limits. As traces get wider, they are able to transfer heat more quickly to the air or to the PCB substrate, depending upon whether they are external or internal traces.
Using a Calculator
The easiest way to determine how wide your traces need to by is using online calculators. The one I like most is from DigiKey.
Using the calculator is as simple as inputting the characteristics of your design. The tool will then calculate the required trace width both for internal layers and for external layers. For typical hobby projects using two-layer PCBs, all the traces will be external traces. You will only have internal layers if you are using a board with four or more layers. Let’s go through the calculator inputs.
Current
The current parameter of the calculator is the maximum current your trace will need to carry. You can calculate the amount of current your design will need by adding together the maximum current draws for all of your components. Take, for example, a project I am working on currently called Garlic220. The design is essentially a 10×22 matrix is NeoPixel LEDs, so the design has a total of 220 LEDs to be powered.
Each LED can draw up to . So, . The design also has a controller, a Particle Photon, that can draw a maximum of about 350mA bringing the total maximum current for the circuit to . For safety and ease of calculations, I will just design the circuit to handle or of current. For your own design, it is always wise to overestimate the required current.
Thickness
The thickness input refers to the thickness of the copper layers on your PCB. This thickness is expressed in terms of the weight of copper on a square foot of PCB space, . You can get this information from your PCB manufacturer. They typically publish the copper weight they use in the specifications for their PCBs or allow you to choose a copper weight during the ordering process. The typical default value is .
If you play around with the DigiKey calculator, you will notice that using higher copper weights reduces the needed trace width. Usually, going from to does not add much cost to your PCB. Going with higher values, however, will rapidly increase the cost.
Temperature Rise
The temperature rise parameter indicates the maximum tolerable rise in temperature for your design. This is basically a decision you need to make. If in doubt, a typical value is 10-20oC. In theory, a higher temperature rise should not be damaging to your PCB; the materials from which PCBs are made can withstand quite high temperatures. However, as a general rule, electronics dislike high temperatures and changes in temperature so, if your design permits it, keeping the temperature rise parameter under 20oC is best.
Ambient Temperature and Trace Length (optional)
The final two parameters on the calculator are not needed to determine the necessary trace width. These two values will allow the calculator to give you the resistance of the trace and the voltage drop. Depending upon your design, this information may or may not be needed.
Trace Width
Once you’ve input, at minimum, the current, copper weight, and temperature rise, the DigiKey calculator will give you a value for the width of your trace. In order to manage heat, you will need to make sure your trace is at least this width. You will need to repeat this calculation for any other high current traces in your design.
Now let’s take a look at how to change trace widths in Autodesk Eagle.
Controlling Trace Width in Autodesk Eagle
So now that you know how wide the traces in your design need to be, let’s take a look at how to control trace widths in Autodesk Eagle.
1. Create Net Classes
The first step towards setting widths for your traces is creating Net Classes in Eagle. Net classes are basically categories of connections. You might have net classes for power nets, ground nets, data nets, low voltage nets, high current nets, and so on. You will find the net classes tool under Edit > Net Classes…
Each net class has a specified trace width, drill size, and clearance. When you open the net classes tool, you will notice that there is already a default net class. When you create a new net in your design, it is automatically assigned to the default net class. You will also notice that the trace width, drill size, and clearance values for the default net class are all zero. This is because, when you route your PCB, whether you are manually routing the board or using the autorounter, Eagle will set the trace width to be the larger value between the net class and the DRC. So, by setting the default trace width to zero, the DRC will always overrule the default net class.
Anyway, in order to control the width of your traces, you will need to create at least one new net class. It can be named whatever you’d like. For the trace width, input the width provided by the DigiKey calculator.
2. Assign Net Classes
Now that you have at least one net class with a trace width sufficient to carry the maximum current for your design, you will need to set your nets to use the new net class. As mentioned above, the default behavior for the software is to assign new nets to the default net class. To change your nets to use the new custom net class, you will need to use the Info tool, which is the “i” icon in the upper-left corner of the toolbar.
Using the info tool, select the net you wish to assign to your new net class. In the properties of the net you selected, you will find a drop-down for the net class. To set the trace to use the width specified by your new net class, simply select the net class from this drop-down.
3. Route your Board
Finally, when you route your board, the trace you assigned to your new net class will use the new width you specified.