Need help with traces and netnames

This is my first time ever using kicad or anything to do with pcbs. i’m following a tutorial on how to create a pcb for a mechanical keyboard but i’m having trouble connecting pads to other pads via traces. in the tutorial it specifically states which pad to connect to which pad, but some of them are “incompatible” and are not allowing me to connect them. i’ve found a solution to this by renaming the netnames of the pads to be the same as its pair, but is this okay to do? are there any other fixes?

Welcome. Do I understand correctly that you don’t have a schematic but started directly on the PCB?

i created the schematic and finished it. now i’m just working on the pcb

Zip up your project and post it here, that will be much more helpful.

Because this is a brand new account its not letting me send any files:/ sorry

An admin will uplevel you in due course.

What do you mean by


Pardon me if my explanation is horrible because i have no idea what i’m talking about: on my pcb there are these pads with names on them. when i go to link two pads together via traces, it doesn’t give me the option(maybe because they’re not the same type or something?) but when i rename one of the pads to match the other pad that i’m trying to connect it to, it lets me connect them

Done. @aidankim5 post away.

1 Like (56.9 KB)
hopefully this file has everything you need. i am also using kicad 4.0.5 because the tutorial is pretty old and it was easier to follow if i used the same version

Ah don’t do that. It will be much harder to help you. Install v6 and ignore all v4 tutes.

If you can find a group of people riding penny farthings, ask one of them for help with V4. :slight_smile: Seriously: Like virtually all other “EDA” software, KiCad is set up for the pcb to follow from the schematic. Get the schematic to be what you want, and then KiCad should help you make the pcb layout agree with that. Personally I often change many netnames because I do not like the way that KiCad assigns them. But that is more of a preference than a critical matter.

do netnames actually change something or are they just for naming purposes?

The netnames control what is connected to what. Typically two or more symbol pins will be wired together in the schematic, and that gives them the same netname. But you can also manually assign netnames to connect wires or pins together.

I have attached a recent project of mine. This was done in version 5.99 You can see netnames such as +BAT which are connected together.

Woops I had connected an older zip file by mistake…

Slug_O_Cuter_04_12-11-2021b.pdf (117.5 KB) (199.6 KB)

got it. thanks for the help!! so if i do change the netname of a component to something else, it wont have any effect?

Components do not have netnames. Wires and connections have netnames. Component pins are assigned to netnames if they are connected. In theory, you could do a schematic by assigning a netname to every connected component pin, and not draw any wires. But this would be very difficult for a human to read. Maybe an amoeba could read it better, but they cannot tell you about it. :slight_smile:

As I say, when you wire a schematic, KiCad assigns netnames to those wires. But it tends to use netnames such as “R27_pin_2”. Resistors are usually less significant in my mind to begin with, and I really do not care about pin numbers on resistors. So I prefer to have netnames such as “Q9_collector” or “U11_Output” Those help me to know what I am doing when I lay out the pcb.

1 Like

got it. thanks so much for the help!! i really appreciate it!

I am surprised that this conversation concentrated on renaming nets at PCB. I have never ever did it. If I need to set my name for any net I do it by ‘Place net label’ at schematic (a button on the right toolbox). And practically I use it to make connections at schematic and not to see them while designing PCB. At my schematics all pins of microcontroller are connected to the bus (and got names on entering to it) and then all driven by microcontroller elements are also connected to that bus using the same net names. So my net names are simply needed to connect elements at schematic. It also helps a lot for someone writing a program for that processor. During PCB design if I see them or not - don’t cares. Except power nets (GND VCC) that need different routing than simply signal nets.
As in V6 we got the possibility to set colors for net lines than I will set GND to blue, and VCC to red and I can practically switch displaying net names off.

Have you installed KiCad V 6.0.7 as was told to do it?

I agree with retiredfeline here. KiCad V4.0.5 is quite old KiCad 4.0.5 Stable Release | KiCad EDA

It was released 6 years ago. KiCad is receiving a lot of development, and in the mean time two mayor versions of KiCad have been released (and lot’s of bug fix versions in between). The current stable version is V6.0.7. I also do NOT recommend to use KiCad-nightly V6.99. All (current) KiCad versions ending with “99” are “nightly” versions, and the main purpose of these is to help the developers with finding bugs. These versions literally change over night, and (almost?) every night.

I do recommend to export an .pdf (or .svg) version of your schematic before you update. These old KiCad versions have some issues with library management, and with the way schematic symbols are drawn, and having a .pdf version of your schematic can help a lot for repairing things if *&^%$#@! happens.

I have opened your project in KiCad V6 and I noticed a few weird things.
First, the diodes in your keyboard matrix are rotated 90 degrees:


The other weird thing is that not all resistors are connected to wires. R2 looks OK:

However, the other resistors, R1, R2, R3 do not connect to the wires in the schematic.
image image

And this is quite strange, because when I look at the schematic (the original one, in a text editor) then all these resistors seem to map to the same library symbol. When you see the small circles on the pins of the schematic symbols, or the squares on the wire ends, then the wires are not connected to the pins, and that should be fixed first (after upgrading to KiCad V6.0.7).

Apart from that, your project looks quite good. It’s a relatively simple schematic, which is excellent for a first project, and you’re putting some effort into decent PCB layout.

There is a bit of a problem with the outline of the PCB. You have drawn them on Edge.Cuts, and that is good, but you also have to make sure that the end points of lines and circles match. When I look at the North side of your PCB, (with the USB connector), then I see it’s made up from 4 straight line segments. That is not a real problem, but these lines do overlap a bit, and that is not good. I recommend you delete 3 of these four lines, then select the last remaining line segment (little squaare handles appear on the end if a line is selected:

And then you can drag the square handle of the endpoint and snap it to the endpoint of the arc in the corner. (At least, that is how it works in KiCad V6. KiCad V4 is too long ago for me to remember).