1
\$\begingroup\$

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?

\$\endgroup\$
6
  • \$\begingroup\$ I have also asked this question on Stack Overflow stackoverflow.com/questions/61172650/… \$\endgroup\$ – Andrew Doble Apr 14 '20 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 Apr 14 '20 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 Apr 14 '20 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\$ – Andrew Doble Apr 14 '20 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\$ – Andrew Doble Apr 14 '20 at 15:52
1
\$\begingroup\$

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

\$\endgroup\$
1
  • \$\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\$ – Andrew Doble Apr 15 '20 at 13:52
1
\$\begingroup\$

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.

\$\endgroup\$
3
  • \$\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\$ – Andrew Doble Apr 14 '20 at 15:57
  • \$\begingroup\$ Do you really mean QCAD? I thought it got renamed to LibreCAD. \$\endgroup\$ – Rene Pöschl Apr 14 '20 at 16:32
  • 1
    \$\begingroup\$ QCAD is actively in development still, LibreCAD is a community fork. \$\endgroup\$ – Dmitri S Apr 14 '20 at 16:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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