KiCAD PCB Design - Page 1
Forum section: electronics / general

author: EEVblog
author_rank: Unknown
timestamp: August 22, 2018, 07:02:20 am
content: Edited version of the live stream using KiCAD 5 for the first time to edit the 4 layer Gigatron PCB, generate gerbers for manufacture, and choosing a PCB supplier.Lots of talk about PCB layout, manufacturability, test coupons, professional PCB design, and feedback for the KiCAD team on PCB tool usability.

author: BrianHG
author_rank: Super Contributor
timestamp: August 22, 2018, 07:34:02 am
content: From a manufacturing stand point, the only gripe I have with KiCAD is you cannot use true power planes, or, automatically resize the angular rings on unconnected pads on the inner layers. Explanation of why this is useful and important, especially for high density BGA and even regular 0.1 inch pitch dip IC is here:Why you get more copper between pads and vias using a true power plane instead of polyfillInfo from KiCAD's website:KiCAD cant do it, without some special tricks: Optimizing Annular Rings of Vias in Inner Layershttps://forum.kicad.info/t/optimizing-annular-rings-of-vias-in-inner-layers/1514Good luck with it. It doesn't work on newer KiCAD 5. Any high density design, or BGA design actually really needs this as an automatic on/off function unless you want your inner layers looking like chopped up broken Swiss cheese under a BGA chip. This also counts for DIP ICs inbetween the pads like my photo examples above link to 'Why you get more copper between pads and vias using a true power plane...'Though there is a learning adjustment curve from Altium to KiCAD, learning you way around effectively, I cannot ague it's free price. Since I specialize in handheld devices with small BGA components, I really do need those mid layer poly-fills to get tight around all the vias to get maximum current without that broken fills around a group of different vias making that swiss cheese effect.

author: Rerouter
author_rank: Super Contributor
timestamp: August 22, 2018, 11:34:04 am
content: For the issues raised, It appears people have started filling out bug reports for them.e.g.https://bugs.launchpad.net/kicad/+bug/1788312With Kicad most of the development is reactionary based, If a lot of users are requesting that feature or function on that bug tracker, and its well explained to the devs, It gets implemented faster.

author: b_force
author_rank: Super Contributor
timestamp: August 22, 2018, 11:40:23 am
content: Quote from: Rerouter on August 22, 2018, 11:34:04 amPeople have been screaming about these issues for years.KiCad doesn't really seem to care (about people with MANY years of experience) and just want to draw their own plan.I personally kind of lost my hope.KiCad has a lot of potential, but unfortunately (like a lot of other open source projects) it just lacks focus and priorities.On top of that, they REALLY need some non-tech people on board, or people who know that not everyone likes to go back to scripts, programming code and other things besides PCB-design to fix things all the time.As a PCB designer I very simply want to only have to focus on my PCB as efficient, as smooth and nice as possible.Getting rid of non-standard hotkeys and mouse usages is already a start.

author: Rerouter
author_rank: Super Contributor
timestamp: August 22, 2018, 11:55:54 am
content: The keyboard hotkeys can be changed, however I agree the mouse functions should be changeable as well, Go to the tracker and select where it says "does this effect you too"https://bugs.launchpad.net/kicad/+bug/1778437Changing the program to suit other programs out of the box I would say No, I have spent years using this program, like you have spent years learning yours, You leave the defaults alone, A better suggestion would be a drop down box at the top of the hotkeys option dialog to select between some common ones, Right now you can import and export the .hotkeys file, with mouse functions moved into the same hotkeys file Its not a stretch to have it set up to behave like your program instead a few minutes out of the box.Now serious talk: what issues do you actually have, Like Daves issues he raised, I have been going over the bug listing and starting to make them more prominent, but From someone who already uses kicad it can be hard to compare to other tools I do not yet use.

author: wilfred
author_rank: Super Contributor
timestamp: August 22, 2018, 12:02:34 pm
content: Quote from: Rerouter on August 22, 2018, 11:34:04 amIf experienced users like Dave can show Kicad in use and provide the sort of feedback he did in this video I'd like to see that. Not so much how to use Kicad because that will date quickly but all the other aspects he was mentioning. Like straightening a trace and thermal whatever it was and so on.Is it possible to get a text log of the chat? Some viewers were making really useful comments.

