Friday Hack Chat: The State Of KiCad

KiCad is twenty-five years old — like most PCB design software — and right now it’s the best Open Source tool to lay out your circuits, plop down a few resistors, and create a PCB from scratch. Over the last few years, a lot of people have been turning to KiCad to design some very impressive boards, something no doubt related to the fact that KiCad is free in both the beer and speech senses.

Join us this Friday for Hack Chat, we’re talking all about KiCad. If you have grievances or praise to heave onto the developers, this is the place to do it. Our guest for this week’s Hack Chat will be Wayne Stambaugh, project lead for KiCad. Among other things, Wayne is responsible for leading the KiCad product roadmap and he’s also one of the authors of the CvPcb Reference Manual

During this Hack Chat, we’ll discuss current and future features in everyone’s favorite Open Source EDA suite. This is a great chance to make suggestions and put forth wish list items. Wondering if KiCad is pronounced ‘Kai-CAD’ or ‘Key-CAD’? It’s the latter, but don’t let that stop you from asking Wayne to change that.

Items up for discussion include:

  • The new features on the 2018 roadmap
  • What’s happened in KiCad since the last KiCad Hack Chat
  • What goes on under the hood, and why should you never trust the autorouter?
  • Where do you turn when you’re just starting out in KiCad?

If you have something you’d like to ask the KiCad devs, make sure to add it to our discussion sheet. To do that, just leave a comment on the Hack Chat Event Page.

join-hack-chat

Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This Hack Chat is going down Friday, January 5th at noon, Pacific time. Time Zones got you down? Here’s a handy countdown timer!

Click that speech bubble to the left, and you’ll be taken directly to the Hack Chat group on Hackaday.io.

You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about.

