KiCad Wish List


#1

I’m fairly new to PCB development but I have already run into several limitations and issues. Here is my wishlist:

  1. Integrated BOM support where multiple part numbers can be listed, for example, if the primary part is back-ordered. Even better if this could tie into Digikey, Mouser, etc. It would be even better if it could use parts that are in stock

  2. Support to panelize PCBs. I tried the GUI MONO/Windows application but couldn’t get anywhere. I hacked up the Panalyzer python script in order to support KiCad 5 (it mostly works as long as you don’t use some of the advanced flood features).

  3. Support for curved traces. I’ve seen all the arguments about not needing them for RF, but they become important for flexible PCB boards.

  4. Support for teardrop VIAs (also useful for flexible PCBs).

  5. Better support for 3D models. I have found numerous footprints that point to non-existent WRL files (when .STEP files may be present).

  6. Support for grabbing 3D models from SnapEDA. I have had a number of devices modeled for $0.99.

  7. GIT integration. It would be very nice if GIT or version control could be integrated.

  8. The ability to open multiple schematics for copy/paste.

  9. Symbol and footprint integration could be better. For example, in the symbol editor properties there is no way to browse footprints when adding footprints to the footprint filter. Copy and paste doesn’t work either so I have to copy the footprint name someplace else (i.e. an editor) then copy and paste that into the footprint filter when adding a new footprint.

  10. The ability to globally change footprints. This is easy enough to do in a text editor.


#2

@Aaron_Williams, here is a forum for the user community. The features request and enhancement should be found / posted in https://bugs.launchpad.net/kicad

Some examples (of your requests):

3 https://bugs.launchpad.net/kicad/+bug/1577958

4 https://bugs.launchpad.net/kicad/+bug/593972

8 https://bugs.launchpad.net/kicad/+bug/1778357


#3

I have another wishlist. I should be able to tell DRC to selectively tell the DRC to ignore errors. Some footprints erroneously generate errors about a trace near a pad. I don’t wish to change my trace spacing, which is more than the board manufacturer requires, but I also want it to suppress these errors. Ideally it would say X DRC errors suppressed. If those sections are edited, the errors could return.


#4

How is the Fab House going to magically fabricate the clearances that you selectively ignored?


#5

With regard to the wish list, couple of points to consider …

  1. You can already put extra fields with part numbers, supplier names & sku’s, secondary part numbers etc into your symbols. However, that may not be the best strategy. An alternative approach is to associate a house part number with each component and abstract your purchasing from your design. That way you can substitute equivalent parts more simply. There have been several discussions on this forum about this approach and it’s alternatives. I know there are users who tie there house part numbers into a spreadsheet of ‘approved’ components, there is the ‘kicost’ script and at least one other database solution for PartKeepr using Octopart as a backend. https://github.com/Gasman2014/KC2PK

  2. The current footprints have a ‘placeholder’ file for a 3d model, but that model may not have been made or submitted yet. This makes it easier for the library maintainers to incorporate models - just a single pull request for the model rather than one pull request for the model and then another for the footprint itself to add the model name. STEP models are more useful for mechanical design, wrl are more for eye-candy. There is a mature integration with FreeCad in the form of StepUp.

  3. Presumably the SnapEDA models are STEP? If so, just put them in your own library and associate them with your component. I would be surprised if anyone wants to write a tool that ties users to a commercial supplier in a FOSS program.

  4. Long recent discussion about this here … Does Kicad need version control integration, or is it just me?

