I am using Kicad (5.1.4) and would like that the schematic contains all the component wiring required for a PCB board as well as the wiring for components external to the PCB board (such as switches, displays etc.).

Previously I have set up an additional project for the external wiring. However, trying to manage both projects (e.g. ensuring consistency) is error prone.

I have tried not associating footprints with the external components. This seems to work in that Pcbnew does not attempt to layout the external components - meeting my goal - but still comes up with errors about the missing footprints. Secondly, it does not seem to be a “transparent” method in that it is not immediately obvious from the schematic which are the external components.

Is there a better way, for instance using hierarchical schematics?

  • \$\begingroup\$ I have also asked this question on Stack Overflow stackoverflow.com/questions/61172650/… \$\endgroup\$ Commented Apr 14, 2020 at 14:35
  • \$\begingroup\$ Welcome Andrew. What exactly are you trying to do here, it's a bit unclear. Do you have pin headers/connectors to connect wires between the board and the external component? \$\endgroup\$
    – awjlogan
    Commented Apr 14, 2020 at 14:47
  • \$\begingroup\$ I don't think that would be standard practice, to have parts that are not PCBA, in the PCB design files. (i.e. I wouldn't think that to have a cable made, I would have to send the PCB files to the cable manufacturer, and so on). \$\endgroup\$
    – Wesley Lee
    Commented Apr 14, 2020 at 14:55
  • \$\begingroup\$ @awjlogan I do have pin headers to connect to the external components. As expected these have a footprint and are placed on the PCB. However, I would like a schematic in the same Kicad project that shows the wiring from these headers headers to the external components as well as any wiring between the external components. \$\endgroup\$ Commented Apr 14, 2020 at 15:42
  • \$\begingroup\$ @WesleyLee I do see your point. One could envisage through that the EDA tool would be able to separately package parts of the project for distribution to different manufacturers etc.. An implication of this, is that my original "request" is leading to more complex requirements that I originally thought. This is also implied by the answer from Dmitri S \$\endgroup\$ Commented Apr 14, 2020 at 15:52

3 Answers 3


You can do a few things here. One option is to use the graphic drawing tools to include off board components in a nice way.

Another is to use a strange KiCad feature mostly used for power symbols. If you add a symbol and prefix its reference with "#" then KiCad does not include that symbol in the netlist (a symbol of that manner does not get a footprint)

You can then use normal wires to make connections to this off board symbol. For example if you have a connector then you might want to include the plug as an offboard connection, the cable by use of wires and the off board component itself.

One would hope that v6 will have a more intuitive alternative for such a feature. (example an explicit symbol setting for virtual or offboard components and possibly a separate setting for inclusion in the netlist and inclusion in the BOM)

In the professional world system level drawings are however mostly created in separate tools like eplan (an open source alternative would be https://qelectrotech.org/) This is the way to go if your system is has more than one PCB or if the offboard cabling is too complex to realistically be shown with the limited tools of KiCad.

I now also made a more detailed writeup on the forum FAQ https://forum.kicad.info/t/off-board-components-in-kicad-5/22286

  • \$\begingroup\$ Thanks for the answer and the write up in the FAQs. I modified my schematic as suggested. As long as you know the meaning of the references prefixed with "#" then it serves as documentation in the schematic as to what is on the PCB and what not. This solves my current problem, but still means I have to use other tools when I start using multi-board designs. Is this a requirement though from other users? Should I request this as a feature in Kicad 6++ (and if so, how) or this already on the Kicad team's roadmap? \$\endgroup\$ Commented Apr 15, 2020 at 13:52

There is no straightforward way to achieve what you would like, as it demands too much from any EDA software. You can certainly find a dozen workarounds to get to the eventual end point though.

More specifically, let's look at what happens when you put down an LCD on your schematic. The software expects it to be a component connected by traces. For traces to connect, it needs a footprint. If you drag wires to that component, it becomes part of the net, and the program expects it to be connected - otherwise it'll flag it as error, as it should.

In my work, we use a graphic editor to draw a system diagram that outlines these additional system-level components - in our case it's a simple 2d CAD software called QCAD.

  • \$\begingroup\$ This is similar to the approach that I originally used: having a separate Kicad project for the external wiring. I was hoping though that there was a feature in Kicad to handle this that I hadn't found. Seems my hopes have been dashed ;-) \$\endgroup\$ Commented Apr 14, 2020 at 15:57
  • \$\begingroup\$ Do you really mean QCAD? I thought it got renamed to LibreCAD. \$\endgroup\$ Commented Apr 14, 2020 at 16:32
  • 1
    \$\begingroup\$ QCAD is actively in development still, LibreCAD is a community fork. \$\endgroup\$
    – DSI
    Commented Apr 14, 2020 at 16:34

Now, in KiCad 6.0, editing a symbol has the option to exclude it from the board. After ticking this, the empty footprint doesn't result in an error when creating a board from the schematic.

Screenshot of KiCad schematic symbol properties window

  • \$\begingroup\$ In the meantime I've migrated to KiCad 6. However, I failed to notice this checkbox, so thanks for pointing it out - I'm going to be using it in my next project. \$\endgroup\$ Commented Jan 26, 2023 at 13:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.