Greetings,
Some of the devices I'm using have a number of input-only pins with
internal pull-ups, so if the default state is what you want you can
leave the pin unconnected. Eagle properly complains about this situation
during the ERC.
There are a couple of ways to fix this. One is to change the direction
of the pin to "NC" in the library, but then if you decide to connect the
pin you'll have to change the library. This won't work at all if you
have multiple instantiations of the device.
Another way to fix it is to change the direction to "I/O", but then the
ERC won't know if you really intended to connect the pin or not. I like
letting the tools help me find my mistakes whenever possible.
Usually I'll just put a "N/C" text label on the schematic so I know to
approve this situation during the ERC, but I've seen other tools that
allow marking a pin N/C. I know there have been discussions here over
the years on how to do this in Eagle, but I never saw a good solution. I
think I just found one.
I'm using Eagle 5.10.0, in case this makes a difference.
What I did was this:
1) Create a new package called "NC" with a single SMD pad of size 0.0 x
0.0. Make sure the pad is on top of the package origin. You can put a
small mark on top of the pad on the tDocu layer to make it easier to
place because the pad itself won't be visible on the board, only its
origin. I named the pad "N/C".
2) Create a new symbol called "NC" with a single pin with type "PAS"
(passive).
3) Create a new device called "NC" using this package and symbol.
Connect the pin to the pad. I also fiddled with the visibility so only
the pad name at the end of the pin showed up and not the pin number
above the pin. Give the device a prefix like "NC". Set the value off.
4) On the schematic I add one of these NC devices next to each input I
don't want connected. Connect the input to the "N/C" pin with a net. It
sounds a bit counter-intuitive, but it looks good visually and makes the
ERC happy.
5) On the board I get an origin cross and the tDocu mark for each NC
device off to the side with the other unplaced components. Place the NC
component on top of or adjacent to the device pin. I was sort-of
expecting a DRC "overlap" error but that doesn't happen. Connect the NC
"pad" to the component pin with a short trace to eliminate the airwire.
Zero-width traces generate DRC errors so just use something acceptable
to the DRC; if you've put the NC device on top of the pad this trace
won't even be visible.
It's a little bit more work, but the result looks good, and avoids
having to approve ERC errors. I'd rather CadSoft provided a mechanism to
mark inputs and outputs as N/C explicitly, but this seems to handle the
situation reasonably.
Suggestions and comments are encouraged!