As has been mentioned previously, this is a user forum where alternatives and workarounds can be suggested - or the workflow explained. Otherwise, you need to submit or add your voice to an existing bug report/feature request. (Sign up to launchpad and add your name to the ‘this bug affects me too’ to increase the bug-heat. This may raise the profile of the bug (or may not - it is not the developers stated goal to bend to popular features unless they are also demonstrably ‘better features’ too)

You are much more likely to get buy-in if you can persuade a developer of the merit of your proposal - especially if it is an itch that they wish to scratch too. Helping out with the collective effort - e.g. by helping with coding/models/documentation etc is also likely to improve your chances of your proposals taking off.

‘You don’t get owt for nowt’ to use a Yorkshire phrase :wink:


#6

The SNAPEDA models are all under a creative commons share and share alike license so there shouldn’t be a problem integrating them. I also have found the 3D models quite helpful in placing components and seeing what the board will look like, especially when there are some rather tall parts or things get complicated. I have found a lot of silkscreen issues with this, where the part covers the silkscreen. The SNAPEda models are STEP and they also export KiCad footprints.

As for version control, the software development tool I use has integrated version control which I have found quite useful, especially since with a couple of clicks I can tell what has changed or perform other operations. Since GIT is already used with KiCad I thought it would be nice to integrate GIT support to always get the latest up-to-date footprints and symbols.

I’ve tried a number of BOM plugins with varying levels of success and have found that there are a number of issues with KiCad 5 or they don’t run on Linux very well, if at all. I’ve had the best luck with Boms-Away. Since I’m doing this in my spare time at home so I don’t have a “house” part number, just what I can find on Digikey and Mouser.

At some point, I have a number of footprints and symbols I’d like to submit to KiCad for parts not already supported (i.e. some power modules and connectors). I even have 3-D STEP models of all of the devices (under a creative commons license).

The 3-D models were especially helpful with this board: https://github.com/aaronw2/led-controller-wrover32 which led me to adjust my silk screens and footprint info for several custom footprints in order to work better. The silkscreen for J4 was either covered by the connector or were too far out (I had to do a custom footprint of this connector). The SnapEDA model also provided a big piece of mind when I saw that my footprint actually matched the model, though with some minor adjustments. Maybe it’s because I’m a beginner, but I have found the 3D view immensely helpful. For missing models, if the vendor didn’t offer them they were only $0.99.

Besides, 3-D models are fun, especially when I’m stuck waiting for the mailman to deliver my latest board.
I also found it especially useful because my board contains components on both sides in order to fit within my size restrictions. Note that I paid for the Wrover32, ws1812-3535, microphone, and power supply (U1) models. The J2 and J4 models I found on the JST website, but I had to manually edit the STEP files in my text editor to make the connectors not be dark blue (I can’t for the life of me figure out how to get FreeCAD to do color).

I’m still basically a beginner, but I have already run into a number of KiCad’s limitations. In designing a flex board, rounded corners would be very useful, as would teardrop vias. I’ve also dealt with some DRC issues with some footprints where I’d love to tell the DRC to ignore them or else have KiCad properly support a minimum track spacing but not use that spacing (or go by the pad spacing rather than the track spacing for some footprints). I’m using 0.2mm track spacing, but the board house I’m using supports smaller spacing and some of the footprints are smaller than 0.2mm spacing.


Wrover32 LED controller


#7

Have you noticed:

I only plan to switch to KiCad so don’t know how I will be doing it here, but currently i am working with clearence set to 10mils but have on PCB some elements with clearence 7mils. To avoid DRC errors before running DRC I set clearence to 7.


#8

Nice render Aaron, but your second render is darker because the floor option is activated. So it is looking for the shadow caused by that floor plane.:+1:


#9

I have another major pet peeve. When I am designing a new symbol, I often want to import another existing symbol. Currently I can do this for, say, a mosfet by just going to another similar one and exporting it then loading that and creating a new one. The problem is that I want to do something like create an H-Bridge where there are multiple mosfets in one package. I suppose I could hack something up with my text editor (it wouldn’t be the first time I’ve copied and pasted symbols that way), but it would be extremely useful to just be able to add a symbol to the existing one. Maybe even have a wizard like some of the footprint ones with things like diodes, mosfets BJTs and other common symbols.


#10

Have a look at export/import drawing in the Symbol Editor ( on the right hand toolbar).


#11

Thanks. I didn’t know what those were for. I can’t read the hover text. The hover text shows up as a light grey over a slightly lighter grey background for some unknown reason.


#12

That smells like a bug.

(This forum really needs a “this smells like a bug” button that, if enough people press it, creates a bug report)


#13

If you mean the tool tips, it’s probably a problem with GTK under KDE. Try changing the GTK style in the KDE System settings.


#14

Yeah, NO!

Quite a lot of User issues are filtered out here on the forum without dragging down development time.


#15

That was it, it had been driving me nuts from day one since I never set Gnome up. The default theme made it unreadable.


#16

The track spacing I’m using is wider than the board house requires. I don’t want to have to set it to the minimum track spacing because KiCad barfs about pads being too close together (but fine for the board manufacturer). Minimum pad spacing should not be tied to the minimum track spacing. Just because a board house can use a smaller spacing doesn’t mean you should always use the smaller spacing. I rather my trace spacing be a bit conservative where possible.