47 thoughts on “Friday Hack Chat: The State Of KiCad

  1. I have never done and PCB design. I downloaded KiCad a week ago and within a few hours I had a completed design along with a custom logo on the silkscreen. I found it very easy to use and some great videos on youTube.

    1. You should also try CircuitMaker. It’s free and I found it even more polished with a million features. That’s probably the only downside. It took me at least two days longer to learn it than KiCAD or Eagle.

        1. And after trying for 10 minutes to follow a (pre) discussion in the extremely horrible interfarce i gave up, so i was unable to interact in the discussions.

          1. The interfarce may work when there is one post a minute or so, but not when there are more that 10 posts a minute like in a discussion.

          2. Scrolling back to previous post is only possible until someone posts a new line, so max 6 sec when there are 10posts/min.

          3. Typing flashes whole chat screen…

          Sorry. I was really looking forward to this chat. :(
          And this is a *big* improvement over plain old irc??

  2. >Over the last few years, a lot of people have been turning to KiCad to design some very impressive boards, something no doubt related to the fact that KiCad is free in both the beer and speech senses.

    And no doubt related to changes to the Eagle licence once Autodesk laid their greasy hands on it.

    1. Eagle was already starting to slip even before then. The dedicated self-abusers at Autodesk merely hastened matters with their desperate efforts to squeeze a few more cents from a declining user base.

  3. KiCad is decent as a program, but there are many things with it that seems like it were designed in a time when modern standards for graphical user interfaces were made.

    Like how the zoom function centers the view to the pointer, forces the pointer to the center of the window. No other program I touched have behaved like that, and well one can learn, or the developers could just change to the more eye pleasing method.

    Then the other annoying thing is that it doesn’t automatically create schematics symbols for simple chips. I fully understand it can’t know the pinout of the microcontroller, or SRAM, or other chip that I use. But not being able to place out x many pins on y sides of a simple box with the component name inside of it seems like a feature that could save me time. Designating pin functions and names, like if it is an input/output/tri-sate/etc is yet again something I as a user need to do, since the program can’t logically know that.

    But currently, the schematic symbol editor doesn’t have that feature. So I manually need to place out the pins, tell the program what pin number each one has, these two things can be automated. Like telling the chip, that one has 18 pins, and one wants them in a Dual In-line Format, with the typical pin numbering system. Though, I do need to give credit though that the current schematic symbol editor is great if one has something that isn’t a standard package.

    Last annoying thing is probably how bad the search feature is for the component library. And that it feels badly sorted, since everything is in an almost endless list. Sorting all connectors under the category “connectors” is lazy as best, since there are hundreds of connectors in the standard library. These could have been sorted into sub categorizes.

    Do note, I speak of the pure “out of the box” experience here.

    1. “KiCad is decent as a program, but there are many things with it that seems like it were designed in a time when modern standards for graphical user interfaces were made.”

      Blender, GIMP, and the Gnome vs KDE wars. GUIs have always been a contentious issue in OSS.

      1. Indeed. Some people seem to spend more time whining about the interface than actually using the tools in question.

        In this specific instance, Alexander’s complaints could be very easily addressed by reading the docs. Particularly the part about creating custom components. Alternatively, there are literally dozens of guides and videos on this very subject. (hint: try using the keywords ‘kicad custom component’ in the search engine of your choice.)

        1. I do know you can create custom components, and yes, one can read a lot of the documentation about it floating around the internet, and learn how to use the tools at hand. But I have yet to find any tool that generats a box with x many pins on y sides. The closes I came were a phyton script, but that didn’t do schematic components, but rather the actual physical components for the PCB layout stage.

          If there is a tool or a plugin that can create the schematics components automatically, and only require the user to fill in the pin information, then that would be what I were searching for.

          1. Svofski
            Yes. If only it were part of KiCad, so that I don’t need to access a website, or depend on it being there when I need it.
            And I have been poking around at it, and it is decently nice.

            But it isn’t out of the box, and a tool like it seriously should be included in the KiCad component editor from the start.

      2. The GUI in itself is actually fully usable. And yes, at times, one wishes that a button or two would be added, or that things might be a little strangely placed or formatted, this though is probably always a contentious issue.

        But the more annoying part is when the program doesn’t behave like anything one has ever touched before when it comes to basic things like zooming, marking, and even selecting a component.

        For an example, KiCad zooms like MS paint, no problem there, but forces the pointer to center of screen. Generally it is ill advised to move the pointer.

        Marking a group of components in KiCad by choosing the selection tool, before clicking and dragging over the components one wants will typically select those components, KiCad on the other hand will not selected them per say, but rather move the selected components around when you move the pointer. This it does regardless of any common key (ctrl, shif, alt) being pressed. While almost all other programs will just select the components, and let you choose what desired action you want to take. So that you for an example could copy, delete, edit (this could get complicated, since it is a group of most likely different components/traces) among other things.

        Then we have the part where there is a stack of components in one place, typically traces. If we right click we will get a drop down menu containing all the items at the location, from here we can select what item we wish to do things with. But if we left click on a stack of components, we get the same drop down menu, but any subsequent clicks will do nothing. So either KiCad stops activating the drop down menu with the left click, or make the left click work as well.

        These things makes the general user experience rather tedious. Especially if one notices that one needs to remake a large portion of the schematics. Since one can’t select them and delete them in one smooth action.

        Do take notice, this is based on the pure out of the box experience from the latest version available on Windows as of writing this.

          1. Even a simple problem that only slows people down can be made better.
            Saying that these problems are not problems when one overcomes them, or learns to live with them, is a bit like saying that sitting in an hours traffic jam every day is just a minor annoyance and is nothing worth doing something about.

          2. Hahah. Love the “to be fair…” exceptions after every critical comment and the apologetic comments like “Makes for a greater sense of accomplishment when you finally overcome them”.

            Just use CircuitMaker

        1. I agree that the KiCad GUI is counter-intuitive. It is much more keyboard-centric than I would like. It does not follow typical GUI design principles. A GUI that generally requires simultaneous mouse and keyboard interaction should probably be re-worked.

          I would love to see an alternate GUI front-end, that kept all the existing KiCad file formats.

          Suggestions:
          1. Support the ability to cut-and-paste schematic components to/from the clipboard, for inclusion into other projects or schematic pages.
          2. Components should be selectable via Ctrl+Click as well as box-drawing.
          3. Implement font hinting, so fonts rendered at low resolution are easier to view.
          4. Give the new program a name (possibly Cicada?), so everyone knows how to pronounce it. :)

          On the other hand, KiCad has some outstanding attributes:

          1. Free as in beer, and speech.
          2. The file formats are open, and can be edited with a text editor.
          3. The .kicad_pcb output file is completely self-contained. I can directly send this file as-is (no zipping or fiddling with gerber layers) to OshPark.com (or other PCB vendors) and get working boards delivered the first time, with no questions or issues.

          1. Yes, a second Schematics software could be implemented for those that prefer the more standardized intervention method, while the old one can be kept for the ones that already are used to the program. Or one could just add a menu option for it in preferences.

          2. As soon as i found out that you should treat the keyboard as extended mouse buttons, it seems and feels quite logical, except on laptops that is. i always use a mouse.

    2. Note: The feature you’re talking about is called “Center and warp cursor on zoom” (at least in Layout, that’s what it’s called). I find the feature very useful, simply because I can quickly adjust to where I want to zoom on. In some environments (virtual machines, etc), warping the cursor isn’t supported, and the lack of the functionality makes kicad useless to me.

      Fortunately for you, it’s a setting: Preferences -> General -> Pan and Zoom -> Uncheck “Center and warp cursor on zoom”.

    3. Nooo!! don’t change the zoom and center function. its one of the things i miss in about every other program. when working on a kicad layout and then changing to inkscape, I find it very irritating that zooming out does not bring the pointer to the center so you can see the missing side (if you are close to a border: for me the reason to zoom out a little in the first place) working with centered zooming shows so much more info than the stupid stay-at-the-border-so-you-still-see-half-around-that-point.

  4. It’s been a while since I looked at Kicad – how well does it handle RF & Microwave ? Stripline and microstrip?
    I can calculate trace widths and gaps elsewhere, given dielelectric and PCB thickness. My biggest hassle has always been TAPERED tracks, used for impedance matching and transformers.
    Linear tapers are bad, but you can hack something together using the the flood fill tool (and not limiting yourself to 45 degree angles). I never managed to get a curved taper.
    Is this possible with Kicad?

    1. I would like to take this further and say that kicad could do with better support for arbitrary copper and via structures. 1. Some problem areas are via arrays for plane bonding (you have to add them to the schematic as components otherwise they are deleted when you re-import the netlist)
      2. Tapers
      3. Vias with pads (IE ground pad), I think this could be best solved with some kind of pad type that has a via array in it?
      4. Unusually shaped pads (sometimes I need arbitrary polygon shaped pads)

      1. Hi James,
        1. and 4. are currently implemented in the nightly build and will be available in v5. You can also create a via in a pad (I’ve used this for a couple high speed production boards) but it’s not terribly intuitive. Tapers are not possible for lines but can be back-ended using fills. I put in a wishlist item for this feature.

        1. I’d settle for a plugin, or independent app, that produces a dimension-accurate custom component.
          Add “stripline” part to schematic, refer to component in library, insert on PCB – done.

  5. I’d HAPPILY pay 0.01 BTC to the team for a copy of kicad in winblows 10 or Linux that had a global parts and PCB footprints library. Ridiculous that I need to scatter custom footprints all over folders when I need most for a new variant on a quick design.

    1. you don’t need to scatter them around. i have all my tested and approved parts and footprints in a lib folder besides the projects i’m working on. made a template with all my preferred track, via and clearance sizes and including all libraries i need. no hassle.

  6. Ah, OK, so saying it “Key-CAD” is something that’s actually being promoted. This is confusing to us long-time CAD users, as there was actually a somewhat popular CAD package *called* KeyCAD from SoftKey. So, when someone says “Key-CAD” in conversation, I automatically think they’re using a clunky old package on Mac OS 9 or something :)

      1. IIRC, “HI” was also the Call Sign of the first amateur radio satellite.
        And how that Call Sign almost started WWIII was an amusing story often retold by the late scientist, Vin Lally.

Leave a Reply to SethCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.