Basic design questions


Hi, it’s my first project with an EDA, I chose KiCAD because it’s open source.
I’m using KiCAD 5.0.0 on Kubuntu 18.04 and I have a few questions:



3D view

1: Assigning 3D model to existing footprint

I have used the existing TerminalBlock_Phoenix_MPT-0.5-2-2.54* footprint from KiCAD for my SW_Push components however this footprint does not have a 3D model.

I have added the 3D model using the Footprint properties:

I have to add the model and tweak the rotation/offset for each connector on my layout.

What would be a better way? Is copying the KiCAD footprint in my project directory and modifying it to add the 3D model a good idea? I want my project to be portable between computers/platforms.

2: Mounting holes

I call mounting holes the holes that I will put screws inside in to secure the PCB.
I have used the Add Footprint tool and I have chosen MountingHole_3.2mm_M3 footprint.

  • Is this the right way to add a hole for a screw?
    I have renamed the REF** field to Mounting hole, so that is is printed on the silk mask, is it ok to do such things?

3: DRC errors

  • Is it ok to ignore the “unconnected” errors from the DRC report for my push buttons? Electrically it is not a problem.
  • I have an error about the pads of the phoenix contact pins, they are too close:
    • Will this prevent the board from being correctly manufactured?
    • Should I edit the footprint and make the pads smaller so that they don’t overlap?

4: Ready?

  • Do you see anything that is missing from manufacturing this part?
  • Big errors?
  • Tips to reduce the cost of the board?



If you use the offical footprints with the official 3D models, they are aligned.
If you have download the 3D model from any other site (including manufaturer site), then kicad_stepup + freecad is what you need. there are many posts in this forum abour kicad_stepup.

It is one right way to add a hole. It is the way I use.
Other people like to add the mounting hole in the schematic as well.

You can put on the silkscreen whatever you want. Nothing is mandatory.

If you know there isn’t a problem (both number 1 pins and number 2 pins connected internally) it is ok. Some people prefer to make a 4 pin symbol and mark pins 3 and 4 as not connected.

Possibly yes. If they overlap there will be a shortcut.


In this case the problem is not against unconnected pins.
The problem is between the two real pins connected to different nets. This might be because the kicad default DRC settings are quite conservative.
If the settings are that way because the Fabricator requires them in this manner then @VictorL will need to reduce the pad sizes for this footprint or select a component with larger pin spacing.


Rene_Poschl the unconnected pins are on the push buttons, not on the terminal blocks, I think there is some confusion on your side :slight_smile:

I will leave the 2 other pins of the push buttons unconnected.

I will use a wider terminal block so that I don’t have this error and I can find cheaper manufacturers (because then the tolerances will be greater!).

I will take a look at kicad_stepup, I did not know this tool but I’m already familiar with FreeCAD.

Thanks for the valuable input :sunny:


What is the part number of the screw terminals you plan to use? At the moment, it does not appear to me that the Footprints are correct.

What is the reasoning for the screw terminal orientation? Typically, screw terminals will go near the edge of the board with their openings facing outward.

Unless there is good reason not to, put the mounting holes in between the two circuits. This will reduce your board size and cost by 2/3rds.


With the current layout orientation, all that needs to be done is to route the trace outside the first pad of the button. Spending a little extra time to learn how to route around issues will do nothing but make you better at it the next time on a more important project.

How do you know for certain that there is an error? Did you double check that your Design Rules are set to the minimums specified by the Fab house you plan on using?


I prefer to add the mounting hole as a single pin connector to the schematic. This makes it easy to connect the PTH ones to GND.
Another reason is that netlist import can delete extra footprints, which removes holes added manually to pcbnew.


Screw terminal footprint

I was planning to use the Pheonix contact 1725656 but I will use a KF301-5.0-2P instead which has a much wider pitch, eliminating the problem.

The footprint of the Phoenix contact screw terminal corresponds exactly to the 3D model I have used so I think it is correct!

Screw terminal orientation

I will hide the board (and the screw connectors) into a 3D printed enclosure, leaving only one hole for the 4 cables to go out of the enclosure, placing them face to face is one way to do it, I can also make them face the exterior or the enclosure.

I will try to put the mounting holes between the circuits but I’m not sure I will be able to. I need some room because the push buttons will be actuated through the 3D printed enclosure, exactly like the Prusa X button (right under the guys finger)

Unconnected button pins

I will connect the unconnected button pins, it’s true that it cannot hurt and won’t increase the price by much.

Design rules

I have checked again and my design rules are set to the minimum spacing (6 mil, seeedstudio), using an other screw terminal feels like a nice solution to keep the price low.


@davidsrsb I did not know that, I will try to add the mounting hole in the schematic to avoid any problems


Hi, IAW IEEE 315, Clause 22.4 the class letter for a switch is just “S”. SW is the abbreviation for a switch but is not the class letter. Why use two letters when one will do? In my day SW meant shortwave and these days SW has a connotation of software.

The screw terminal schematic symbol should be that of a terminal, which is in IEC 60617 and found in IEEE 315 at Clause 5.1.1

And the class letter to use is “E” as the class letters J and P are reserved for mating connectors.

Schematic diagrams are for showing electrical connectivity while the assembly drawing, in this case the board layout (3D view) is the proper place to show the mechanical/physical properties.


You start to go onto my nerves with your constant war on anything not compliant with that particular standard. The user did ask some basic questions about the design. They did not want to get berated on their wrong usage of some standard for schematic symbols.

Also i would guess everyone who ever saw a screw terminal in the past will instantly recognise what the intent behind the symbol in KiCads lib is. The one you show is not as clear and therefore superior in my opinion. (Meaning i will veto any attempt to change this symbol to the one in the standard.)

Remember your standard is now more than 30 years old. Computers where not really a thing back then. Drawing the screw terminal symbol by hand as we have it now in the lib would indeed be a nightmare. A computer has no trouble with that.