Suggestions to improve KiCAD


Hi, I’ve been using KiCAD for last 6 weeks. It is a great software . Thank you very much. Here are some comments for each part of KiCAD that I think can help improve the software. What do you think?

Symbol Library Editor:
- You had a GREAT FANTASTIC idea of turning footprints into files. Also 3D models. Why didn’t you do that for symbols? Then managing them would be very easy. They would have been files in folders.
- When making a new Symbol, the pin table is not modifiable. But if it was I would change names and numbers and even add pins or remove some. Also maybe it could take the list of pins and names in the beginning and make the Symbol.
- in library editor, Why cannot pins be GNDs, is it because they are inputs?
- Can the current component be closed?

Schematic Editor:
- When we move parts in Schema wires should move with them but pressing G is not enough and make a mess most of the time. In Labview you have an option that re-routs the wires automatically and makes it clean.
- A problem that I have is that when I press W I don’t want it to start wiring as if I have clicked the mouse. I want it to just go to Wiring mode and let me click wherever I want. I know this is about preference but there are tons of other softwares like this. I am really used to it.
- when we move the wire, the whole wire should retrace quickly rather than letting us move each node.

Fortprint Editor:
- Imagine you want to edit properties of a narrow object in footprint editor, such as a line. The problem is that it snaps to the object in the background and opens property editor for that object rather than for the line. Because the line is narrow, it is difficult to be exactly on top of it unless you zoom a lot. So I suggest that when the cursor is “close enough” to another object it asks which one we would like to edit.
- Please allow filling zones in footprint editor. For example in silkscreen layer or even copper layers.
- In footprint and in pcb editor I cannot select multiple objects and change their layer. This is particularly useful to send drawings to other layers.
- About the search method in association of parts with footprints, I need to search for a specific name, can I? I couldn’t easily find it even in KiCAD v5.

PCB editor:
- when top copper and bottom copper are invisible, the vias will also be invisible. But its necessary to see if vias ruin the SilkScreen.
- Is it possible to keep the pads visible and hide traces?
- Objects that are on hidden layers can be selected. is that good? why?

in entire KiCAD

  • It’d be great to be able to press Ctrl+A when editing a TEXT object both in schematic and pcb editor.

  • In entire KiCAD, please make it possible to use CTRL+click for +Select and Alt+click for deselect a single object. similar to 3DS-MAX or even Wings plus “select invert”

  • I think its great if we could call symbol library manager and footprint library manager from main project window.

-Changing properties of multiple objects like in Altium Designer is most appreciated. There, those properties that are not similar are shown by … and those that are similar can be changed.

Best regards


1.) Read more before you post more.

2a.) Code these changes yourself.

2b.) Donate to KiCad to increase the chances that some of these wishlist items may be implemented.


Oh, and welcome to the KiCad user forum!


In case you didn’t know, this forum is run by KiCad users, not developers, and of the latter only some read this randomly.

I, another user who follows the development, can comment on some of this.

That’s one major point in the future version 6.0 (within couple of years).

It will be in the future version 5.1 (this or early next year).

That’s in the wishlist, but I don’t know when it would be implemented, if ever. About the future of the Schematic Editor you should know it may be changed radically in the future, maybe it will be mostly rewritten. But it will take time. User requests have been gathered for some years…

That would be a double edged sword. Some would hate it. Maybe it would be better to use the current possibilities:

  1. Learn to use zooming and panning with the middle mouse button. It’s very quick and lets you focus where you want.
  2. You can select a thin line with the selection box. Drag left, the selection box is blue and selects everything it touches. Just start it somewhere where there are no other items.

It’s possible already (in 5.0), there’s “Add graphic polygon” for other layers and you can create polygonal pads for the copper layers.

It’s an often requested feature. See in video in the main page and “object inspection”. I suppose it can do that. But it will be only in 6.0.

You should play with Layers Manager->Items for a while (in 5.0).

Maybe, maybe not. It’s a matter of taste, I think. You can use High contrast mode to be sure to select things only in one layer. But footprints are different, they are independent modules and there’s no one clear logic for how that should work.

Shift+click works in the board and footprint editors, but I agree it’s not in line with normal applications. You will get used to it, however.

In the nightly builds and in the future version 5.1 you can use Preferences-> Manage…Libraries.

That would be the object inspector.


What do you mean with that? Do you mean the electrical type? Then this FAQ article is is for you: Electrical type of schematic symbol pins

I have no idea what you mean with that. Care to elaborate?

this is a preference of yours. Others might like it (in fact i like this feature)
In other words: Most user interface stuff can not be made to fit every user as users have conflicting preferences.

That would require some sort of “auto router” for the schematic. (Same as your drag symbol request)

