"Correct" way to make an Eagle Schematic=>PCB

I'm working on an Schematic in EAGLE right now which I intend to make a PCB for. The Schematic includes buttons, switches and an LCD so it was easy to just pick the right parts and drop them in.

When designing the PCB I decided to use connectors/interfaces to the buttons, switch and LCD (since I don't want buttons for instance on the PCB) which means I would have to change from the functional schematic/part to something like a connector that I would create with labeled pins matching the function. This is a problem to me because I feel the Schematic loses a bit of readability.

I considered making a custom part with the correct symbol and the connector part but that won't work since I use a connector for multiple buttons. Is there some canonical way in which I can clearly delineate that an input pin goes to a button but also a connector pin (with physical presence on the PCB).

The solution seems to be to sacrifice readability and use connectors that are clearly labeled.

i usually show the off-board device with a connector wired in to the main circuit
the device just sits nearby as a reminder
label the wires and you should be good to go

You can add a label to the PCB that tells you what the connector is for, for example right below it you write 'LCD'. When you get the PCB back, you know that's where your LCD connection goes. You can even label individual pins that way. I frequently do that on multi-pin setups. I will label VCC, GND and signal lines. (look at any Arduino board and how the pins are all labeled.)

Now, if you have plenty of room on your PCB, you can even draw the outline of the device around the pins. For example, put a rectangle around the switch pins and write SW1 under neath it. In your schematic, you can give your switch part either the name or value of SW1 as well. This way, when you get your PCB back, however long that takes, you simply look in your schematic and figure out exactly what SW1 is and where it goes.

I usually add a new package to the library called "offboard" or something, copying the package from one of the connector libraries (or just defining a new package that is a couple of conveniently placed pads and a label.) It's an easy introduction to the library editor :slight_smile: