Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Eagle. Is it possible to disable the DRC rule, which generates via-in-pad error?

Status
Not open for further replies.

kender

Advanced Member level 4
Joined
Jun 19, 2005
Messages
1,425
Helped
138
Reputation
276
Reaction score
39
Trophy points
1,328
Location
Stanford, SF Bay Peninsula, California, Earth, Sol
Activity points
10,035
Colleagues,

I’d like to make a board where some of the vias are on SMT pads. I’m aware of the potential assembly problems, which via-in-pad might cause. My circuit will be hand assembled.

When I try to make via-in-pad, Eagle generates a pop-up message “can’t set via to layer 1”, or draws a big yellow X on the layout. Is it possible to suppress this error in Eagle layout :?:

I've set SMD & Via, SMD & Pad to 0 on the "Clearance" tab of the DRC. But, I keep getting the same error.
I'm aware of one workaround for this. A via can be drawn next to the pad and dragged to the pad afterwards. But, doing this for lots of pads would be a PITA.

Any suggestion, insight or reference is really appreciated!

Cheers,
- Nick

P.S. I'm not a newbie to PCB layout, but to Eagle I'm a newbie. Running 6.2.0 (free).
 
Last edited:

Colleagues,

I’d like to make a board where some of the vias are on SMT pads. I’m aware of the potential assembly problems, which via-in-pad might cause. My circuit will be hand assembled.

When I try to make via-in-pad, Eagle generates a pop-up message “can’t set via to layer 1”, or draws a big yellow X on the layout.
I'm aware of one workaround for this. A via can be drawn next to the pad and dragged to the pad afterwards. But, doing this for lots of pads would be a PITA.

Is it possible to suppress this error in Eagle layout :?:

I've set SMD & Via, SMD & Pad to 0 on the "Clearance" tab of the DRC. But, I keep getting the same error.

Any suggestion, insight or reference is really appreciated!

Cheers,
- Nick

P.S. I'm not a newbie to PCB layout, but to Eagle I'm a newbie. Running 6.2.0 (free).

From my experience, the DRC check only serves as a guide to help eliminate some common problems; it is not law. I just ran a DRC on one of my old boards and found that I had 56 errors; I had never even looked at it and my board came out fine.

I am not exactly sure why you are getting an error. If you are trying to place a via in the pad you need to make sure of a few things.
First, make sure that before you place the via, you have selected the correct layer on which you would like to place the via. secondly, when you place the via, make sure that it's name matches the name of the signal/pad on which you would like to place it. I just tried this and I cannot seem to reproduce any errors. If you send me your schematic/brd files I would be more than happy to take a look.

Regards,
Willis
 

From my experience, the DRC check only serves as a guide to help eliminate some common problems; it is not law. I just ran a DRC on one of my old boards and found that I had 56 errors; I had never even looked at it and my board came out fine.
This feature of Eagle, which I’m struggling with, runs on-the-fly. It doesn’t let me route a connection, if it contains via in pad. Like you, I’m used to DRC, which allows me to draw what I like, and highlights the errors, when I ask it to.

I just tried this and I cannot seem to reproduce any errors. If you send me your schematic/brd files I would be more than happy to take a look.

Attached is a small Eagle project, which allows to reproduce my problem. There isn't anything unusual about it. Here are the steps, which in the end give me the error:

  1. Select “Route” tool
  2. Left-click the air wire. Eagle shows the draft trace between the SMT pad and the mouse pointer. The draft trace is red, because it’s in the top layer, like the SMT pad.
  3. Middle-click. The draft trace becomes blue.
  4. Left-click to complete the trace. If everything were to go well, a via would be placed into the pad. But instead, I get an error message “can’t set via to layer 1”.
If you could look at this, I'd really appreciate it! If you need more info, I'd be glad to provide it.

Best,
- Nick
 

Attachments

  • viainpad6020.zip
    24.3 KB · Views: 90

A slightly imperfect solutions would be to route from the other direction so you reach the pad (on the blue side) and then click and get the X. The X means that there is a zero distance between the top and bottom connections but no via. Manually place a via. It will still leave the X unless you are exactly on the centre of the pad, but that really doesn't matter.

You could move the via off the pad slightly and then route it to get rid of the X - see attached.

Keith.
 

Attachments

  • viainpad.zip
    6 KB · Views: 84

I could have sworn that one of the version 6 patches made via-in-pad possible (though still not straightforward). Did you set your same trace distance design rule to zero?

In the past I was able to effectively do it back in version 5.11 with a dirty method, but it requires modifying the footprint of the components in question. For each pin of the footprint I want to be via-in-pad, I replace the SMT pad with a small via sized through hole pad. Then once the footprint is placed in the layout, I'll draw copper polygons around those vias in the shape of the desired pads. The solder mask stop must be manually generated with another mask polygon on top.
 

This feature of Eagle, which I’m struggling with, runs on-the-fly. It doesn’t let me route a connection, if it contains via in pad. Like you, I’m used to DRC, which allows me to draw what I like, and highlights the errors, when I ask it to.



Attached is a small Eagle project, which allows to reproduce my problem. There isn't anything unusual about it. Here are the steps, which in the end give me the error:

  1. Select “Route” tool
  2. Left-click the air wire. Eagle shows the draft trace between the SMT pad and the mouse pointer. The draft trace is red, because it’s in the top layer, like the SMT pad.
  3. Middle-click. The draft trace becomes blue.
  4. Left-click to complete the trace. If everything were to go well, a via would be placed into the pad. But instead, I get an error message “can’t set via to layer 1”.
If you could look at this, I'd really appreciate it! If you need more info, I'd be glad to provide it.

Best,
- Nick

From what you are explaining above I see two possibilities...

Possibility #1
It seems like you are using a via to drop down to the bottom copper layer and then trying to connect to a smd pad that exists only on the top layer. You need to jump back to the top layer with another via before you can connect to the smd pad on the top. If you are trying to route a trace on the bottom layer between two smd devices on the top layer, you will need a minimum of two vias.

Possibility #2
Here is a method that does not produce any results when I do it.
From the left select a vai, choosing the correct shape and size that you want (or type "via" into the cl). Place the via on the pad that you want it to be. Now type "name" into the cl. Click on the via that you just placed and assign it the same name as the signal that you will be routing to that pad/via. When you do this, you should see the air wire jump to the middle of the via, indicating that eagle recognizes that the via will be part of the trace. Do the same for the other smd pad on the other device. Now you can route in red (top layer) from the pad to the via; This should be a very small distance. Once you do that you should notice that eagle accepts this as a complete route. Do this for the other via too. Now, all that is left is the airwire between the two vias. you may now route in blue between the two in pad vias.

Willis
 

Attachments

  • test1.zip
    6.1 KB · Views: 91

I found a way to fix the X error. Just use the NAME command and then over the via change the name, using the name of the wire that you want to connect. For example if the wire have a name N$18, but the via is something else, just use the NAME command and change the via's name to N$18, then you will not have the X any more. and if you want to put the via in a specific position you will need to use the Info command to set the position right over the pad. Cheers
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top