yes you can. In CvPcb there is a manual filter option. See this FAQ article for details How can i assign a footprint to a symbol? (The footprint browser might get a search function in v5.1)


Then you can use Shift+W, it just changes the tool. From the Help menu you can see the list of the hotkeys. And you can see the shortcuts in each menu item.

(This hotkey vs. shortcut difference is unintuitive IMO, and you can’t easily change them in eeschema, but it will also be better in later versions).


Hi Sadri,

I like to read these questions and especially the answers - its perfect for learning/understanding KiCad and my respect goes to the guys who give point-by-point answers !
However I have got the feeling that you tested KiCad very shortly and then decided to pour the results into this forum.
I tested KiCad for more than a year with Dummy-Projects. Then I tested the nightly builds and found them promising. Then I donated ! Then I did a VERY small project with V5. And only THEN did I dare :wink: to share my ideas and concerns.
I dont want to discourage you but KiCad HAS its specialties and only after some usage it feels right and if the development continues as from 4 to 5 Version 6 may feel VERY right - It just takes time …


In developers “forum” ( there are also discussion about standardize the shortcuts. A big step was did by these guys with the current “Preferences>>Shortcuts”.

In this page, @Sadri, you can post specif issues and ideas (explain why and how should work). I recommend a full understanding of KiCad before post ideas there, futhermore could be understood just as spam.
It is also there to contribute with coding (remember KiCad is a free software, there are few contributor here coding parts of KiCad or specific tools in Python to improve all users experience :grinning:).


A full “Auto-router” gets complicated quite quickly, but Drag certainly could do with a small IQ boost, in the form of a preserve orthogonal/add corner algorithm.

Even the very simplest drag wire segment, currently cannot add a corner at a 90’ part junction, instead it tugs the part along too. A ‘Z’ wire segment, will extend existing wires to drag, but it fails to add a wire segment if one is needed.

Currently, the least-clicks way to ‘drag’ from a 90’ wire end, is to simply add a new wire, and delete the redundant connection (segment pair).
(right click, delete connection, or BS+BS, or Del+Del, or Delete+Delete all do this.
I notice BS, with cursor right on the unwanted corner, deletes both segments - here, BS differs from Del,Delete keys)
ie right now, I’d suggest using W and BS, in combination with careful mouse placement, for cases where drag should have worked.

LTSpice is quite a simple SCH, but it also allows a window-drag, and it does have the preserve orthogonal/add corner action.

I’m sure this will come to KiCad SCH side, it’s just a question of when ?



Thanks a lot for your answers. I learnt a lot. I donated too and can’t really develop software. Thanks for the comments again.

Best regards


Contribution on discussions here and (if possible) reporting the errors/issues on launchpad is already a great help to community. :wink:



i´m just using KiCad 30 min and i already think the schema handling is like playing with a toy.
Just trying to place a bus with a few entries to some parts is not good. and later moving the bus, there is no strech. please look how easy it can be done in eagle.

Its great that Kicad is using 3-D Pics and you can get a lot parts, but it would be more great if the handling would be better.
Please concentrate to improof the handling.

I hope, that the bus take the wire labels at least from the parts for connection if there is no manual label.

in wich languages is it developed, may i can help

thanks Arnold


KiCad is always evolving. Right now they are porting the schematic display (not “handling” yet) to OpenGL/Cairo technology which is a necessary step towards the new tool framework. When the new framework comes in many aspects of schematics handling will no doubt be enhanced. The whole schematics backend, including the file format, will be rewritten. I think I have read rumors about better bus handling.

It’s written with C++ and WxWidgets UI toolkit. If you think you could help you can start following the kicad-developers mailing list and read


Better bus handling is planned and even nearly finished. It was a bit too late to make it into version 5. It will likely appear in the nightlies shortly after the v5.1 release. (At least if I remember the discussions on the mailing list correctly. )


Drawing bus connections is also entirely unnecessary as nets connect by name. You might need to draw a short bus to connect it to a hierarchical pin (and you may not), but the connections are only there because some people like the way they look. Usually, I don’t.


Hi! I have a suggestion about PCB printing/plotting.
At first I’ll describe my common workflow: to make a PCB I’m using a negative photoresist that’s to be exposed through the negative mask. The same mask is suitable for thermal transferring of toner using a smoothing-iron (Laser-Ironing Technology). Then I’m applying a liquid soldering mask that’s to be exposed through the positive mask. This way I need to print inverted and mirrored F.Cu, inverted B.Cu, then mirrored F.Mask and B.Mask.
This requires a lot of switching each time and makes impossible to setup it once and for all. So the suggestion is to make the Mirrored plot/print and the Negative plot/print options individual for each layer.


I think it’s possible to script that in python.


This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.