Pads are not supported on inner layers right now. I am sure this has already been requested so head over to the bug tracker and add your voice to that request.
Personally I find KiCads separation of what can be placed on layers quite annoying and useless.
This is one of the best examples of a reason to be able to place footprints on an inner layer.
Another example is single layer power supply, where the tracks on the bottom are sometimes copied to the silk screen on the top.
Yet another example is a rigid / flex PCB, where the flex is on the inner layers and may have footprints for connectors.
In KiCad V5.0.2 there was a function to move or copy whole layers to other layers (copper could only be moved/copied to copper, and non-copper to non-copper).
This window seems to have dissapeared or simplified in KiCad V5.1.
There is a:
Pcbnew / Edit / Swap layers
but this does not take footprints from an extnal layer to an internal layer.
One option would be to draw them as tracks, and then lock the tracks.
The design is pretty simple, you can draw a few tracks and then make an array of them, or make use of the grid.
For multiple of these buttons, first design one, and then use the array function to multiply them. Either directly in place or next to the board and move them afterwards.
It’s probably a good idea to adust the settings of the interactive router when you’re doing this, because with the default settings it is pretty agressive in wanting to improve your hand crafted results.
Another option is to import your design as graphics on a coper layer.
At the moment KiCad has no design rule checking for graphics on copper so you have to be carefull with this.
Believe this or not, but they seem to be supported. Kind of. At least when I’m testing with a nightly buid.
Use a text editor to change the layer of a pad. After that you can’t see the pad in pcbnew or in the footprint editor. But when you plot gerbers it’s visible in the inner layer in the gerber file!
Edit: zone filling also obeys this pad even though the pad itself isn’t visible.
Edit2: track routing, too.
I just did a very simplistic test by putting text (“TTTTTTTT”) on an inner layer, then modifiying “widht” and “Height” and “thickness”.
It seems like it might be usable, but drawing custom graphics is probably a better idea.
Edit:
I experimented some more.
You can not directly draw lines / circles / arcs on any copper layer, but if you draw something you can select it and press “e” for edit, and then move it to a copper layer.
You have to do this with each line segment separately, I do not see an option to move a block of “things” to another layer.
You can however:
1). Draw a line.
2). Move it to an internal layer with “e” for edit.
3). Make an array of lines from it.
4). Edit individual end poins, thickness, etc, of those line segments.
@eelik
It seems to work with release version 5.1.0 - 1 also
By changing layer of pad to In1.cu in .kicad_mod file
it works
(with through hole pads in components it works with DRC)
Component pad can be seen in Assign Footprint dialog
But now in footprint editor, this can not be seen, as In1 layer is not supported
but this is not a big issue
@paulvdh,
Will keep your suggestions in mind. Will be useful in other cases to me.
Presently by modifying .kicad_mod file in text editor for the created foot print
It solves the immediate issue.
EDIT: to my surpise I didn’t find a request for pads in inner layers, although I’m sure it has been discussed. But I found another thread where someone already found out that the layers can be moved effectually. Footprints/pads on internal layers