author: b_force
author_rank: Super Contributor
timestamp: August 22, 2018, 12:07:05 pm
content: Quote from: Rerouter on August 22, 2018, 11:55:54 amWhat would help is the ability to completely customize the GUI.This can be done with almost every serious program on the market.For good reasons.KiCads interface is just extremely inconsistent and cumbersome. Dave very clearly showed this in the live stream (I haven't watched it live).It feels like a botched together, made by programming nerds (NOFI) student project with to many gimmicks that no-one is ever gonna need at it only confuses the hack out of people.Unnecessary many confusing hotkey moves for something that can be done just by clicking on objects.In fact, the mouse isn't barely being used at all?Another thing, people keep talking about bug-listings.Bugs don't have anything to do with this.You can have a bug free program that works like a turd.

author: Rerouter
author_rank: Super Contributor
timestamp: August 22, 2018, 12:23:19 pm
content: Well that was less than I expected...What I meant is be specific, You see issues where my learned behaviors just look past, What parts of the UI are problematic? vs someones literal first try, not being familiar with it, If i was to fire up Eagle, or Altium, My first try would not fair much better.Every thing that has a Hotkey has a button, Personally I don't use the hotkeys, Its just easier on chat to say "X for trace" than "the green squiggly line button on the right hand toolbar"The bug listing is what I point to, As being an open source project, that is where people go look to find things that need fixing, modifications, or addition of wishlist features, you might notice the mouse options in hotkey link in my last post was a "wishlist" item, Its not something that breaks the use of the program, e.g. a bug, but something that people want added. This is how these projects are focused,

author: b_force
author_rank: Super Contributor
timestamp: August 22, 2018, 12:41:06 pm
content: Quote from: Rerouter on August 22, 2018, 12:23:19 pmI am very sorry, but I don't get why this isn't specific.The inconsistency is just so extremely obvious. (did you even watched the video I even wonder)A program has to be easy to work with as much as possible.I always call this the iPhone mentality.You can argue a lot about Apple, but they nailed user experience in such a way that even my mum can use an iPhone.When you're making a product you want to make it as easy as possible for the user.Like I said, as a PCB designer I want to design PCBs as smooth and easy as possible.At this moment KiCad has WAY to many weird quirks.Users want things on obvious ways, want to click on things and it simply doesn't work or do anything at all."Well than you simply need to learn that" is the wrong approach anno 2018.Of course there is always some kind of learning curve, but just ignoring very obvious things is just stupid.Especially when it comes to ignoring certain interface choices that basically every big professional competitor is doing for many years.It's than very difficult to convince my colleagues to switch over.A certain amount of scepticism is normal, but at a certain point people don't have any confidence anymore in what the hell they are doing.But to give something else very specific.Batch renaming and changing shapes of hundreds of components at once. (like from THT to SMD)Individual thermal reliefs with even different individual DRC values.Plus all the things Dave mentioned in the video.These are are technical issues, not user interface issues.

author: mdszy
author_rank: Unknown
timestamp: August 22, 2018, 12:59:32 pm
content: I feel the same in the sense that if you're going into it for the first time and are confused then... well... join the club.I've used KiCAD for years too and at this point I'm plenty fast and haven't run into any serious limitations with it. (Only once, when I was playing around and wanted to add via stitching but couldn't, but they recently added that feature in KiCAD 5). I've made many boards, created footprints, schematic symbols, etc. etc. etc. and at this point I'm plenty proficient with it. If you're begging for Apple-esque UI design in an open source program you're barking up the wrong tree. Look at *any* open source software, none of it has an insanely great UI because they don't have staffers to devote to UI/UX design, and that's just something you have to deal with. When it comes to open source, I'd take KiCAD over geda any day...There's no point trying to convince anyone to switch from a professional grade PCB solution. That's absolutely not the purpose of the product. Obviously a product that costs thousands of dollars is going to be more well-made than an open source community-developed program, that's just common sense.If it isn't for you, it isn't for you. If you're a hobbyist or a small business who doesn't want to shell out tons of money for PCB software, then KiCAD is perfect. If not, then keep on keeping on.

author: Rerouter
author_rank: Super Contributor
timestamp: August 22, 2018, 01:10:57 pm
content: What I was trying to convey is your telling someone who has used it for years, and not the other programs, that things are not in the right place, I don't know what your right places are..I can atleast help with the last bit.1. Entering the properties of any component on the PCB program allows you to change the footprint of "That particular one", "All of that footprint", or "all of that Value".When they have Back-annotation functional In V6 this will close the additional step of updating in to "cvpcb" the footprint assignment step that is currently in place, to keep the netlist and PCB telling the same story., Noting that currently It will only throw a warning when you update from netlist that the footprint does not match. This is more about making it easier for future you if you need to revisit it.2. Individual thermal reliefs, You can set this on either the footprint when you create it, on the zone when you place one, or pressing "E" on a pad, (Or right click and select properties), You can set individual clearances, To clarify for Dave, the difference between Thermal relief and THT-thermal is, Thermal Relief is thermal spokes for SMD and TH alike, THT thermal is only fit zone spokes to through-hole components, leaving it to manual layout for SMD, this is if you want to reduce tombstoning by balancing the thermal capacity of both side of an SMD part.3. For the Issue dave raised about the Zone not showing when you right click an empty area, I would have to go digging, but I believe the community consensus was they would prefer no action to a selection dialog for a zone space, as you edit within the confines of a zone much more than you edit the zone (fill)

author: mdszy
author_rank: Unknown
timestamp: August 22, 2018, 01:13:38 pm
content: Quote from: Rerouter on August 22, 2018, 01:10:57 pmExactly. Imagine coming into someone's home or place of business for the first time and telling them everything needs to be rearranged and it doesn't make any sense, when they've been doing it their way for years and it works perfectly fine for them.

author: b_force
author_rank: Super Contributor
timestamp: August 22, 2018, 01:45:50 pm
content: Quote from: mdszy on August 22, 2018, 12:59:32 pmI am sorry, but that is just complete BS.It all has to do with setting the right priorities and focus.Instead of focussing months on fancy auto router, simulator and 3D graphics, they could spend their time in making a product work.The reason why I am getting sometimes a bit upset about it, is that it's just very frustrating, like talking to a big wall.Programs like KiCad have plenty of potential, could be easily better than the biggest competitors.But with the wrong focus it will always be just an overly complicated prototype hobbyist program that seems to be constantly defended by a big army of fanboys.I don;t seem what's wrong with some feedback?Makes you almost wonder that people don't want it to be great?As I clearly mentioned before (people seem to have skipped it).Basic scepticism is normal, but after a while it's more than thatClosing your ears and eyes for people (like Dave) with years of experience and knowledge is not only incredibly stupid, many find it also pretty disrespectful after a while and lose interest.It would credit the KiCad developers and the community around it a lot more to open up their minds, instead of defending their baby all the time.A better response would be' "Oh thanks for the suggestions, there seem to be actually some truth in it".But hey, what do I know, as if I never worked with PCBs before and tried KiCad several times in professional environments with different people.

author: mdszy
author_rank: Unknown
timestamp: August 22, 2018, 01:49:04 pm
content: Quote from: b_force on August 22, 2018, 01:45:50 pmThere's still the fact that the product does work, even though you're insisting that it's somehow unusable. Like I said, I've used it to create many manufactured circuit boards and it works fine for me. There's a point that it isn't even "constructive criticism" and just becomes useless whining. Again, these are volunteers, an autorouter or simulator might be something that people actually need, and if the rest of the product works, then great. They don't have the resources to devote to a full UI overhaul or something. That's just the nature of open source, which you're failing to understand.If you feel like you're "talking to a big wall" then maybe you need to step back and realize that KiCAD just isn't for you. If you have a problem with the community, then it's probably best to leave it

author: b_force
author_rank: Super Contributor
timestamp: August 22, 2018, 02:13:00 pm
content: Quote from: mdszy on August 22, 2018, 01:49:04 pmI think you're absolutely missing the point, and it's absolutely not ME failing to understand anything.It's not about if KiCad "isn't for me", it's about the fallacies people are using, always bringing up the excuse that it's open source or voluntary(for the record, Android, Firefox, Chrome, Libre Office are all open source projects as well)I am looking at the bigger picture here, instead individual cases.Volunteers or not, with great focus and good priorities unpaid people can do sometimes even better.I have worked in great voluntary projects with extremely awesome outcomes.But I have bailed way more projects because there wasn't any focus and understanding of the real world.Once again, I fail to understand what people don't seem to understand about the words focus and priorities?If a car has awesome specs, but it's undrivable nobody want it, it is that simple (please don't blow up my words here please, I hope you get the point)And once again as well, I don;t get when people in the field, with experience have suggestion to make it work an awful lot better or not only being ignored, they even have to defend themselves.You know what the difference is with voluntary vs paid business?With a paid business you would have already filed for bankruptcy.

author: BrianHG
author_rank: Super Contributor
timestamp: August 22, 2018, 06:39:00 pm
content: Quote from: b_force on August 22, 2018, 02:13:00 pmNone the less, this is difficult extremely difficult with something as complex as a complete EDA cad package. You also have developers who like to see things work their way, or even thing they tie to for example, like while routing, pressing the shift or control key to alter how a trace snaps to grid, or the closest endpoint which wasn't well documented in Protel 98, yet was still hidden in there and very useful, I'm sure KiCAD has a lot of little keys and tricks to do exactly what Dave wanted while editing with it, but, he was just playing around for the second time without reading any manual.I'm sure KiCAD get may requests for such features or changes, yet, some of which are requests in opposite directions. It's like saying do you want a Altium emulator? KiCAD looks more than good enough for many engineers and I would recommend it to anyone wanting to make their own PCBs, or even semi professionals who don't need some specific critical engineering industry tool.

author: mdszy
author_rank: Unknown
timestamp: August 22, 2018, 06:41:10 pm
content: Quote from: BrianHG on August 22, 2018, 06:39:00 pmExactly, there are lots of shortcuts and keys that make things easier but you have to look and find them. Quickly glancing at things won't help, just like anything else. If I picked up Altium without any manual I wouldn't be able to make half the board I'm able to make in KiCAD, at least not nearly as quickly.And yeah, my requirements aren't incredibly complex so KiCAD works just fine for the boards I have made. If/when I need something more complicated, then I'll move to that and might have to pay for something in that case, and I accept that that's the case.

author: langwadt
author_rank: Super Contributor
timestamp: August 22, 2018, 06:42:42 pm
content: Quote from: Rerouter on August 22, 2018, 12:23:19 pmsurely Kicad has it's quirks and problems but I also see a lot of "it doesn't work exactly like XYZ I've used for years, it is hopeless" and "the developers won't drop everything to make it work how I want it, they are terrible "

author: Rerouter
author_rank: Super Contributor
timestamp: August 22, 2018, 09:46:00 pm
content: All constructive feedback is fair. Dave made good points. Bforce made good points. And many of them can be implemented in ways that dont harm the existing user base.E.g. both dave and bforce indicated being able to use similar mouse and keyboard hotkeys to there program would make them happier. That can be done.Bforce wants the layout to be rearrangable. This is fair so long as he is willing to define what parts where for the toolbars.Keep it constructive. Not a flame war.

author: pointhi
author_rank: Contributor
timestamp: August 24, 2018, 05:55:37 pm
content: As someone who seems to have way more insights into KiCad development:UI inconsistency are currently being addressed. In KiCad 5 those fixes are mostly minor like a unified menu structure in the header. The current nightlies, on the other hand, have many dialogs overhauled including a consistent look and feel across all programs. Settings are also now structured in a way better way (Similar to software IDE's).Batch renaming and changing shapes of hundreds of components at once. (like from THT to SMD)- updating footprints in a batch is already possible. In case of renaming the use case is not defined clearly to understand what you want to achieve. KiCad 6 will get an object inspector, probably this is what you wantRearangable layout- is in the roadmapHotkeys- you can import/export profiles. Someone has to make them first for different EDA programs, but it does not seem much hassle to add them to KiCad by default as an optionRanting will not change anything. The devs are continuously working on many improvements. Using the bug tracker is the right way to go. In my case, some issues were solved in less than a day, and some reported ui issues were also fixed. And if you really really want something, you can always do it yourself as well (I know, people don't want to hear this from FOSS folk). I'm currently, for example, doing this to get Python 3 support working. When something is not a bug, you simply cannot expect it will get addressed quickly. The developers have their own work as well, as well as a roadmap. For commercial software, you cannot expect that the devs will implement your desired feature for free and promptly. Why expect it on a free and voluntary developed project?For the inner annular ring optimization, I didn't find a bug report, so I created one:https://bugs.launchpad.net/kicad/+bug/1788908

author: hli
author_rank: Frequent Contributor
timestamp: August 25, 2018, 12:29:20 pm
content: Since I just spend some evenings an getting a PCB done in KiCAD (first time I used v5), I would like to correct Dave on one issue he pointed out:The DRC window in the PCB editor actually can stay open while working on the PCB. When you single-click on an issue, its centered on the PCB, the DRC window stays open, and you can work on the PCB. Its just that the DRC window closes on double-click on an issue (which actually is handy - on a big monitor / dual monitor setup it can stay open, but on a smaller screen it can be closed easily so its not in the way).The missing automatic zoom-in would be handy, though. Also, the DRC issue in question sometimes is centered so its located behind the DRC window, which should be avoided.(In that case, instead of rambling for quite some time how the developers can be so stupid and not implement it the right way, just trying whether one uses the feature wrong would have been better. And its not as if the right behaviour was hidden).

author: idpromnut
author_rank: Unknown
timestamp: August 27, 2018, 02:56:02 pm
content: The point about where to click to edit the fill area was a huge "mmhm" moment for me; as a KiCAD user, this has absolutely infuriated me every time I have to adjust fill areas that I can't simply right click an "empty" section where there is just the fill area and get a pop-up with the fill properties. I've only used up to KiCAD 4, so perhaps this is fixed in KiCAD 5. Utterly stupid that you need to right click the fill boarder to edit properties.

author: mdszy
author_rank: Unknown
timestamp: August 27, 2018, 02:56:43 pm
content: Quote from: idpromnut on August 27, 2018, 02:56:02 pmI have to say I agree, especially with how tiny the border is that you have to click perfectly.

author: pointhi
author_rank: Contributor
timestamp: August 27, 2018, 08:29:02 pm
content: This issue was reported by me about half a year ago:https://bugs.launchpad.net/kicad/+bug/1753153

author: thm_w
author_rank: Super Contributor
timestamp: August 28, 2018, 09:35:14 pm
content: Quote from: pointhi on August 27, 2018, 08:29:02 pmCurious what one commenter there was worried about, so I installed KiCad. It has a "clarify selection" dropdown.So I can't see why there be any reason to not have an option to allow plane selection.

author: hendorog
author_rank: Super Contributor
timestamp: August 29, 2018, 03:38:27 am
content: Quote from: thm_w on August 28, 2018, 09:35:14 pmThere is no need to clarify if there is only one item close, so the plane would force you to always clarify every time you tried to do something.That would be a PITA.

author: Brumby
author_rank: Unknown
timestamp: August 29, 2018, 05:47:41 am
content: It would.

author: bson
author_rank: Unknown
timestamp: August 29, 2018, 07:29:13 am
content: Quote from: thm_w on August 28, 2018, 09:35:14 pmYou don't want to have to clarify what you clicked on every time there is a fill zone! Because that's going to be almost everywhere.Better to make it select a fill zone only when there are only fill zones. If there is anything other than a fill zone, ignore the fill zone. Could also select the top most fill zone, then next time clicked select the next fill zone down, and so on, until the bottom is reached, then return to the top. (Assuming there's nothing else.)This would make it quick to select a fill zone (there generally aren'tthatmany, I think at most I've had three in any one place - two inner planes and an oscillator ground pour on the top) yet never create ambiguities when selecting other kinds of objects. There's hardly ever a shortage of empty spaces to select a fill zone underneath!

author: bson
author_rank: Unknown
timestamp: August 29, 2018, 07:33:32 am
content: In general also, I'm not a fan of the "clarify" menu. I'd rather just have it automatically pick the next one in the list if I keep clicking; showing it visually is usually more meaningful than a bunch of text.Oh, and on delete with automatic selection, don't ask me to clarify. Just delete the whole list. If I want to delete one specific item I can explicitly select it first.

author: thm_w
author_rank: Super Contributor
timestamp: August 29, 2018, 08:28:41 pm
content: Quote from: bson on August 29, 2018, 07:29:13 amYes that would be a good solution.You could also check if its filled or unfilled, and only select if filled, seems like this option could work similar to Altiums shelve polygons. Generally if I'm not specifically working on planes I have them all shelved.

author: Bassman59
author_rank: Super Contributor
timestamp: August 31, 2018, 09:31:20 pm
content: Quote from: Rerouter on August 22, 2018, 01:10:57 pmYou donothave to use CvPCB at all. And that's been true for at least the three years I've been using Kicad.Here is the story. Back when the project first got started, it was a schematic editor and a PCB layout editor, and they were separate programs with separate libraries. (This is also why the user interface between schematic and PCB is inconsistent, and that's being addressed by the developers.) The way the workflow went was you'd place symbols on your schematic, wire it all up, and change values as necessary. So you'd change a generic NPN transistor to the 2N2222A and you'd change a generic op-amp to NE5532, and you'd change a generic resistor to 1k, and so on.Before you could do the layout, you needed to map each symbol to a desired footprint. This is where CvPCB came in. It would show you a list of the symbols in the design, and let you choose from your PCB libraries a footprint for each. When that was all done, you had to back-annotate the footprint choices to the schematic. This would populate each symbol's "footprint" field with your selections. Then, in the schematic editor you generated a netlist for the layout, which you would then import in the layout program, which pulled in the footprints and all of the connectivity was there.The key there was the backannotation. Once you selected a footprint for a part in the design, you didn't have to do that again. If you added parts, you needed to run CvPCB again to map footprints to those new parts. (Of course copying an existing backannotated symbol worked as you'd expect.)The problem with that process is that it's stupid. Professionals would never go through that process of placing generic symbols on a schematic and then editing symbol values to something real (for a BOM) and then use another process to match symbols to footprints. The chance of error is near 1.A bunch of users realized that you could create symbols in a schematic library that had the footprint field populated. And when the idea of footprint library tables was introduced (with Kicad 4), that field could also indicate the library in which that footprint could be found. (This eliminated the ambiguity about which SOIC-8 footprint the user really wanted.) So these users started created libraries of so-called "atomic parts," in which the symbols have proper names (OP275GSZ and not OPAMP), specific footprint callouts, and a name/part number to be used by the BOM generator.In other words, you create the part symbol once, with your chosen footprint included, and you use it everywhere. CvPCB is not necessary.Now this idea of "atomic parts" libraries is standard for Kicad 5. Kicad 5 does have some legacy libraries available, but pretty much all of the libraries have been reworked so a specific part symbol has a footprint and a 3D model.

author: nctnico
author_rank: Super Contributor
timestamp: September 02, 2018, 12:01:23 am
content: Quote from: BrianHG on August 22, 2018, 07:34:02 amOn the PCB CAD packages I have used this is a simple matter of choosing a thinner trace for the polyfill. I doubt Kicad will be any different.

author: Bassman59
author_rank: Super Contributor
timestamp: September 07, 2018, 11:39:55 pm
content: Quote from: nctnico on September 02, 2018, 12:01:23 amnctnico is correct. You have to make sure the trace thickness for the fill doesn't violate your design rules.

author: pointhi
author_rank: Contributor
timestamp: October 03, 2018, 10:00:34 pm
content: Just a short note: the zone selection is now fixed*https://github.com/KiCad/kicad-source-mirror/commit/6a6d580a1c245d64a8e28914f6f68a9acfd7fa3eI think the 5.1.0 release will be very nice from a UX standpoint. Actually, most of the work is UI related.