Kicad - GUI is Horrific! - Page 1
Forum section: electronics / general

author: Docara
author_rank: Regular Contributor
timestamp: October 04, 2018, 06:44:53 pm
content: Now I will admit I am a complete novice using Kicad. I will also acknowledge I haven't read all the documentation I should have done. But my God the interface of Kicad is F***ing HORRIFIC!!!! Why can't I have multiple schematics in a project - I have one project with a requirement of 4 PCBs. Why can I have multiple sheets without 'hierarchy'. Why can't I import a schematic into an empty Project (because I accidently loaded Eeschema independently). WHY is the F***ing cursor permanently snapping on the screen so annoying...The list goes on!!By way of making a point before I get a right royal kicking from the Kicad fan boys. I loaded up Circuitmaker and proceeded to try and enter the same circuit as I was trying to do previously. After struggling with the daft component selection system (Kicad does this way better) within a couple of minutes I had tens of components placed and wired up with nice intuitive right click mouse clicks a appropriate. What an out and out pleasurable experience. It is such a shame I now have to go back a trawl through Kicad's documentation to figure out how to use it.I this day and age we should not have to sit on the bog with a tablet reading software's instruction manuals. SOO lets think about this laterally, you have loaded up a word processor. Would you expect to have to read the instructions before you work out how to type 'words' in - NO.If Kicad developers want to make a HUGE difference to their users lives the ought to take a leaf out of CM/Altiums user interface. With what Kicad can do it would quickly become the go to PCB package. You know I would pay for Kicad if the paid option was for a useable interace.Raant OverDoc

author: Bud
author_rank: Super Contributor
timestamp: October 04, 2018, 07:13:09 pm
content: You are going to get standard replies that what you want does not matter.

author: sethhillbrand
author_rank: Newbie
timestamp: October 04, 2018, 08:09:56 pm
content: Quote from: Docara on October 04, 2018, 06:44:53 pmOK.https://giving.web.cern.ch/civicrm/contribute/transact?reset=1&id=6

author: james_s
author_rank: Super Contributor
timestamp: October 04, 2018, 08:38:33 pm
content: It does have a horrific UI. So does every other professional level EDA I've tried. It's the priceof a tool being powerful and flexible, not to mention free. Read the documentation and/or watch some tutorials, many of the things you complain about can be fixed or worked around. If there are specific things that you find are broken, you can file a bug report. In the end though it's a bit like a 5 axis CNC machine or a commercial airliner, they are not easy for a beginner to just sit down and use because they are complex machines intended to be used by trained operators.KiCad is like any other EDA. You learn to use it and work around the warts. It will never be a polished iOS app.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: October 04, 2018, 09:27:04 pm
content: Quote from: Docara on October 04, 2018, 06:44:53 pmNo one is forcing you to use KiCad, so use Circuitmaker? I don't see the problem.It's funny how entitled people get when you give them free stuff.

author: coppercone2
author_rank: Super Contributor
timestamp: October 04, 2018, 09:46:58 pm
content: get altium. I used to use eagle cad and its horrid dog shit UI is night mare inducing. I don't think its meant for people who grew up on earth. I understand KiCAD might be similar to Eagle.altium UI uses human logic. or the other thing (circuit studio?) is also decent.at least its not GIMP LOL

author: Bassman59
author_rank: Super Contributor
timestamp: October 04, 2018, 11:41:26 pm
content: Quote from: coppercone2 on October 04, 2018, 09:46:58 pmYour understanding is not correct.A year and a half ago,I wrote,Quote from: me

author: coppercone2
author_rank: Super Contributor
timestamp: October 05, 2018, 12:09:00 am
content: at least it proves eagle cad is developed by space aliens

author: SiliconWizard
author_rank: Super Contributor
timestamp: October 05, 2018, 12:14:05 am
content: Quote from: Bassman59 on October 04, 2018, 11:41:26 pmGood one!Thing is, as I understood it, KiCad was once developed by a single guy who, if I'm not mistaken, was a teacher. Impressive work for a single developer but... the context says it all, pretty much. The key GUI features come from the original ideas, especially in the schematic editor which is the part that has been the least reworked of all. Anyone that had to deal with software written by university teachers will probably know where I'm heading to.I've taken a look at the source code, although not extensively, but changing the GUI substantially would probably require a complete rewrite.To be fair, they have done a pretty decent job with the layout editor's overhaul.

author: Fredderic
author_rank: Regular Contributor
timestamp: October 05, 2018, 05:02:55 am
content: QuoteWell, that explains a lot, actually… Back in University, we had a circuit simulator that was developed by the lecturer, and it did indeed have some very similar quirks. How odd…

author: PartialDischarge
author_rank: Super Contributor
timestamp: October 05, 2018, 06:45:01 am
content: QuoteThis. Completely wrong, says everything...I started using kicad 5 last july, and already have 4 designs with PCBs completed, of course I had to read documentation and try and try and try again. Now I'm very happy I made the switch from Altium cause it was too complex for what I do, dunno never liked it. I don't do RF or motherboards so kicad is more than enoughBTW of course u can have two schematics in a project, just copy the .sch into the project folder.

author: Bassman59
author_rank: Super Contributor
timestamp: October 05, 2018, 05:57:04 pm
content: Quote from: SiliconWizard on October 05, 2018, 12:14:05 amEveryone who is interested in the future of Kicad should follow the developers' email listserv.There are major changes afoot to the schematic editor, in terms of the library system (to make it more like the layout), to harmonize the hotkeys and such so they are consistent across all of the applications, and moving it all to OpenGL/accelerated graphics. So, yeah, substantial rewrites, and they're actually aware of all of the complaints.Trying to support three operating systems with a somewhat cranky cross-platform GUI, and moving forward while not breaking existing designs, is quite the challenge.And if you have a dozen people in the room and ask them what they want in the user interface, you'll get two dozen somewhat incompatible answers.I've built a half-dozen boards in Kicad, and I use Altium at the day job, and I've used Orcad and Accel and PADS in the past. They all have their user-interface and library quirks. And you can design boards in all of them.

author: b_force
author_rank: Super Contributor
timestamp: October 12, 2018, 12:11:03 pm
content: It's not about the quirks.It's about the inconsistencies and KiCad is full of them.Getting a good consistent GUI for multiple platforms isn't difficult, there are plenty of (free) examples out there that prove it.Many people have said it before and I repeat it again; it's all about priorities.Personally I would like to add that it's also about attitude.With that I mean really listen to the community, people who have been working as a PCB designer for many years.The developers of KiCad don't really seem to care about it.It's to unfortunate and extremely frustrating, since it has a lot of potential, but I lost my hope a little.In fact, I am almost willing to fork the entire project and find a couple of motivated people to work just on the GUI until even my mom can work with it.

author: james_s
author_rank: Super Contributor
timestamp: October 12, 2018, 05:29:51 pm
content: I just don't really have a problem with the GUI, it's not going to win any awards but it doesn't have to, I've been designing PCBs in KiCad for close to a decade and it gets the job done. I tried out every EDA I could get my hands on and none of them had good UIs. If I can use it effectively I don't see why anyone else can't.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: October 12, 2018, 05:48:53 pm
content: Quote from: b_force on October 12, 2018, 12:11:03 pmI recommend doing that. Then you will either a) create a much better tool or b) find out writing a much better tool is actually not that easy.There are projects with similar goals you might want to help out,HorizonLibrePCB. There have been several other people promising to make a "better KiCad" but I don't think they got anywhere.

author: b_force
author_rank: Super Contributor
timestamp: October 12, 2018, 06:00:13 pm
content: Quote from: james_s on October 12, 2018, 05:29:51 pmFor the very simple fact that not everyone is called james_s.

author: bson
author_rank: Unknown
timestamp: October 13, 2018, 03:27:06 am
content: Quote from: james_s on October 12, 2018, 05:29:51 pmA bad rower blames the oar.- Icelandic Proverb

author: pointhi
author_rank: Contributor
timestamp: October 13, 2018, 08:14:19 am
content: @b_force,if you like to improve the GUI now is the time for it. The current 5.1.0 development is mainly about improving the overall user experience including finding and fixing inconsistencies. You will notice quite a bit of GUI changes compared to KiCad 5.0.0.I do not share your feeling how KiCad prioritizes work. Working on the GUI is only one of many things, and there are many things to do.I do not share your feeling that KiCad does not listen to the community. I reported a high amount UX related issues, and many are fixed now. Not only the critical stuff but cosmetic and consistency related issues as well.To get some insights: what type of issues have you found and are not fixed?

author: Dubbie
author_rank: Unknown
timestamp: October 13, 2018, 09:15:46 am
content: I’m not sure why pcb cad packages are so useless when it comes to user friendliness. It’s not because they are complex. There are plenty of complex packages out there in other industry niches that are much much more user friendly. Look at Solidworks for example. No one complains about that to the extent that people do about pcb cad packages.Or for an example from my industry, Houdini. It is hugely complex, but if you know what you want to do, it only takes a couple of days to come to grips with it. And nothing feels frustrating or user hostile.Apps like Eagle are just an abomination of user experience disgraces piled on top of each other.

author: TERRA Operative
author_rank: Super Contributor
timestamp: October 13, 2018, 10:10:11 am
content: I tried to use Kicad a few times.It didn't gel with me either, but I can see it is a rather powerful and flexible package. I think my problem is I have too much Windows UI muscle memory from years of practice in other CAD packages (3D Studio Max, Rhinoceros 3D etc). I have the same problems with Lightwave as I do Kicad, my brain says do the thing, but my fingers refuse to do it the Kicad way.I went and bought Diptrace and have since been spitting out PCB's almost as easy as breathing.In my case I think is just a matter of trying to teach an old dog new tricks...

author: bd139
author_rank: Super Contributor
timestamp: October 13, 2018, 10:14:14 am
content: I rather like Kicad’s UI. Zero problems here.My metric is it’s no worse than eagle though.

author: exe
author_rank: Unknown
timestamp: October 13, 2018, 10:25:04 am
content: TBH I tried approach kicad multiple times, no success yet. Schematic capture drives me crazy. So far I'm using dip trace (works on Linux too with wine). Much more intuitive. Too bad component database is not as comprehensive as I like it (drawing own parts takes time and prone to errors, but I have to do it).Would love to buy a professional tool like altium or cadence for a sensible price one day (I'm hobbyist, I do 3-4 small projects a year).Circuitmaker could be my choice if it worked on my Linux (does it allow to download design files yet?). Probably, I'll end up spinning up a windoze vm.

author: james_s
author_rank: Super Contributor
timestamp: October 13, 2018, 05:03:38 pm
content: Drawing your own parts is a mandatory skill for every EDA, I see people waste FAR more time trying to find specific parts or designing circuits around the parts that come with the EDA than it would take to just create your own. Aside from basic primitives like resistors, capacitors, transistors, etc I've always pretty much ignored the bundled parts and made my own libraries. This way I know they're correct and I end up with a collection of parts I actually use, rather than a huge mess of stuff that I mostly never touch.

author: exe
author_rank: Unknown
timestamp: October 13, 2018, 05:15:55 pm
content: I wouldn't call drawing parts a "skill". Srsly, a square with pads is not hard to draw. Drawing pads for non-standard packages is far more tedious (and error-prone).Circuitmaker linked to an online database that has all the components I needed. Why wasting time if someone already done it?

author: james_s
author_rank: Super Contributor
timestamp: October 13, 2018, 05:25:23 pm
content: I didn't say it was a difficult skill but anything one does is a skill and it's one I've seen a surprising number of people not being able to do.

author: exe
author_rank: Unknown
timestamp: October 13, 2018, 05:52:41 pm
content: Quote from: james_s on October 13, 2018, 05:25:23 pmAre you talking in general or about kicad? If kicad I can imagine why. But I don't want to put it in dirt, at the end, this is the only opensource tool that is not totally useless.

author: sokoloff
author_rank: Super Contributor
timestamp: October 13, 2018, 06:02:38 pm
content: Quote from: pointhi on October 13, 2018, 08:14:19 amI could live with the GUI if I could just get better automated handoff of the netlist and live updating of the netlist (with an option to disable or perhaps undo the last import) among the various tools. The GUI is a collection of related apps that feels unpolished, but I have to admit that it's functional. (As is the netlist handling to be honest, so I'm even contradicting myself a bit there perhaps...)It's definitely functional and I can quite reliably get boards out of it. Any limitations with the tool are my own.

author: james_s
author_rank: Super Contributor
timestamp: October 13, 2018, 06:47:20 pm
content: Quote from: exe on October 13, 2018, 05:52:41 pmMostly Eagle actually, and another older tool the name of which escapes me. I should clarify that I'm talking about hobbyists, not professional engineers.

author: free_electron
author_rank: Super Contributor
timestamp: October 13, 2018, 07:13:33 pm
content: hah. you should see the schematics that are made with it ... if you think the Ui is bad ... ( i know , you can draw bad schematics in any package but the default libraries are .. total tripe. it shows that it comes from unix .. 50 years ago.)Hop on circuitmaker. Free and it works. But.. beware of libraries. many symbols and footprint are wrong because they are cobbled together by newbies. i just did a design in Circuitmaker and had to redo EVERY SINGLE SYMBOL AND FOOTPRINT i used... Some parts are better than others but :footprints:- inconsistent layer assignments- inconsistent line thicknesses- 3d models on wrong layers, wrong 3d models, blobbed 3d models ( grey boxes) .- missing courtyard , assembly layers , marker, fiducalssymbols :- missing pins (especially thermal pads )- mislabeled pins- wrong pin numbers- symbol pins not matching footprint pins.- random pin lengths, upper case lowercase, special characters like mu and ohm sign that dont render properly- using dots and commas in part values.Once i loaded my library : smooth sailing. Got the boards made in china. works like a champ

author: Bassman59
author_rank: Super Contributor
timestamp: October 15, 2018, 10:29:35 pm
content: Quote from: sokoloff on October 13, 2018, 06:02:38 pmA feature was added awhile to automatically update the board from the schematic without going through the netlist-export/import steps. From either the schematic or the layout, choose "tools => update PCB from schematic." That will automagically generate the netlist from the schematic and import it into the layout using some defaults. If you use the separate steps of generating the netlist and importing it, you get more options.Importing a netlist to update the layout is a pretty heavy-duty operation. My undo here is simply ensuring that any changes to the layout were committed back to my repository before the netlist import. If it's screwed up or I don't like it, I simply revert the changes.I know the idea that when the schematic is updated (saved), the layout immediately updates to follow it. But there are many arguments against doing that (hashed out elsewhere) and I think that updating the layout only when you explicitly want to makes the most sense, at least for me.QuoteItwasa collection of programs that were put together in a suite, kinda like how many of the PCB layout tools started. Making the user interface the same across the tasks is ongoing development work.Quotesame here.

author: Bassman59
author_rank: Super Contributor
timestamp: October 15, 2018, 10:32:15 pm
content: Quote from: b_force on October 12, 2018, 12:11:03 pmHave you filed bug reports and wish list items at the Kicad Launchpad? Do you follow the developers' email listserv so you can see clearly what they are working on and why they've prioritized things the way they do?The assertion that they don't care is not true.

author: Lukas
author_rank: Frequent Contributor
timestamp: October 15, 2018, 10:57:47 pm
content: Quote from: donotdespisethesnake on October 12, 2018, 05:48:53 pmAs the main developer of horizon EDA, I obviously beg to differ. I recently completed the PCB for my master thesis using horizon EDA:https://github.com/carrotIndustries/x-band-txEven though some features are still missing, it's perfectly usable for small to medium-sized projects.

author: b_force
author_rank: Super Contributor
timestamp: October 15, 2018, 11:19:07 pm
content: Quote from: Bassman59 on October 15, 2018, 10:32:15 pmThe biggest flaw in the head of a developer/software programmer.This is not a bug, this is just fundamental understanding how to build up an intuitive piece of software.Bit off topic, but I am completely convinced why most open source (not all!) totally fail in the long run because of this flaw.Don't get me wrong, KiCad has a lot of potential, you can't deny that.But the interface is made by and for programming geeks, NOT your every day, professional, I need a smooth interface that I can trust PCB user.Most very good and professional PCB designers don't even know anything about programming or just the basics.This kind of interface was an excuse 10 years ago maybe, but not anno 2018 anymore.Yes I (and with me many others) have tried to talk to the developers and get involved.But with an attitude that "we know it better, and we are not gonna do what all the big companies are doing, meh" you're not gonna make it.Not to mention the overly sensitivity with every teeny bit of critique that is being given.Everybody who feels the same and knows how to program, please contact me and I will have a look what we can do.

author: Bassman59
author_rank: Super Contributor
timestamp: October 16, 2018, 12:30:49 am
content: Quote from: b_force on October 15, 2018, 11:19:07 pmDo you really think that the Kicad developers aren't also PCB designers? See, that's why I said you should actually join the developers' listserv to see what is actually going on and see who is actually doing the development. Because you don't know what you're talking about.You say you've "tried to talk to the developers." Where?

author: b_force
author_rank: Super Contributor
timestamp: October 16, 2018, 01:13:36 am
content: Quote from: Bassman59 on October 16, 2018, 12:30:49 amDon't know what I am talking about?I just said that I (and other people) contacted them, or shared these stories multiple times.So or you're not reading properly, or you're implying that I am lying?Basically their answer is; wait until version 6 and we will see it from there.

author: Monkeh
author_rank: Super Contributor
timestamp: October 16, 2018, 01:22:56 am
content: Quote from: b_force on October 16, 2018, 01:13:36 amSo basically you're complaining they're not going to throw out their existing development plan and progress to do things your way immediately?

author: b_force
author_rank: Super Contributor
timestamp: October 16, 2018, 01:41:23 am
content: Quote from: Monkeh on October 16, 2018, 01:22:56 amNo?I am complaining about a bad set of priorities.Interface should be much higher on the list.Things like schematic simulators, auto routers and 3D graphics are nice gimmicks, but without a proper user interface it's still not really usable.Technically KiCad was working adequate from version 4, except for some minor bugs and quirks and other things (that could be done by 3rd party if really needed)You can even see on their roadmaps were they spend time on.They should have done this from the beginning.Nail the user experience first, fix little bugs and things later.The easy part; there are already a lot of competitors out there, so basically just copy their interface and you already know for sure that at least a big group of people can handle it easily.(that's basically what they did with DipTrace)Guess some people just like to reinvent the wheel

author: Dubbie
author_rank: Unknown
timestamp: October 16, 2018, 01:50:21 am
content: I agree with b-force.User experience and user interface need to be numbers 1 and 2 on the list of priorities.This is what a lot of developers fail to understand. And they forgo huge chunks of potential market share because of it.

author: james_s
author_rank: Super Contributor
timestamp: October 16, 2018, 03:48:49 am
content: And if they focused on the UI at the expense of everything else, they'd throw out a different section of the market. There are other tools out there with nicer UIs but they are not as flexible or powerful as KiCad. If the UI is that important to you then I suggest using one of the tools that has a more polished UI. The rest of us have managed to work around the UI issues in KiCad, it's just not a big deal.I've used at least 5 or 6 different EDAs and they all had lousy interfaces, even one that cost thousands of dollars. KiCad is free and it does the job. Frankly I'd be annoyed if the UI changed significantly at this point because I'd have to spend time re-learning how to do things, time that I could instead spend making more boards.

author: sokoloff
author_rank: Super Contributor
timestamp: October 16, 2018, 04:34:07 am
content: Quote from: james_s on October 16, 2018, 03:48:49 amWould it be so bad to fix the fact that you hit "c" to duplicate something in the schematic editor, but Command-D to duplicate something in the PCB layout tool or footprint editor, but it's drag to select and then right mouse to duplicate to duplicate something in the parts library editor (or that you can drag to select and then copy block and when you immediately go to paste the block, you get an error message "Warning: No block to paste")?If cleaning that up would hurt the usability of the tool for you, then KiCAD project really is stuck between a rock and hard place...

author: b_force
author_rank: Super Contributor
timestamp: October 16, 2018, 11:13:55 am
content: Quote from: james_s on October 16, 2018, 03:48:49 amMost of them have, that is correct.But it's not a good argument to (therefore) do the seem thing.At least with most other EDAs the user can change most of the interface to their liking.And with most of the competitors the user can choice to work mostly with just keyboard shortcuts or only with the mouse or an hybrid..This is fixed in KiCad and even many icons for certain tasks are completely missing.Besides, if you read the KiCad 6 roadmap they even admit that the interface is not very logic and inconsistent.I know it's not a very popular one anymore, but Ultiboard/Multisim is pretty good with their GUIEasy to learn in just a couple of days and fully customizable.I find it a bizarre way of working, the other way around.Technically speaking an interface is also not the most difficult to program.Like I said before, just basically copy what others did and improve/make it your own from there.I find it cute to read that the current KiCad users really think they are a significant and representative amount of "the market ".To be clear, I am not just talking about my personal preference, but what works for many people.In a sense EDAs always have been very conservative to this compared to 3D CAD software, things like video editors or other sophisticated programs.

author: Warhawk
author_rank: Frequent Contributor
timestamp: October 16, 2018, 07:15:49 pm
content: Just my two cents. I worked with various EDA tools on hobby as well as on the professional basis. Now I use Altium at work and KiCad at home. I am allowed to use Altium for home projects too but it is not the point.I want to make my designs available for others and any time and I don't want to shoot myself in the foot again. The thing is, that every single EDA I used for hobby (Diptrace, Eagle, CM) has some limitations. These are typically pins, nets or the PCB size. In the case of CM, it is very inconsistent library quality. I invested time in learning the package, creating libraries and then I hit the limit..I may loose the access to Altium Designer when I change a job. How do I open my old projects then? Nope, I am not going to pay for Altium. It ain't that good.Kicad can be an extremely frustrating software package but it is going to be there. I can keep it, I can use it. It does not have limitations perfectly set by the marketing department based on the data from "please help us improve our software" feature.to the OP: Download Altium or better Orcad demo and create a board there. Then share your feeling about user-friendliness of the tool and also how likely you would pay 10k for it.

author: Warhawk
author_rank: Frequent Contributor
timestamp: October 16, 2018, 07:18:08 pm
content: Quote from: Lukas on October 15, 2018, 10:57:47 pmLukas, I am not happy seeing another EDA tool because I doubt that you will any bandwidth supporting it after you graduate and find a job but this is impressive.

author: james_s
author_rank: Super Contributor
timestamp: October 16, 2018, 08:02:05 pm
content: Quote from: sokoloff on October 16, 2018, 04:34:07 amWell that wouldn't personally bother me, because I select and shift-select-drag to duplicate everywhere and never even used C or Cmd-D but I agree it would be nice to have consistency there. I've been using it pretty heavily for almost 10 years now so I probably don't even notice many of the things new users complain about.

author: Raven Luni
author_rank: Contributor
timestamp: April 25, 2020, 12:19:13 am
content: I've tried to be patient with it, but its unusable. The user interface is just terrible (and I'm a professional software engineer). I finally lost it and uninstalled when I dropped a transistor om a schematic, tried to move it and had it leave part of the symbol behind (this is the latest 'stable' version as of the time of this post).

author: coppice
author_rank: Super Contributor
timestamp: April 25, 2020, 12:33:45 am
content: Quote from: Raven Luni on April 25, 2020, 12:19:13 amIf you are looking for a schematic package completely free of quirks like that you'll be searching a long time. Its amazing how reliable the production of boards can be when you consider the number of on screen quirks most software exhibits.

author: james_s
author_rank: Super Contributor
timestamp: April 25, 2020, 04:34:07 am
content: Quote from: Raven Luni on April 25, 2020, 12:19:13 amFor something that's unusable quite a few of us are managing to use it just fine and have been for years. Good luck finding a similarly capable tool that doesn't have quirks.

author: poeschlr
author_rank: Regular Contributor
timestamp: April 25, 2020, 07:41:23 am
content: Quote from: Raven Luni on April 25, 2020, 12:19:13 amCould you at least be a bit more detailed what is wrong here? A screenshot perhaps? I can not really deceiver what you experienced so your rant is not really useful at this point in time.I have never seen KiCad leave parts of a symbol behind. And as far as I am aware this is even impossible with how symbols are implemented. The only things one can move independently are the text fields and that is on purpose as users want to be able to reposition them depending on their current needs.

author: Bassman59
author_rank: Super Contributor
timestamp: April 26, 2020, 11:13:32 pm
content: Quote from: Raven Luni on April 25, 2020, 12:19:13 amHow did you manage to do that?

author: elektropionir
author_rank: Contributor
timestamp: May 02, 2020, 02:38:07 am
content: I am so tired of people shitting on KiCad. And I am pretty sure it is impossible to "leave half a symbol" by dragging it.Kicad gui is absolutely fine. I turned on KiCad for the first time a bit over a year ago, and so far have completed multiple multi-layer and large multi PCB projects with no bugs. I found some great plugins like HTML BOM, or RF package that are just brilliant. I swear to god, people expect cad software to have a learning curve of social media smartphone app...There are countless videos, tutorials, and about million shortcuts to do whatever you want. There are missing features of course, like clearance matrix etc...but that will come.For what it does KiCad is up there with the best commercial CAD packages.

author: MarkR42
author_rank: Regular Contributor
timestamp: May 03, 2020, 10:31:10 pm
content: No, the Kicad gui is horrific.But it got a lot better between 5.0 and nightly (which I usually run).It *is* inconsistent. It is awkward. There are weird keyboard shortcuts that you realistically need to learn.BUT as I understand it, other EDA packages are just as bad. And Kicad has a lot of momentum.And *holy f* have you seen the latest pcb routing trace drag/ part drag/ stuff? It is sooo good. (OK, so I guess Altium probably did that for a long time)

author: bd139
author_rank: Super Contributor
timestamp: May 03, 2020, 10:34:30 pm
content: All CAD software is shit. But it’s all muscle memory. People need to quit whining and use it.

author: james_s
author_rank: Super Contributor
timestamp: May 03, 2020, 11:07:51 pm
content: About 10 years ago when I first started designing PCBs I tried every EDA I could get my hands on, everything from free to stuff that would cost $10k+ to buy. I did at least a board or two in each one before coming to the conclusion that they are all terrible, they're all buggy with weird UI quirks, it's just a matter of picking one, sticking with it and learning to work around the quirks. I chose KiCAD because it's free, capable of professional grade results and completely without artificial limits. I've been using it for years now and I barely notice the quirks anymore.

author: poeschlr
author_rank: Regular Contributor
timestamp: May 04, 2020, 08:19:17 am
content: GUI design is highly subjective. What is intuitive to one is alien to another (mostly dependent on what tools a given user had contact with in the past). This is already one of the bigger issues faced by KiCad (a eagle user expects something different to an altium user or somebody who is a novice to electronic design software, and somebody who grew up with smartphones has a different idea about user interfaces than somebody who started back when all we had was a command line.)Software design (like all things in life) is full of tradeoffs. In the case of powerful tools you have the obvious tradeoff between feature richness and ease of entry (the more features you provide the more the user needs to learn). Unlike a game you can not really make a tutorial level so you either need to make a small gui exposing only basic tools and hide the more powerful stuff (will make advance users unhappy) or show all tools and have a beginner be overwhelmed.In the end powerful tools will always need to rely on good documentation. This is maybe one of the bigger faults of KiCad as the official documentation is quite lacking. But as with all things open source others step in. There are the kicad user forum FAQ, youtube tutorials and even books like "KiCad like a pro". And there now even is a professional subscription based support option for companies (The company got started by seth, and he now also employs wayne after his previous employment fell through)

author: Wilksey
author_rank: Super Contributor
timestamp: May 04, 2020, 09:13:35 am
content: Stick with it, you get used to how a program works, it's not "horrific", I've used much worse, it has it's bugs but then so do very expensive alternatives, and they get fixed just as often as KiCAD bugs it seems.You can alter the hotkeys in KiCAD, it has a lot of useful features you wouldn't even find in some paid programs, and it's free, GUI was essentially designed to run on Linux originally and Windows was just a bonus, and it is much better than it used to be, but even at version 4 it had a usable GUI, and it's one of the best design tools if not the best for the price.If you want to use a more polished GUI, then go and pay the money for it.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: May 04, 2020, 09:21:05 am
content: Most EDA tools have baggage dating back to their DOS and/or Unix workstation origins - once they have a user base, they have to balance the pain for new users vs. upsetting existing ones by changing.The reason I jumped at PCAD ( then ACCEL PCB) back in the late 90s (I think) was that it had been designed from the ground up to use windows GUI conventions, which made it very easy to get into using.

author: Davor
author_rank: Contributor
timestamp: May 04, 2020, 11:02:47 am
content: I am still using ACCEL PCB from 1999, but planning to switch to Kicad around 2030 when GUI gets better.

author: MadScientist
author_rank: Frequent Contributor
timestamp: May 04, 2020, 06:57:14 pm
content: Having used almost all the major packages , I still find diptrace to have the most consistent windows styled GUI, and it’s a package I can quickly get back to speed on , if I’m away from pcb design for a while. The downside is the appallingly slow update process

author: JohnG
author_rank: Frequent Contributor
timestamp: May 05, 2020, 03:24:53 pm
content: It doesn't seem any worse to me than Eagle or Altium, frankly. I have used both of these, but now use Altium exclusively since my employer pays for it and it does every single thing we need it to do, and as our company grows, we have found it to be fairly robust in terms of not messing up designs.Altium schematic entry has some quirks that I find cumbersome and annoying. If they get rid of them, then someone else will complain... And, it still crashes, or gets into a state where I need to quit and restart. One could say that this is also horrific.John

author: kripton2035
author_rank: Super Contributor
timestamp: May 05, 2020, 03:31:21 pm
content: Quoteespecially considering the price you (your employer) paid for it...

author: Wilksey
author_rank: Super Contributor
timestamp: May 05, 2020, 03:37:55 pm
content: Long time user of Altium, currently running 19, will update to 20 when the current project is done, not had any crashes, the only schematic annoyance I have found is dragging symbols around sometimes the connections join to other connections, apparently this is a "feature" but it's damned inconvenient!

author: Doctorandus_P
author_rank: Super Contributor
timestamp: May 06, 2020, 11:30:16 pm
content: Quote from: mikeselectricstuff on May 04, 2020, 09:21:05 amAlso around that time I bought EdLin, which was also build from the ground up for Windows.It was an extremely piece of garbage, and after I found out that it did not delete connections form the netlist when you remove a wire from the schematic it was a one way ticket to the garbage bin.Quote from: Docara on October 04, 2018, 06:44:53 pmCould not agree more. Your absolutely right.How about this:You pay me the regular Altium price and I'll design a PCB for you in KiCad. Only additional thing you have to do is to relax, sit in the shade (or sun if you like that better) relax and have some sips from your favorite beverage.A few years ago I was in need for a new Schematics / PCB program and I tried at least 6 different packages. KiCad was the only one in which I could get a (simple) design from schematic to PCB in a single evening. Probably because it had the "getting started with KiCad" guide, which was up to date back then. Other programs I thoroughly disliked even after only working half an hour with them. They just collided with my personality I guess.After I got started with KiCad I begun to like it a lot. The thing is that no program of this complexity is perfect. KiCad also has it's limitations but I like the way it works. After a while you grow into the PCB program you're used to. You know all the workarounds for the limitations of the program, and you also know how to take advantage of it's hidden features that help to get things done quickly. If you then switch to another PCB program, you get annoyed by all it's quirks and know none of the handy shortcuts to get things done.This is probably the reason why lots of people recommend the the program they are used to and dislike the others, even if they've "tried" them.Reading reviews about a PCB program is also mostly useless. You can of course make a preliminary choice and scrap some programs that do not have features that are very important to you but after that the review is not of much use anymore.A mix of limitations and capabilities of each program also has a certain "personality". It can either fit with your own personality or go against it.A very important factor for me is that KiCad is an Open Source program.Not because it's "Free" to use (as in free Beer), but because of the freedom you have with it.There are no artifical limitations such as in lots of "commercial" programs.There is no limited time to try it. I've tried some "try it for a month" programs, and then got distracted and was not able to get a decent opinion of that program before the month was over.There are no yearly subscriptions. I only make a few PCBs occasionally. Any subscription based program is just out of the question.Again, If I want to modify my KiCad boards in 5 or 10 years time there is no hassle over fees. I just install it.And in 10 years time I will have another computer, maybe even switched twice.Re-installing a program usually is just [Ctrl + Shift +T] and some 30 characters on my keyboard.Re-installing 30 programs after I've got a new computer is half an hour of cut and paste form a text file to a terminal window.(I prefer not to have complete scripts, because those get outdated too, and it's the right time to ditch old programs by simply not installing them.)

author: Dubbie
author_rank: Unknown
timestamp: May 09, 2020, 10:09:52 pm
content: People saying that pcb software is complex therefore we have to put up with bad UIs is utter nonsense. In the industry I work in, the software used daily is extremely complex, with literally tens of thousands of tools and commands. But the UI and user workflow in the vast majority of those applications is mostly straightforward with a few rare niggles. Where the software does not have a good user interface, complaints fly thick and fast, and people switch to other tools.I think it is because EEs have low standards and don’t demand excellence from their user experiences.

author: james_s
author_rank: Super Contributor
timestamp: May 09, 2020, 11:01:53 pm
content: Well let us know when you've finished creating a professional grade EDA with a wonderful polished user interface. Better yet one that is free, and no less powerful/capable than KiCAD.Perhaps it's because these are low volume niche applications, they are not selling millions and millions of copies. Given limited dev resources I'd much rather have them fixing bugs and adding useful features instead of wasting time polishing the UI. No matter how good you make the UI, people are still going to complain about it, EDAs are complex by nature.

author: luzotug
author_rank: Newbie
timestamp: May 10, 2020, 02:41:40 pm
content: Quote from: james_s on May 09, 2020, 11:01:53 pmEDA are complex but it doesn't stop people creating their own, I'm keeping an eye on Horizon EDA :https://horizon-eda.org/It's basically a KiCad level player (it has a lot in common) with a GUI done differently and it has reached the release production level (currently version 1.1.0).

author: ebastler
author_rank: Super Contributor
timestamp: May 10, 2020, 03:00:21 pm
content: This thread feels a lot like the "Linux on the desktop is the bee's knees" vs. "Linux on the desktop sucks" threads. I expect to get similar value out of it.

author: poeschlr
author_rank: Regular Contributor
timestamp: May 10, 2020, 04:26:47 pm
content: I kind of suspect that people who say KiCad is horrible are users who need it for something it is not yet ready for and the people who say it is awesome are the ones who have most of their usecases fulfilled (and see the few missing things only as a minor inconvenience). I think we really need to finally realize that there can be different requirements and that KiCad just is not the right tool for everyone. (I started to be much more open about that on the user forum and users really respond well to it. They might then even be prepared to accept workarounds if there is first an acknowledgement that yes something is still missing)

author: Bassman59
author_rank: Super Contributor
timestamp: May 11, 2020, 06:11:21 pm
content: Quote from: Dubbie on May 09, 2020, 10:09:52 pmI don't agree with anything you wrote, especially the last sentence. The fact that people complain here about user interfaces disproves your assertion! I mean, mention "LTSpice" and the first thing anyone will say is "the user interface is fucking ridiculous" but everyone uses it and deals with the stupid interface. (Aside: surely Mike Engelhardt knows that users hate this interface, but now consider: that little piece of software has been in the field for what, 20 years now, and if the interfacewaschanged to be less stupid, users would absolutely complain!)That said:Beyond obvious things like cut/copy/paste and mouse-wheel scrolling/zooming, users have different ideas about how an interface should be implemented. Take something simple, like placing a wire on a schematic. Do you want to select a menu item "Place Wire ..." or click a toolbar icon or just press the W key? If you prefer the first two options, you necessarily have to move your mouse to the starting point and then click. If you prefer the latter, you can place your cursor at the starting point and press W and that starts the wire, no extra click involved. Which is better? I don't know!Of course therearething that should be common between schematic and layout. Things like zoom in/out, place wire/trace, move part, move block, drag, all that, yes, the key-commands to do them should be the same, and the Kicad developers know that and have worked to make them coherent.Anyways, I haven't even mentioned libraries, and EVERYBODY has an opinion on how libraries should be organized and implemented!

author: kripton2035
author_rank: Super Contributor
timestamp: May 11, 2020, 06:31:02 pm
content: no simple copy-paste from one drawing to another is for me a really design flow in the user interface.but I like kicad because it is still powerful, free and works on a mac, almost the only one for a ecad app.once you learn the few keyboard shortcuts, it is still annoying but it works and let me build a pcb quite fast.and for the price you can't complain. if it is not as you like, then participate to the coding and make it change, make a new branch and develop your own.for the "place wire" thing, a good app would offer both ways to start a wire.don't forget the (good) user interface in an app represents 50 to 80% of the whole coding work.

author: ebastler
author_rank: Super Contributor
timestamp: May 11, 2020, 06:39:56 pm
content: Quote from: kripton2035 on May 11, 2020, 06:31:02 pmHey, I thought that was EAGLE's marketing slogan!

author: pointhi
author_rank: Contributor
timestamp: May 11, 2020, 06:42:08 pm
content: Quote from: voltsandjolts on May 11, 2020, 11:32:34 amNo kidding, I wouldn't be suprised when KiCad can do something similar like that in 5 years. Why do I know? I started with something like that, but it is currently on hold because KiCad misses schematic scripting and flexible annotation support, which I deem as hard requirement for a sensible implementation.https://gitlab.com/pointhi/kicad-schematic-builderThe original idea comes fromhttps://www.jitx.combut I limit myself to schematics, because those are computationally feasable.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: May 11, 2020, 06:43:35 pm
content: Quote from: Bassman59 on May 11, 2020, 06:11:21 pmKiCad can do bothQuote from: Bassman59 on May 11, 2020, 06:11:21 pmI do know!The answer is: There is no "better". Stuff like this is the area of personal preferences of users. So the "better" way is to have a program that can do both equally well and let the user decide.Fun Fact:I make so much use of the keyboard and KiCad's shortcuts, that if I have a day that I do a lot of schematic entry I automatically start pressing "hjkl" for cursor movement somewhere halfway the day. Even though I'm not a Vim Fanboy. But still, sometimes I think about re-assigning those shortcut keys...

author: Doctorandus_P
author_rank: Super Contributor
timestamp: May 11, 2020, 06:58:32 pm
content: @pointhiThat gitlab / KiCad-project-builder seems to use S-expressions to build a schematic. Correct?Are you aware of skidl?Skidl is a python library to aid in generating a netlist for KiCad without a schematic. It is especially useful for schematics that have a lot of repetition.I see it as a sort of VHDL for schematic entry.The example below is from "skidl_clock" and uses a few nested loops to generate a netlist.Code:from skidl import *anodes = Bus('a', 6) # 6-bit anode bus, but only use a..a.cathodes = Bus('k', 16) # 16-bit cathode bus, but only use k..k.# Create an LED template that will be copied for each LED needed.led = Part('device', 'D', footprint='Diodes_SMD:D_0603', dest=TEMPLATE)# Connect the 60 second LEDs to the anodes and cathodes.for a in anodes[1:4]: # Connect LEDs between anodes 1, 2, 3, 4.for k in cathodes[1:15]: # and cathodes 1, 2, 3, ... , 15.led(1)['A', 'K'] += a, k # Copy LED template and connect anode and cathode.# Now connect the 12 hour LEDs, all of which are attached to anode a.# The nested for loops select the cathodes in the correct order.for i in range(2,6):for k in cathodes[i:i+10:5]: # Connect k[2,7,12], k[3,8,13], k[4,9,14] and k[5,10,15].led(1)['A', 'K'] += anodes, k # Copy LED and connect anode and cathode.ERC() # Look for rule violations.generate_netlist() # Generate netlist file.

author: MadScientist
author_rank: Frequent Contributor
timestamp: March 26, 2022, 10:52:03 am
content: I switched from paid DipTrace a year ago to Kicad 5 and now V6. I think it’s a fantastic piece of software. Are there things I’d like, sure, but the current release is productive , easy to use ( as compared to other pcb cad ) and is very capable.What’s not to like

author: MadScientist
author_rank: Frequent Contributor
timestamp: March 26, 2022, 10:59:02 am
content: QuoteThis is typical , “ I’m a novice “ , ie I can’t be bothered To actually learn the software , “ why can’t I have xxxx”Because the designers decided that feature wasn’t added snd others were more important. If you want to open multiple projects , start multiple versionsTry starting with any sort of sophisticated CAD , it all requires a learning curve , it’s not a friggin word processor

author: twospoons
author_rank: Frequent Contributor
timestamp: March 27, 2022, 03:05:58 am
content: A friend of mine published some free software years ago ( Realterm ). Some twit was complaining bitterly about some aspect of it - so my friend offered him his money backKicad is FREE. Why are any of you complaining? If you don't like it go use something else. Altium costs thousands per seat, and believe me its far from perfect.I personally don't have any issues with Kicad's UI - sure itsdifferent, but that does not make itbad.

author: nctnico
author_rank: Super Contributor
timestamp: March 27, 2022, 10:04:43 am
content: Quote from: twospoons on March 27, 2022, 03:05:58 amThen again, a lot of such tools written by engineers typically have a very convoluted user interface that is only logical to the creator of it (Realterm is no exception...).I can imagine people offering constructive criticism but I get that creators are not open for that; after all the tool works for them.

author: eugene
author_rank: Frequent Contributor
timestamp: March 27, 2022, 12:33:26 pm
content: I just want to point out to anyone that didn't notice: this thread was started in 2018. Since then many of the changes made to KiCad have been to address exactly the complaints seen in here. So please, let's not perpetuate the myth that the developers are unresponsive. It's possible that not everything that any one person wants is there, but the fact is there are a lot of people generating professional level designs with KiCad and not complaining about it. That includes me.

author: golden_labels
author_rank: Super Contributor
timestamp: March 27, 2022, 04:52:36 pm
content: Writing from a soft-dev perspective here.Software built by the users suits authors’ needs and is built by adding new features as required. It is not written with other people in mind, at least initially. If you write your own program, learning a single new input action is zero effort. You go through it dozens of time while implementing the feature anyway. They are usually coming from branches unrelated to programming or are early on that path, so they lack relevant knowledge and may make unexpected choices. That leads to applications that, when first used by a newcomer, seem to be filled with unintuitive controls. As soon as the obstacle of learning them is overcome, they are not worse than any other.Situation is different if the application is built with the intention of being sold or at least delivered internally to a vast group of workers. That type of software since beginning is developed to appeal to possibly wide audience. Any obstacle in adoption is putting the company in a serious disadvantage compared to the competition.(1)So care is taken from the very beginning to make UI familiar. Since the program is written by professional developers, who know their trade,(2)they have knowledge, experience and studies to do that. They are usually also not the pioneers in the field, but build upon existing solutions, which they copy and improve.(1)That’s also the reason why interfaces are getting simpler and simpler, with features removed. In both software and hardware. Give people too much and they are lost. Let them tweak too much and they will break something, and then whine publicly it’s your company’s fault. In either case competition gains and you lose.(2)Right, since 2010s that becomes rarer. But it’s also easier for a newbie to write a decent UI with close to no knowledge.

author: james_s
author_rank: Super Contributor
timestamp: March 27, 2022, 06:03:33 pm
content: Quote from: twospoons on March 27, 2022, 03:05:58 amI really hate this attitude, it is unfortunately pervasive in many open source communities and it does a lot of damage to the open source movement. Just because software is free doesn't mean it has to be garbage, and it doesn't mean people aren't allowed to criticize it. A sensible author will listen to criticism and at least take it into consideration. Yes the software is free, but so is all the QA they are getting from the people that are criticizing it. A lot of free software is very good, very polished, and continues to improve, free is not an excuse for being crap.

author: golden_labels
author_rank: Super Contributor
timestamp: March 27, 2022, 10:06:02 pm
content: I would say it’s more complicated. We are adults and a I expect a mature person to never refuse discussion, if only it makes sense to have it. But there is a whole range to consider: from demanding to politely suggesting. It’s important to understand that: because as much as “because it’s free” is harmful to the community, so is authors’ burn-out due to people constantly demanding attention.If software is created as a part of business, I do not care if the product is offered for me “free” or not. Being part of the business it’s never really free and I see no reason to behave any different than as if I paid for it directly. Make your demands and complain loudly if they do not listen “because it’s ‘free’”. Open source or not, free or not, doesn’t matter as long as it’s a part of their business.On the other end of the scale are authors, who share their creations simply because they find they may be useful to someone. Instead of hiding software for their own use, they simply put it out for everyone to have. In a manner best described by:hey, look what I made — maybe you will find that useful, so take it if you want.Those authors are not planning to put any effort to maintaining it beyond what they need themselves, but also do not expect any help from others. They are usually not paid for that and already donate their time. In this case demanding support is a really bad approach. Politely asking, if something may be added or improved: sure. As I said, we are adults. But you should not entitled to be listened to. Aside from that, open source community has a strong DIY ethos, which is one of the core reasons why the entire movement has began. The source is given, soyoucould tinker with it. Feedback is very often expected to include some effort from you.Most of software lies somewhere between those two extremes and the approach should be adjusted accordingly. If one promotes their project, even if it’s free, they are accepting some level of responsibility for maintaining it. If they receive help from community, the community is entitled to be listened to. If the project becomes popular, even without one’s intention for that, they should at least try recognizing it’s no longer only their private issue. That’s my primary gripe with one popular widgets toolkit and a desktop environment based on it. The project became so popular, that the constant “you are free to fork it, if you don’t like what we do” is a slap to the face of the entire community.Obligatory xkcd

author: nigelwright7557
author_rank: Frequent Contributor
timestamp: March 28, 2022, 01:19:04 am
content: Quote from: exe on October 13, 2018, 05:15:55 pmMaking your own parts does require skill.Its not just drawing a square but getting all the squares the right size and right distance apart in x and y directions.I once designed a SMD part and made all pads a set distance apart. The pcb came back wrong.The distance between the pads in the CAD software was imperial and I was converting metric to imperial and it wasnt exact.So over the 20 the pads the inexactness mounted up until last pad was half a pad out !

author: nigelwright7557
author_rank: Frequent Contributor
timestamp: March 28, 2022, 01:24:16 am
content: Quote from: golden_labels on March 27, 2022, 10:06:02 pmThere are 3 modes for software, paid for directly by user, completely free and funded free software.Kicad is funded around $20k a year.There is paid for software that isnt funded that much.

author: eugene
author_rank: Frequent Contributor
timestamp: March 28, 2022, 02:19:50 am
content: Quote from: nigelwright7557 on March 28, 2022, 01:24:16 amSeems like a simplistic view, but I suppose that's the point.QuoteWhich is enough to pay a single programmer for about 1/2 day each week. To what does that entitle the typical KiCad user?

author: Monkeh
author_rank: Super Contributor
timestamp: March 28, 2022, 03:41:15 am
content: Quote from: eugene on March 28, 2022, 02:19:50 amHe's just sore because he couldn't earn that with his significantly less capable software.

author: twospoons
author_rank: Frequent Contributor
timestamp: March 28, 2022, 03:46:31 am
content: Quote from: james_s on March 27, 2022, 06:03:33 pmThere's a world of difference between providing constructive feedback to the developers, and whining about something on an unassociated forum.

author: james_s
author_rank: Super Contributor
timestamp: March 28, 2022, 03:58:07 am
content: Quote from: twospoons on March 28, 2022, 03:46:31 amPeople are allowed to whine, get over it. If you don't like it, don't read it.

author: golden_labels
author_rank: Super Contributor
timestamp: March 28, 2022, 04:57:15 am
content: Quote from: james_s on March 28, 2022, 03:58:07 amPeople are allowed to whine about whining, get over it. If you don’t like it, don’t read.

author: jma
author_rank: Newbie
timestamp: March 28, 2022, 06:59:03 am
content: Hi,I'm a novice too, and i Reaaaaaaaaaaaaaaally like Kicad, free, furthermore, members or forum available for questions.I you have plenty of money, buy a profesional CAD, and don't critize open source software!!!!!!!!Been used from earlier versions, of course changes occured, but " you want , you can " ........Nice day.jm

author: Bassman59
author_rank: Super Contributor
timestamp: March 28, 2022, 03:18:42 pm
content: Quote from: golden_labels on March 27, 2022, 04:52:36 pm.... again, as eugene notes, this thread was started in 2018 and many (most?) of the complaints in it have been addressed by the Kicad developers. They reallyareresponsive to user requests.There are some outstanding requests -- notably in the library system -- that remain.It seems to me that everyone who has made a suggestion about a database driven library has a specific way they want it implemented and they're all different. And nobody with such an opinion has stepped up to the plate and actually written an implementation proposal.In the meantime, the developers have concentrated on the nuts-and-bolts usability of the application, and honestly, it's quite excellent.

author: nctnico
author_rank: Super Contributor
timestamp: March 28, 2022, 03:24:50 pm
content: Quote from: Bassman59 on March 28, 2022, 03:18:42 pmIn the end the will to make a change has to come from the inside; some of the Kicad developers have created an implementation proposal for a database driven component system and it is being developed. AFAIK to be included in release 7. Nobody had a different opinion about that BTW; most CAD packages that have it, implement it in the exact same way.QuoteYou can always wish for all improvements / new features to be part of the next release but the reality is: One step at a time.

author: golden_labels
author_rank: Super Contributor
timestamp: March 28, 2022, 05:42:17 pm
content: Quote from: Bassman59 on March 28, 2022, 03:18:42 pmThe message, to which I was responding, was written yesterday, not in 2018.

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 28, 2022, 06:54:02 pm
content: Quote from: james_s on March 27, 2022, 06:03:33 pmYes, well. Some people hate this attitude, some other people hate those who whine while not being entitled to anything much.Either way, hating is the easy part.Thing is, open-sourcing some software in itself doesn't make developers owe anything to their users. They're already cool enough to share their projects and give them essentially free time.And your attitude is bound to change completely depending on which side you're on. As a user, you feel your suggestions, rants and whining are all reasonable, useful and should be listened to. The same people getting on the other side of the fence suddenly realize there's a bunch of people "watching you work" while explaining to you how you should do it.Now sure things get a bit different when said software gets *promoted* in some way - which is always the case when the project gets backed up by some large organization. For KiCad, that was the CERN. As a project gets "pushed" as an alternative to commercial solutions, users' expectations grow. That's natural. And if you actively promote your project, you become responsible for that. It's no more some kind of personal project that you have happened to share, and don't care if other people use it or not.As to KiCad more specifically - the UI is not that bad for the layout editor. But the layout editor is what has seen the most overhaul so far. It's on par with many other commercial ones. All CAD software pretty much have quirks anyway. The schematic editor - and project management - is something else. It's more questionable indeed, and most of it comes from legacy. Same for library management. I don't think it's like developers don't want to make things better - it's more that it's a big endeavor, and since many users have become used to that, any changes may trigger as much, if not more whining than the current situation.And as to funding, I honestly thought it got more than this. Around $20k-$30k a year is very little. Must be one of the most ridiculous amount I've seen for such a (now) widely-used project.At some point, I think there were a few developers working (and getting paid) full-time on it. From what I've read, the lead developer for instance had been hired full time but he got laid off? Not sure what is the current situation. If someone has more details...Given that KiCad has now a solid user base, but quite a few with divergent views on how it should evolve, I'm surprised there hasn't been a working fork yet. Or maybe there is, and I'm not aware of it?

author: james_s
author_rank: Super Contributor
timestamp: March 28, 2022, 07:43:26 pm
content: Quote from: SiliconWizard on March 28, 2022, 06:54:02 pmI have released a handful of open source projects, while I can't cater to the whim of every user that comes to me with requests or complaints one thing that I have never done is been an ass to them and told them "if you don't like it then use something else!" That is just pointless, I want people to use my projects, I want people to contribute to them, I want people to fork them, I'm more than happy to offer suggestions and I do what I can to make my projects as good as possible. It's not the lack of action that I don't like, it's the attitude. It doesn't cost anything to not be a dick. If somebody doesn't like the approach I will politely suggest that they fork it and give them what information I can.

author: Wilksey
author_rank: Super Contributor
timestamp: March 28, 2022, 10:10:03 pm
content: At least you don't have to endure Altium and constant crashing.I think AD17 was the last "stable" release.For the price, KiCAD is orders of magnitude better than many other free or "low cost" design tools - and this statement holds true for anyone else who has the same opinion.Yeah at the end of the day it is your own personal choice, i'm glad most OSHW projects have moved to KiCAD and away from Autodesk's abomination (the Eagle has flown the nest), I suggest that anyone downloads free versions or trial versions of a few packages and tries them and make their own decisions, KiCAD although very capable when you learn how to use it correctly isn't everyone's cup of tea.It is OK not to like it, it is OK to like it, as for updates / features, I guess if you want to make a difference become a developer and chip in, as most dev's will be working on features that they want over ones that you want.

author: IanJ
author_rank: Unknown
timestamp: March 29, 2022, 02:06:54 pm
content: I looked at KiCad V5 when I was using Altium CircuitStudio. Decided to stay with Altium, the GUI in KiCad and some of the features didn't suit me.When V6 came out I had another look.......and got hooked. I'd recommend anyone else giving it a serious look, especially as the importers are quite mature now IMHO.Ian.

author: nigelwright7557
author_rank: Frequent Contributor
timestamp: March 29, 2022, 06:42:38 pm
content: Quote from: Monkeh on March 28, 2022, 03:41:15 amNot sore at all, just glad to be out of something that made very little due to massive competition.I now design, build and sell valuable hardware/software systems where people dont give them away.A winner all round.

author: delfinom
author_rank: Regular Contributor
timestamp: March 30, 2022, 12:52:07 am
content: Quote from: Bassman59 on March 28, 2022, 03:18:42 pmSide note, there will be database library support in 7.0, we are going to generalize as far as a ODBC and REST api interface and let everyone reinvent the wheel a thousand times to make whatever ERP / PLM integration they want.QuoteYou obviously haven't software developed enough.You know why there are multiple competing ERP solutions in the world? Because everyone wants the dumb ERP tailored to their business needs a thousand times differently. Then you have the cancerous nuclear waste called SAP where they decided to make everything so configurable for every business, you need to hire a team of consultants to train another team of consultants you hire, just to teach your guys in house how to configure the ERP to your needs.The business world is just as much as a dumpster fire.And don't get me started with CAD. Mentor PADS is a world's different user interface/experience than say Altium which are both different than OrCad Capture.It's impossible to tailor to everyone.

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 30, 2022, 12:53:46 am
content: Agreed with above.

author: golden_labels
author_rank: Super Contributor
timestamp: March 30, 2022, 04:27:43 am
content: Quote from: delfinom on March 30, 2022, 12:52:07 amSo you are trying to dismiss ageneralobservation by providingparticularexceptions? Even worse, the primary mention being SAP — a system that entered market nearly half a century ago and most of its current position is from vendor lock-in and massive branding?

author: JohnG
author_rank: Frequent Contributor
timestamp: March 30, 2022, 12:50:07 pm
content: Quote from: delfinom on March 30, 2022, 12:52:07 amA thousand thanks! This seems like an sensible approach in many ways.John

author: Kleinstein
author_rank: Super Contributor
timestamp: March 30, 2022, 03:38:32 pm
content: Much of the GUI is a question of what you are used to. For a Windows use the middle mouse botton can be iritating, and for a MAC user even the 2nd mouse botton can.A slight problem with a projet like Kicad is that the GUI is evolving and the documentation / tuturials are often behind.Shortcuts via keys are great, but you have know them and get used to them.When new, other programs can be about as confusing to use and switching between different GUIs can take some time.With open source SW the GUI is often quite good, once you get used to it, as there is often more input from users or the programs are even written from users. This may lead to a GUI that is less suitable for beginners and a little harder to learn.

author: John B
author_rank: Frequent Contributor
timestamp: April 01, 2022, 02:12:34 am
content: The PCB layout software has gone a step back in stability compared to version 5. I just spent the last 6 hours laying out a design and the trace router bogs down with more than one bend, also it crashed the program on one occasion. I don't remember that happening in version 5.Whatever changed in version 6 has been there since the first release version. I'm on 6.0.4 now.

author: nigelwright7557
author_rank: Frequent Contributor
timestamp: April 08, 2022, 01:48:07 am
content: Quote from: John B on April 01, 2022, 02:12:34 amWith software it is often 2 steps forward and one step back.The new version not only has old bugs from previous version but new bugs from new changes.Testing is the solution. Spend more time testing than it took to write the code.Test for correct working, then test for incorrect working.Microsoft have 3 stages to software design, 1 write it, 2 test it, 3 send it out to users to test it for you.

author: james_s
author_rank: Super Contributor
timestamp: April 08, 2022, 02:24:19 am
content: Microsoft laid off all of their testers years ago and relied almost entirely on automation, along with developers are supposed to test their own codeI think they might have reversed course on this to some degree after how well it worked out when Win10 shipped.

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 08, 2022, 06:09:28 pm
content: Yeah, MS *used* to have separate testing teams, and these were completely separate positions from development. With different skill sets. That was like 20 years ago...While developers testing their own code (without separate testers) is in itself dysfunctional, one thing that can make it already a bit more effective is when developers are forced to use their own software for their daily job.How many of KiCad's developers are actually using it for designing circuits?

author: james_s
author_rank: Super Contributor
timestamp: April 08, 2022, 06:13:54 pm
content: I remember a friend of mine who works there telling me that Satya Nadella stated in a presentation "who better to test the code than the developers that wrote it?" To which my thought was "who WORSE to test the code than the developers that wrote it??"

author: nctnico
author_rank: Super Contributor
timestamp: April 08, 2022, 06:34:05 pm
content: Quote from: james_s on April 08, 2022, 06:13:54 pmIf that is true (which I strongly doubt), then Satya Nadella is a complete idiot. Everyone knows that the developers of software are the worst candidates to test their code. Even chimpansees straight from the forrest are better for that job.

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 08, 2022, 06:43:55 pm
content: If you have ever heard any of his talks, he sounds like an idiot indeed. But apparently he's very good business-wise. So...As to this statement "who better to test the code than the developers that wrote it?", I do not doubt much he said it. It's a very common gimmick coming from all these agile consultants, I've heard it numerous times.

author: james_s
author_rank: Super Contributor
timestamp: April 08, 2022, 07:54:17 pm
content: Quote from: nctnico on April 08, 2022, 06:34:05 pmWhy would you doubt it? I worked there myself for quite a few years, I still have numerous friends that work there. These are smart guys and reliable, not the sort who just make stuff up. Certainly it matches up with what the company is doing, they quite literally laid off all of the manual testers, relying heavily on unit testing and automated testing.

author: nctnico
author_rank: Super Contributor
timestamp: April 08, 2022, 10:48:22 pm
content: Well, I'm always very carefull with hearsay information that can't be verified from a trusted source. More often than not 'hearsay information' is incomplete, mis-interpreted and/or exaggerated. All in all it would be nice to have some kind of audio / video fragment where Nadella is making that statement and the context in which it is made.

author: james_s
author_rank: Super Contributor
timestamp: April 09, 2022, 12:14:28 am
content: Frankly I don't think it matters precisely what he said, the fact remains that it's exactly what they did, lay off the test teams and ask developers to do unit testing on their own code and rely on automated testing for everything else.

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 09, 2022, 01:33:48 am
content: https://petri.com/microsofts-modernized-development-workflow-begins-show-cracks/

author: b_force
author_rank: Super Contributor
timestamp: April 10, 2022, 02:53:45 pm
content: Quote from: SiliconWizard on April 08, 2022, 06:09:28 pmHow many of them use it on a regular basis on aprofessionallevel?Spitting out at least a couple of highly complicated boards every month, being paid by the hour, having to minimize developing time as much as possible.As well as some fundamentals and science from good professional GUI'sThat's what I have been wondering from the beginning.Not a single atom in me believes it.That's just not my own "opinion" but coming from quite some experience with other companies and teams as well.Except for some hobbyists, I have never met a person in a professional company liking KiCad.But anyway, not that it matters, because it seems 99% impossible to have a constructive and respectful conversation about it.It's all just emotions fighting against each other.I have been hearing for years that it will improve. It will probably fill a little niche, but that's it.

author: ebastler
author_rank: Super Contributor
timestamp: April 10, 2022, 06:13:17 pm
content: Quote from: b_force on April 10, 2022, 02:53:45 pmI wonder how many Altium or Eagle/Fusion software developers design PCBs for a living?Oh, they developsoftwarefor a living?Hmm...

author: MitjaN
author_rank: Contributor
timestamp: April 11, 2022, 08:29:21 am
content: Quote from: b_force on April 10, 2022, 02:53:45 pmQuote from: ebastler on April 10, 2022, 06:13:17 pmThis kind of snappy responses do not help, and just add weight on b_force's statement that it is really hard to have a conversation regarding this. I'd assume that Altium/Autodesk have (or at least should have) people employed who talk to and look at how EE's work with EDA tools. Furthermore, they certainly listen to requests from their big customers. But this is a viable mostly for big businesses. Small businesses don't really have a say what is got, what is bad and how should it be improved. Well they can say, but I doubt anybody listensAnd this might have been or even might still be a KiCad weakness. There is not enough money to pay somebody to watch EE's at work or to listen to the feedback. With KiCad Services Corporation, things are improving. As professional customers can pay for the support and thus have a way to get their requested features in. Furthermore IIRC when CERN got involved, they've put two CERN developers to work on KiCad, and they have also been developing PCB for CERN using Altium, so there was (or even are currently) professional EE's developing KiCad. Furthermore, code is available and you can change it and you can add features to it. For example, I missed the Altium rooms feature, so I've coded a KiCad plugin that implements this feature. You can not really do this with closed source products, unless you are willing to spend ridiculously big bucks to pay to the supplier, to implement this.So all is not so black and white.

author: ebastler
author_rank: Super Contributor
timestamp: April 11, 2022, 09:28:50 am
content: Quote from: MitjaN on April 11, 2022, 08:29:21 amI beg to differ.b_force's message stated an absurd expectation, then went on to say "I have been hearing for years that  will improve", totally ignoring the fact that Kicadhasimproved massively over the years. And after these polemic statements, it closed with the whining comment that one can't have a constructive and respectful conversation.A snappy response is the most restrained answer I could come up with.

author: MitjaN
author_rank: Contributor
timestamp: April 11, 2022, 02:23:41 pm
content: I agree his statements are too absolute, and at least to me is seems as he made up his mind. And as wiser man have said "If you’re arguing, you’re losing" so I dont really want to engage him.But your response is just adding gasoline to the fire. I know it is hard to keep your mouth shut, but the only way we might get some of the people which have already made up their minds to open up a bit is with polite conversation. Even if the conversation from their side is not polite at times.But we are getting OT

author: ebastler
author_rank: Super Contributor
timestamp: April 11, 2022, 09:33:29 pm
content: Quote from: MitjaN on April 11, 2022, 02:23:41 pmYou are clearly a more mature person than me...

author: eugene
author_rank: Frequent Contributor
timestamp: April 13, 2022, 03:48:42 pm
content: Quote from: MitjaN on April 11, 2022, 02:23:41 pmSo what you're saying is that if a child repeatedly and unreasonably insists that peanuts are made from peas, then we should not explain to the child how they are wrong, but instead console them and tell them that we love them.But I'm not the kid's mother.

author: rsjsouza
author_rank: Super Contributor
timestamp: April 13, 2022, 04:09:03 pm
content: Quote from: eugene on April 13, 2022, 03:48:42 pmThat is not what MitjaN is saying. Bring back solid arguments in a polite/calm manner and, if all else fails, ignore and do not engage anymore. That works with children of all ages, including the ones well beyond their teenage years.

author: eugene
author_rank: Frequent Contributor
timestamp: April 13, 2022, 05:24:43 pm
content: [Childish and passive aggressive response deleted.]I'm frustrated because this thread is five pages and four years of going in circles. The complaints seem largely unchanged even though the thing being complained about has changed. Moreover, those changes have been a direct result of the complaints, yet the complaints keep coming more or less unchanged.There is no logical argument left unmade. Still, I apologize for not being more patient and will try harder to just stay shut up if there is nothing of value to add.

author: rsjsouza
author_rank: Super Contributor
timestamp: April 13, 2022, 09:43:17 pm
content: Quote from: eugene on April 13, 2022, 05:24:43 pmI couldn't agree more with you. Being a user of Kicad for years, I can attest to how improved the newer versions are. Being also a user of Altium and Cadence as well, I can tell that each can stand on their own merits.

author: eugene
author_rank: Frequent Contributor
timestamp: April 13, 2022, 09:57:59 pm
content: Quote from: b_force on April 10, 2022, 02:53:45 pmMy own experience in professional companies is that those companies need to select standards in order to keep everything running smoothly and sustainably. (I can't believe I just used the popular buzz word "sustainable", but I think its use is appropriate here.) All sorts of standards need to be established and maintained: BOM formats, drawing formats, title blocks, .. the list is nearly endless. At the bottom of all of that are the software programs chosen to generate all of the files. In other words, once a company decides that all of the schematics and PCBs will be developed using, for example, Altium, then it's law until the company isforcedto make a new choice.Some years ago I started working at a small company where Circuit Maker was used. Just about the time that I started there, Altium bought Circuit Maker and essentially stopped supporting it. So the growing company was forced to choose a new standard. I reported that I had used Orcad years prior, but was more familiar with Altium. I didn't really like either, but Altium seemed like as good an option as any. Since Altium was offering a "low cost" upgrade path from Circuit Maker to Altium, that was the direction taken.All but one of the existing engineers complained incessantly while unlearning Circuit Maker quirks and learning new Altium quirks. But eventually they able to get work done with it. All admitted that they didn't like Circuit Maker or Altium.I suppose the lesson here is that I have never met a person in a professional company likinganyECAD tool. They stop complaining once they are familiar any particular tool, But the fact is, professional companies all standardize on a small number of high price tools, so that is all that the engineers are familiar with.When I became an independent consultant I was in a position to choose my own standards moving forward. I considered buying a yearly license for Altium, but also looked seriously at lower cost options. I didn't need anything free, but I'll be honest that I wasn't interested in spending thousands of USD every year just to keep something that I was used to. I tried KiCad V5 and I found that although the interface was very different from Altium, once I learned how to use it I was able to complete designs just as well and quickly. These are complex designs, with multiple schematic sheets and often six layer PCBs. The complexity ruled out most free and open source programs, but the specifications of KiCad were sufficient, so I gave it a try. I learned to use it and I learned to like it at least as well as Altium.So now you know one person that works at a professional company that likes KiCad. The company has only one employee (me), but don't you dare suggest that it is not professional!For the past couple of years I have worked with an organization where everyone is "1099" as we say in USA. In other words, there are no regular employees; everyone is classified as an independent consultant, even the student interns. There is one other EE that used Eagle for years while working for large companies. When he went independent he purchased an Eagle license of his own.As you probably know, Eagle has been purchased by Autodesk and the licensing has been switched from perpetual to a yearly subscription. He understandably didn't like the change so was considering different software. I told him I use KiCad. He said that he had heard that it was shitty with a horrific interface. I took him on a quick tour of V5 showing what I like and don't like about it... he installed a copy and gave it a try. The fact that it will import Eagle projects made it easier.He complained and whined that it doesn't work the way Eagle does, but he also admitted that Eagle is shitty with a horrific interface and that he continued using it only because he already knew how. Now he uses KiCad for all new projects and recently commented that he actually likes V6 better than Eagle even though he's still learning to use it efficiently.Now you know of two professional EE's that use and like KiCad. You are no longer entitled to say "I have never met a person in a professional company liking KiCad."QuoteFor years ithasbeen improving. If you haven't given it a serious try since V4, then I hope you will at least reconsider it before repeating the same complaints we've been hearing for years.

author: nctnico
author_rank: Super Contributor
timestamp: April 13, 2022, 10:36:42 pm
content: Going a bit off-topic here but out of interest:@Eugene: since you seem to have experience with both Kicad and Altium: what is your assessment on how far KiCad is from becoming an actual replacement for Altium? My feeling is that the next version of Kicad could hit that mark or am I very wrong?

author: twospoons
author_rank: Frequent Contributor
timestamp: April 14, 2022, 03:14:42 am
content: Quote from: eugene on April 13, 2022, 09:57:59 pmMake that three.My story is remarkably similar to eugene's. Spent most of my career using PADs and Altium, but when I went contracting I chose Kicad because I couldn't justify the cost of an Altium license, and Kicad was capable of doing what I want.

author: Bassman59
author_rank: Super Contributor
timestamp: April 14, 2022, 03:47:49 pm
content: Quote from: eugene on April 13, 2022, 05:24:43 pmI used to participate in a forum dedicated to professional-level audio electronics design. For whatever reason*a couple of years ago I stopped participating, but recently they updated the forum software and I started getting daily post digest emails.One of the posts was an old thread complaining about Kicad's user interface -- basically a clone of this thread. Everything you read here was there: "Programmers are volunteers and only work on what interests them" and such.And yes, there was a handful of posts from someone complaining about the user interface, and I wrote a post saying, "your complaints are obsolete -- everything you're complaining about has been fixed, and in cases X and Y they were fixed two years ago."That got a response claiming that "Kicad users are zealots!" My response to that was basically, "Wait, so you ignore that your complaints were actually addressed, even though you've never filed a bug-fix or wishlist request, and you refuse to give the latest version a try to verify this, and you have the nerve to callmea zealot? I'm out. Bye!"I would delete my account and posts there if I could. The really silly thing is that the complainer is a forum moderator.Anyway. This thread appears in pretty much all electronics forums.*After looking at recent threads after getting those digest emails, I realized that the reason I stopped participating was because the forum had become a circle jerk. The same people talking endlessly about the same topics. There were no new-user posts.

author: eugene
author_rank: Frequent Contributor
timestamp: April 14, 2022, 08:09:33 pm
content: Quote from: nctnico on April 13, 2022, 10:36:42 pmI think you're right. Obviously it depends on what features of Altium you depend on. For me, there's nothing that I've wanted to do but couldn't get done with KiCad since I started using it in 2018 (early V5.) Would it be a good idea for a large tech company to dump Altium and have everyone switch to KiCad? That might be problematic, but I believe it could be made to work today with V6. The basic functionality is there. As I wrote in my last post, all of the well-known tools, no matter how expensive, have issues.There's no doubt that Altium has a more mature interface, but I'm not sure that actually makes it better. 'Mature' eventually turns into 'old.'The lack of an automated parts database might be the biggest issue, but I know that only from the complaints of others. It is not an issue for me. In any case, it seems that the problem is already solved, or will be soon, through plugins.

author: james_s
author_rank: Super Contributor
timestamp: April 14, 2022, 09:55:57 pm
content: Quote from: Bassman59 on April 14, 2022, 03:47:49 pmPeople like to complain, it feels good to complain, and some people do more complaining than others. I don't really see it as a problem unless it does what you mention there and completely takes over the forum. This forum on the other hand has a wide variety of content and new threads every day.

author: Bassman59
author_rank: Super Contributor
timestamp: April 15, 2022, 03:54:44 am
content: Quote from: eugene on April 14, 2022, 08:09:33 pmFor some reason, the rocket surgeons at Altium decided to take the schematic/layout cross-probe button off of the main icon bar. Idiots.

author: John B
author_rank: Frequent Contributor
timestamp: April 15, 2022, 09:07:23 am
content: Has anyone noticed that most electrolytic cap footprints no longer have positive terminal markers on the silkscreen layer?edit: Nevermind....I realised there's a whole host of non polarised footprints too now.

author: PlainName
author_rank: Super Contributor
timestamp: April 16, 2022, 02:26:39 pm
content: I have no axe to grind since I can't use Kicad now, but I've previously spoken about my frustration with the interface.Quote from: eugene on April 13, 2022, 05:24:43 pmPerhaps the changes didn't fix what was being complained about. As an example (and nothing to do with Kicad, just some random example), maybe a bedside clock has a red LED flashing every second, and people complain about that. So the developer changed the LED to a blue one - voila, problem fixed. Or not

author: b_force
author_rank: Super Contributor
timestamp: April 16, 2022, 04:32:20 pm
content: Quote from: MitjaN on April 11, 2022, 08:29:21 amIn fact it's the main reason why I don't bother much to be on forums and these kind of discussions anymore.These days I can even literally predict the next response; that they beg to differ, but totally missing the bigger picture.Also instead of having an objective constructive debate, people just come up with personal believes that are already set and stone.That is not a debate or an argument, that's just throwing statements at each other.In a proper discussion or argument people try to understand each other points of view.A company like KiCad who is selling a PCB program I would HIGHLY recommend listening to people with MANY decades of experience.And YES, even if you try to convince people to use your FREE program, that IS still selling. (you only don't get money for it)We will see were KiCad end in 5 years, like I did 5 years ago, my expectations are very low.Up till now, my prediction were very accurate, but hopefully I am wrong this time.

author: andrejr
author_rank: Contributor
timestamp: April 16, 2022, 07:58:54 pm
content: I'm a longtime KiCad user, and I've grown accustomed to it over the years. I'm pretty fast and efficient, and I use both hands (left one spams keyboard shortcuts, the right one moves the components).But in spite of that, I find some workflow choices pretty dumb, unintuitive and plain bad. Selecton behavior comes to mind, some aspects of rotation, ... Now, I'm a C++ developer and I wanted to help make it better, but it uses WxWidgets which I have never seriously used. I'd have to invest time into learning about WxWidgets first, which puts me off of the whole thing (when I do GUIs, it's Qt).The simple file formats, plugin functionality and Python integration in KiCAD make it so much better than any other solution available for any amount of money. You can't reproduce productivity offered by KiPart, KiField, Kinjector, KiCost, and the ability to write your own scripts. Then there's integration with Inventree, the FOSS inventory app (it's called Ki-nTree and I'm a contributor). The amount of symbols and footprints for obscure components is also unmatched.If you're the oldschool EE who doesn't know much about programming (scripting), but needs an EDA package to do schematics and boards, you might be better off with some other tool. If you're doing really difficult boards (GHz range signals, huge BGAs, ...), I'm also not sure it's the right choice (though there is some script-based auto-fanout support) because I don't do those. I have no idea how it handles microwave stuff (though I know it has some tools for it). But if you're doing anything else, it's the best choice.In spite of that, there is a lot of room for improvement, in both the GUI and component management.

author: nctnico
author_rank: Super Contributor
timestamp: April 16, 2022, 08:20:54 pm
content: Quote from: b_force on April 16, 2022, 04:32:20 pmWhat is the bigger picture? That by itself is a bit of an empty statement. For sure there are other more advanced CAD packages out there compared to Kicad. But there are also less advanced ones. The way I see it KiCad is somewhere on the middle of the road and has replaced Eagle as a general purpose schematics & layout tool.From my interactions with other EEs I know there is a wild variety of workflows that people use. Some even prefer to use a glorified paint so they have full control over where their traces go. Things like netlists and DRC just get in their way. At the other end of the spectrum there are EEs that like to use all kind of advanced features like area based DRC, BGA fanout, differential pair constraints, etc. There is a very large area in between as well. In the end better is relative to what functionality you need.Where it comes to the GUI: in my experience every piece of software that does a somewhat complex task, has a horrible GUI that simply needs time to learn.BTW: I'm not a Kicad user at all. I'm just interested to see where it goes and maybe I'll hop on at some point depending on the circumstances.

author: ebastler
author_rank: Super Contributor
timestamp: April 16, 2022, 08:35:38 pm
content: Quote from: b_force on April 16, 2022, 04:32:20 pmIf you want a constructive discussion, you might start by being a bit self-critical about your earlier post. Do you really believe that, for Kicad to have merit, its programmers also must be professional PCB designers? Do you really believe that Kicad has not improved at all over the years, as you had implied?You just throw out these polemic statements and, at the same time, complain about a lack of constructive argument. Notice something?The good thing is that we don't need to have an argument at all. Since in your view Kicad is beyond hope, I am sure you are using a different PCB CAD package, and I certainly don't want to get in the way of that. While you do so, just let those who are content with Kicad use it, and let them discuss among themselves which improvements they consider most relevant.

author: b_force
author_rank: Super Contributor
timestamp: April 16, 2022, 08:42:14 pm
content: Quote from: ebastler on April 16, 2022, 08:35:38 pmAnd this is the exact reason why I don't bother.Proper reading and thinking in black/white statements will always results in arguments that don't go anywhere.Forever talking in circles by already assuming things (as well as having those statements ready)Besides that, you are missing the point of the bigger picture, the point is not if something has improved.The point is the general overall vision of something.You can improve a turd, it might look pretty and shiny, but it always will be a turd.Besides I don't really care tbh, but I ques that's considered as rude?Can never win, can we?I will just have a look in a while again, cheers!(waiting again for the responses; "yes, but it's free", "oh, but can you do it better", "Have you ever made PCB program", "Works fine to me", "Have you ever done PCB design" etc etc etchttps://en.wikipedia.org/wiki/Fallacy)

author: thinkfat
author_rank: Unknown
timestamp: April 16, 2022, 09:31:56 pm
content: IMHO, KiCAD is not going to replace Altium in the foreseeable future. V6 was not as big a step forward than V5 was against V4. For me, V5 was plenty enough and V6 felt like just an incremental improvement. V5 was a major leap forward, in comparison. There's nothing in V6 that enables me to do things that weren't possible already with V5. Had they brought the simulation engine up to par with LTspice, or implemented a seamless interface to e.g. openEMS, that'd have been "wow" stuff.Still, KiCAD is by and large a stand-alone tool. It does what it does quite well but for use in a big production environment, it just lacks connectivity towards the dreadful world of ERP systems, that every big company apparently must have. And since this stuff is just boring and unattractive, nobody will want to work on that in KiCAD unless forced with money. Changes in the user interface are not going to make a difference, even if it was the spitting image of Altium Designer, it would still not replace it.

author: aaronw
author_rank: Newbie
timestamp: May 15, 2022, 05:25:09 am
content: I can't speak to other platforms, but a few years ago I decided to try my hand at making a PCB to do what I wanted. After struggling with the schematic editor for Eagle I gave up in frustration and downloaded KiCad. I found KiCad to be far more intuitive to use. Right-click popped up context menus and the keys were generally intuitive. Want to delete a component? Select it and hit delete. I've used it ever since. There's certainly room for improvement, especially with all the UI bugs I'm hitting with 6.0. I'm hitting a serious problem where the focus switches away from the PCB editor to the schematic, so when I select a component to rotate with 'R' I might suddenly have the same component in the schematic editor rotate! This may be some weird interaction with KWin and the fact I use focus follows mouse. I'm sure that will be fixed since I'm not alone with this.I think part of KiCad's problem was their choice of wxWidgets compared to something like Qt, the latter being better for large complex applications with custom GUI requirements. I also hit a lot of issues with routing in 6.0 where it seems to struggle at times, and clicking a track does not lay it down to let me continue, much to my chagrin. In many ways, I prefer 5.1. It certainly worked a lot better for me.

author: MadScientist
author_rank: Frequent Contributor
timestamp: May 15, 2022, 11:47:10 am
content: High end Altium users are not in the sights of KiCad , but certainly professional Eagle and low end professional Altium users are.Hence it wrong to preset this as an all or nothing argument.Note V6 was a huge improvement in that it bundled the libraries of parts used into the schematic directly. This now means exporting the project to others is more less error prone.

author: MadScientist
author_rank: Frequent Contributor
timestamp: May 15, 2022, 11:49:24 am
content: Quote from: aaronw on May 15, 2022, 05:25:09 amI’m on V6 and I’ve done about 10 designs with it. Ive never experienced the focus issue you outline. You need to examine your workflow. I use a dual monitor arrangement

author: aaronw
author_rank: Newbie
timestamp: May 16, 2022, 03:46:07 am
content: I'm using dual monitors in Linux with KDE and I have my desktop environment configured to focus follows mouse. What happens is in pcbnew, sometimes when I select a component, the focus will shift to the same component in eeschema and the window focus will shift from pcbnew to eeschema so that if I then type a key, like 'R' or 'M' it will affect the component in eeschema instead of pcbnew. I opened a bug on the KiCad site with instructions on how to reproduce this reliably. I never had this issue with 5.1.x. The other issue I have is how laying down tracks has changed. With 5.1.x if I click the mouse button it will place the current track where it sits and let me continue. With 6.0 it doesn't do this and it will continue to try and push and shove things around unless I click at least twice, where it also will often just end the track where it is. And finally, it seems to have a lot more trouble hunting around for placing a track than 5.1 did.Note that my PCBs tend to be rather dense.https://github.com/aaronw2/led-controller-v4is my current work in progress.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 27, 2023, 11:32:33 pm
content: Quote from: donotdespisethesnake on October 04, 2018, 09:27:04 pmYes, it's been a year since this thread cooled, but I think it's time for it to reheat.What we have here is an argument for the basic acceptability of mediocrity, in this case,"It doesn't have to be good if you're not paying for it." An impressive position.I'm a longtime user of really grownup EDA; which one doesn't matter, but I don't mind mentioningif it's relevant to the discussion. The point is that it's also quite an old package, and running on aUnix workstation with a big glass tube. So as much as I love it, I sure could use a little modernizationonto, like, something that runs on a laptop, but without windoze because anything newer than xphas been insufferable. Anyway...That's what led me to give KiCAD a go at the suggestion of a friend whose recommendation I feltshould be reliable. As a test project I set out to recreate a really old through-hole design, a coupleof boards that although very few people on earth have a need, the ones who need itreallyneedit. Technically, unchallenging in the extreme. Little did I anticipate the nightmare that awaited.I was doing my first pass, entering the schematic from an almost-unreadable copy of a hand-drawnoriginal, and found that the stock library 555 symbol was really wonky, completely out of keepingwith the way it's normally done, inputs on the left, output on the right. So I crack the symbol editorand find they have some nice touches, like giving you the choice of adding an inverting circle, whichis something I'm used to having to manually draw in. Then I exit back to schematic capture and findthat the connections I'd made before the edit didn't stick with the pins and rubberband; instead, themoved pins are sitting on the wrong wire ends, which haven't moved. Editing a symbol trashed thenetlist. Not cool, not even a little bit. Must have done something wrong, missed an update step orsomething. Took the question to the forum and was treated like a heretic to be placed in stocks inthe public square and stoned to death.The part I quickly found incomprehensible is that this isn't a bug, it's a feature. When you think you'reconnecting a wire to a pin, you're not. All you're doing is putting an end of a line at a place where therehappens to be a dot. KiCAD's schematic capture does not join the two and add the connection to thenetlist database, because there isn't one. Somewhere later in the design flow, I guess, some netlistingmodule must run around and generate meaningful data, but at that point you're just drawing a bunchof extremely error-prone pictures, because any time you move something, lines and pins and verticesare going to bump into each other, and without a running netlist db to verify against, KiCAD can't tellyou when you're about to screw yourself.Over the course of ahundredexchanges, I heard arguments that most of the friends I've talkedabout it with (professional PCB designers and not) have a hard time believing had been seriouslyoffered:The first, most obvious, and most condescendingly passive-aggressive: "That's just your opinion.There's no 'right way' to do this. You'd probably be happier using something else.""Why would anyone have to edit a symbol? Do it right the first time and you'll have no reason toedit it later.""Schematics exist EXCLUSIVELY as human-readable documentation. They're not supposed to builda database or anything else."From the friend who recommended it, but did not participate in this bun fight: "The project wasstarted by a guy at CERN!", implying that being associated with a multibillion-dollar Big Scienceproject confers the Trademark of Quality on some guy in someone's department's software project,and ignoring the fact that giant organizations like that have budgets discretionary enough to letjust about anyone take a stab at some new crap if the argument is halfway good (e.g. It's for anopen-source package that'll sweep the world!), and that they also have more than their fair shareof boobs on staff.The litany of idiotic arguments really is pretty stunning, go read it yourself if you must. Theshort answer is that my personal, professional determination is that unless and until KiCADreconsiders theirshockinglynaive and trivial approach to schematic capture, it's GreasyKid Stuff and not ready for prime time. Maybe their layout isbrilliant, but I'll have nochance to find out as long as schematic is crap.The other point this underscores is that open-source software users exhibit cult victim behaviour.Not universally, there's a lot of both good and bad, but there's always tribalism. And there'scertainly the idea that because open-source ismorallysuperior to commercial software(because it's being done for righteous reasons, and not just filthy profit), that moral superioritysomehow conferstechnicalsuperiority - and that's where they go off the rails, sacrificingany reasonable degree of objective judgement.And... oh, yeah... the GUI's really awful too. These people (the developers) have obviously neverheard the old saying about how great composers don't invent - they steal. Go and nick the bestideas available for your GUI from every piece of software you can get access to and roll themtogether into abetterone. NIH is for idiots.

author: wilfred
author_rank: Super Contributor
timestamp: April 28, 2023, 01:31:09 am
content: Well you've covered a broad series of grievances I think that should help advance the development of Kicad. I'm surprised after a hundred exchanges with others you still wish to persist with Kicad. Surely trying something else might yield better results for you.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 01:52:31 am
content: You must have lost count, because theonly"grievance" I've discussed is schematic capture'sdesigned-in ignorance of the netlist. That's all. And it's not even a grievance. I'm warning otherpeople who might mistake it for a serious tool that by any experienced, objective measure, hasfailed in one of its most basic design requirements. I'm no more reporting a "grievance" than is atraffic reporter calling in a car accident. I'm just passing on the facts and couldn't care less ifanyone wants to settle for such.You're also making an incorrect inference if you think I "wish to persist". I didn't. I ditched thatcrap as fast as I could and have happily returned to the system I've been using for something over20 years, and I'm prepared to keep running it as long as it's light-years ahead of whatever open-source stuff the kids are smugly cranking out now. A system designed by people who understandthat the "A" in "CAD" means "Assisted", a tool that helps me drive through an error-free design bycatching problems rather than ignoring them because it can't tell the difference.And apparently you skimmed my post too quickly to notice that I'd already addressed in advanceyour ever-so-helpful "Surely trying something else might yield better results for you." Yup. Tryingsomething that I already know isn't garbage yieldsfabulousresults.

author: KE5FX
author_rank: Super Contributor
timestamp: April 28, 2023, 01:53:26 am
content: Quote from: wilfred on April 28, 2023, 01:31:09 amHe's got some good points. One thing I actually appreciate about EAGLE is that the schematic is the controlling document, so to speak. From what he's saying, it sounds like KiCAD not only still doesn't do back annotation properly, in the sense that coherence between the board layout and schematic are continuously enforced, but that it treats connections as "artwork" rather than as first-class objects.I can see where a lot of people would find that approach problematic while others might not care as much.

author: wilfred
author_rank: Super Contributor
timestamp: April 28, 2023, 02:03:08 am
content: Quote from: KE5FX on April 28, 2023, 01:53:26 amKicad does have to continue evolving to get out from under the limitations of its roots when it was a mash-up of tools by different developers. That's happening faster now than previously. I've seen an increasing number of people using it to good effect.In any case my post was seeking an answer to an underlying question. Which has been answered I see.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 02:05:01 am
content: Yeah, the forward/back annotation thing can be a double-edged sword. Back when Igot started using PC-based EDA in the mid-80s (after almost 10 years of tape and mylar),I went with a fully-integrated package (EE Designer) rather than the ad-hoc stuff friendswere using, usually OrCAD and whatever for layout. That gave me an early appreciationfor being able to work in either direction with a minimum of fuss and/or error. Being ableto draw a layout and then extract the schematic from it was particularly helpful whendoing reverse-engineering jobs.The Tough-Guy system I've been using since making the jump from PCs to workstationsdoesn't afford that luxury: The schematic is the word of god, and if you don't go back tothe source drawing and explicitly make a change, you ain't making it in layout, becausethat's introducing errors.To clarify: I have no idea whether it back-annotates (properly or not) from layout toschematic, because I never got that far. I wasn't about to waste a New York minute witha system that doesn't know what its basic job is, so I have no idea what layout is like.And if itdoesback-annotate correctly, what's the point if the schematic capture stilldoesn't understand what a netlist is? Honestly, when I think about it, it's the softwareequivalent of Monty Python'sSwamp Castle.

author: thinkfat
author_rank: Unknown
timestamp: April 28, 2023, 02:40:42 pm
content: Quote from: propellerhead on April 27, 2023, 11:32:33 pmOne of us must be missing something. What exactly do you mean with the schematic capture not joining pins and wires and adding that information to the netlist? KiCAD quite obviously "knows" in the schematic editor, that wires are nets and what they connect to, and it becomes abundantly obvious as soon as you hit the ERC button.Regarding the GUI, beauty is in the eye of the beholder. I can find no (major) fault with KiCads way of interacting with me, but that may just be my personal bias (or lack thereof). As far as "steal is better than invent", I'm sure glad the developers didn't copy from "Eagle".

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 04:41:30 pm
content: Quote from: thinkfat on April 28, 2023, 02:40:42 pmSchematic capture evidently knows nothing and enforces nothing. Tell me: If you lay downa symbol, then "connect" (air bunnies because it isn't an actual connection, it just plays oneon your screen) wires to it, what happens if you then pick up that symbol -just the symbol-and move it somewhere else on the drawing? Do the connections follow along, rubberbandingthe wires to the pins?QuoteOf course, a "good" GUI is a matter of personal preference, and often not what's actuallysuperior in any sense, rather what you've gotten used to. Turns out, though, that peopleare capable of becoming quite accustomed to a lot of really terrible stuff - don't make memake a list to prove it. But (in my admittedly very limited experience) KiCAD's simplyhasn't been thought out at all. I had a hard time detecting any consistency in the schematiccapture, and when I opened a pulldown menu and was presented a ~30 item list, all Icould think was "This is cancerous - it looks like it just keeps growing and growing and itisn't occurring to anyone that it's ridiculous and needs to be - at least - pared down, andprobably rethought.I'm going to tip my hand here. I'm running Mentor Graphics V8, which, it seems, will haveto be pried from my cold, dead hands. Mentor comes with a lot of complexity and a hugelearning curve. But there is real innovation, real genius in their UI. They based it aroundsomething called "strokes", which is a set of mouse gestures - you hold down the middlebutton and draw a little pattern on the screen, and it activates a function. For example,if you want to move something, you open the "select filter" with a left-then-down stroke,the filter box pops up, and choose what it is you want to act on - a symbol, vertex, text,whatever. A left-to-right "swipe" stroke dismisses the select filter. Select the symbol(or whatever) by clicking on it. The "move" stroke is up-then-down-to-the-right, whichpicks up whatever you're moving -and all the connections to the symbol rubberbandwith it. The "C" stroke copies whatever you've selected. The "U" stroke unselectswhatever you selected. And if you can't remember a stroke? Do a "?" stroke and thestrokes help box pops up. Diagonal strokes zoom you in or out. Do you get a sense ofwhat I mean? In this example I didn't have to grind through 30-entry drop-down lists ortouch the keyboard, and it's fast as hell. Sure, there are a few operations that involvethe keyboard, such as if you want to flip or rotate as part of a move, but they are fewand not used often.And if you can actually visualize it, play these operations for your mind's eye, you'llimmediately grasp that at no time do your eyes deviate from the area of focus - thepart of the schematic or layout that you're actually working on - so your brain doesn'thave to do a context switch finding the needed function in a huge menu or the keyyou need on the keyboard before returning to the work and trying to recover yourcontext. Not only fast as hell, but less mentally exhausting.Thisis what's meantby "a good UI".I'm telling you, the hardest part of my day is stepping away from that big old HP-UXmachine and going back to my desk to do "normal" windoze or penguix stuff, and tryingto swipe a spreadsheet to close it because it's just become that instinctive. And spareme "oh, they just stole that from Apple", because this version of Mentor predates IOSby a decade and it was probably part of earlier versions too, and we all know that Jobswas the biggest idea thief in the history of computing.Why would anyone put out greasy kid stuff if they can steal from the best? Even ifMentor patented this UI, the patents have expired, so what are the KiCAD developerswaiting for? Oh - I know... they're waiting for someone to sit them down in front of arealEDA system so they can grow up and stop impressing themselves with howthey compare to Eagle.

author: fourfathom
author_rank: Super Contributor
timestamp: April 28, 2023, 05:06:06 pm
content: Quote from: propellerhead on April 28, 2023, 04:41:30 pmYes, with KiCad the connections rubberband, maintaining 90-degree angles if you like. Air bunnies not involved. When have you last tried it?

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 05:15:43 pm
content: Quote from: fourfathom on April 28, 2023, 05:06:06 pmWhat was the most recent major release? 7? It was either that or a late 6.Oh, it's coming back to me... Aren't there different ways to move things that behavecompletely differently - a "move" vs. a "drag" or similar? I think I was (stupidly, itwould appear) using move and you're describing a drag. How obvious. Does thephrase "feeping creaturism" mean anything to you? This is what happens when youhave a perfectly democratic, egalitarian project: Nobody takes responsibility for QCand saying "wait, that's an obscure, idiotic, and confusing sort-of-duplication offunctions, so one of them has to go."But let's assume the wires come along, whichever it is. Edit the wired-up symbol andswap two pins. When you return to the schematic, do the wires stay where they were,now connected to the wrong pins, or do they rubberband/reroute to the correct pins'new locations?

author: ebastler
author_rank: Super Contributor
timestamp: April 28, 2023, 05:17:22 pm
content: Quote from: propellerhead on April 28, 2023, 04:41:30 pmThe command you want is G(rab), not M(ove). Voilà, rubberbanding. Voicing strong opinions does not work so well if not backed by solid knowledge...In any case you are jumping to conclusions. Yes, in some situations KiCad does not automatically re-route the connections (namely if you change a footprint and move its pins around while it is already in your schematic). But how does that lead you to the conclusion that it does not "know" about the connections? KiCad knows about them; it lets you break them; it then knows they have been broken (and will tell you so if you do an ERC).You may wish for a feature that lets you move footprint pins mid-flight, I can see how that might be useful at times. (I can also see how it might create a mess at times.) But jumping from there to a "KiCad's architecture is fundamentally flawed" is fundamentally flawed...

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 05:50:19 pm
content: Quote from: ebastler on April 28, 2023, 05:17:22 pmOh, of course. My apologies - I couldn't remember whether it was M(ove), D(rag), G(rab),B(eg), C(oax), C(ajole), P(lead), or W(ish). Thank you for the meaningful clarification.QuoteI'mreallynot the guy you want to attempt that tack with. If something isn't worth knowing,it isn't worth knowing well. It's not necessary for me to read the entire bible and be able to quotechapter and verse to qualify my views as an atheist. So please stick to the subject matter at handand avoid trying to launch a bigger discussion.QuoteYou just answered your own question. You make connections, then modify the symbol, and whenyou return to the schematic it has not only failed to rubberband the connections, but it hasn'tflagged the connections as errors! What about that isn't clear? If the schematic netlist meantanything, KiCAD, would dosomethingto show that there's been a change that has nowviolated the netlist! But it doesn't do a damn thing, just lets it slide. I'd love to hear which otherEDA packages you have extensive experience with that makes this behaviour look in any wayacceptable. But it "will tell you so if you do an ERC"?WTF?If it knows, why the hellshouldn't it just tell me,withoutmy having to ask? The reality is thatthere is no netlistwithin schematic capture! That was painfully confirmed in the course of the long argument inthe KiCAD forum that I referred to earlier, sopleasedon't try to pretend there is.QuoteI don't have to wish for a damn thing. I already have a system that doesn't allow me to makethose kind of mistakes without making it very clear where they are - WITHOUT my asking.And I honestly don't knowwhatthe hell "mid-flight" means. Sounds to me like you'rejust making stuff up.QuoteI'm sorry, I thought you were about to tell me about your extensive experience in the field.You've worked with how many "Free as long as your board isn't more than 9 square inchesor a hundred traces" packages in addition to KiCAD?

author: JohanH
author_rank: Frequent Contributor
timestamp: April 28, 2023, 05:52:26 pm
content: Quote from: propellerhead on April 28, 2023, 05:15:43 pmSomeone always has to come from nowhere, jumping into some open source project, with their strong voiced opionion of how wrong it does things.Just another day on the Internet.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 05:56:15 pm
content: Dude, if you actually have an opinion on the subject at hand, and not just the tired old"oh, another boring critic" rap, then by all means offer it. But you said nothing at all.

author: JohanH
author_rank: Frequent Contributor
timestamp: April 28, 2023, 05:59:42 pm
content: Kicad has actually pretty good documentation, so instead of whining, read up a little and then if some feature still bothers you, change to another product or actually get involved and do a feature request. Or instead of that attitude, actually ask nicely, and someone could bother to answer. Sorry, if I'm being an ass today.

author: Monkeh
author_rank: Super Contributor
timestamp: April 28, 2023, 06:09:50 pm
content: And here we see the sort of person who doesn't think a bolt can be turned without a Snap-On wrench.You already have a tool which works exactly the way you want, and you cannot conceive of a tool not working in that manner. That's great, stick with it.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 06:10:49 pm
content: Quote from: JohanH on April 28, 2023, 05:59:42 pmThe quality of the documentation is immaterial if the product being documented is defective.I made clear above that this has nothing to do with "whining". I'm providing a public service,which I hope will help other serious EDA users avoid wasting their time learning what I just have.I suggest you get up to speed with the conversation before diving in with strong opinions. I'vealready indicated that this is the point at which I abandoned the KiCAD experiment and returned togrown-up tools.You apparently don't get that this is a structural problem, and not a "feature" to be "requested"If you aren't an ass today (or any other day), you'll find you don't have to apologize for it.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 06:16:15 pm
content: Quote from: Monkeh on April 28, 2023, 06:09:50 pmThat's a fun comparison, as I'm a mechanic in addition to an EE (and over the last 45 yearsthe only needlenose pliers and flush cutters I've used are Snap-On), and I jam econo - I usethe best tools I can afford - why would anyone do otherwise?But your comment is really just anad hominemattack that fails to address the issuebeing discussed.

author: ebastler
author_rank: Super Contributor
timestamp: April 28, 2023, 06:19:07 pm
content: Dear propellerhead, you got Mentor Graphics, you got an attitude problem -- is there anything else you need? Not from me, I reckon. Bye.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 06:28:27 pm
content: Quote from: ebastler on April 28, 2023, 06:19:07 pmOh, no! Please don't leave before answering the questions I askedyouin my previous reply!The ones about why anyone should settle for behaviour designed to help you make errors and thenfail to take any proactive steps to let you know you made them?

author: Monkeh
author_rank: Super Contributor
timestamp: April 28, 2023, 06:29:45 pm
content: Quote from: propellerhead on April 28, 2023, 06:16:15 pmQuote from: propellerhead on April 28, 2023, 04:41:30 pmYour uh, 'good' gesture driven UI, by the way, would be entirely unusable to me.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 06:32:59 pm
content: Quote from: Monkeh on April 28, 2023, 06:29:45 pmI'm genuinely interested in learning why. Is it a physical limitation, or something else?

author: JohanH
author_rank: Frequent Contributor
timestamp: April 28, 2023, 06:40:31 pm
content: Quote from: propellerhead on April 28, 2023, 06:10:49 pmWell, you are not doing it in the right way nor in the right place.Quote from: propellerhead on April 28, 2023, 06:10:49 pmI wish I was such a saint, but apparently there are somebody out there with the ability, saving our face. Thanks!

author: Monkeh
author_rank: Super Contributor
timestamp: April 28, 2023, 06:42:25 pm
content: Quote from: propellerhead on April 28, 2023, 06:32:59 pmSpatial dysgraphia. Or at least symptoms generally in line with such. I can type at speed, I can spell perfectly well, my fine motor control ranges from microsoldering to long range shooting, but ask me to draw you the letter 'a' and you'll get something you'd expect from a three year old. Gestures are torture.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 06:57:15 pm
content: Quote from: Monkeh on April 28, 2023, 06:42:25 pmThat's really interesting. I don't envy you at all, but it's certainly interesting. So are youable to successfully navigate EDA like this because you're picking items from a list, haveorthogonal routing enabled on a coarse snap grid, etc., - operations that don't requireaccurate and unconstrained motions in space? Do you substitute a lot of keyboardoperations for stuff usually done by mouse? If so, maybe the issue would be the tolerablelevel of complexity of the gestures - or is it so severe that controlling the orientation of astraight line is really hard?Aside: The whole strokes conversation is really where I got interested in KiCAD - whetherit might be something they'd be interested in implementing as anoption. But I didn'tpursue it because of the bigger problems that most seem to think unimportant (but notall, I hasten to add - there were a few folks in the previous conversation whose experiencewas more extensive than mine and recognized the gravity of this flaw).

author: jaromir
author_rank: Unknown
timestamp: April 28, 2023, 07:18:57 pm
content: Just for reference, this topic has been discussed here, toohttps://forum.kicad.info/t/symbol-editing-and-the-netlist/39271in similar style and with similar intent.

author: Monkeh
author_rank: Super Contributor
timestamp: April 28, 2023, 07:21:40 pm
content: Quote from: propellerhead on April 28, 2023, 06:57:15 pmDysgraphia is not as simple as not being able to move a mouse or a pen accurately, I can draw a straight line, place my cursor at any point I wish with fair precision, but the drawing of a shape is a very different process. I want to say it's like talking vs singing, but being that I don't sing that might be an awful comparison.I do indeed use keyboard shortcuts where most people trawl through menus because they don't remember the shortcuts. That's just familiarity, and unrelated to difficulties with drawing.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 07:22:22 pm
content: Quote from: jaromir on April 28, 2023, 07:18:57 pmIf you think this is your "big reveal", note that I referred to it in my initial post here.

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 28, 2023, 07:25:55 pm
content: Quote from: propellerhead on April 28, 2023, 05:50:19 pmThat's one point I agree with. The schematic editor has no notion of netlists and is a purely graphical tool. It generates the netlist as a post-processing step, only relying on proximity of objects.I also think that is a flawed approach. But to be fair, a number of other schematic editors in other EDA do the exact same thing. Granted, not all.Even Eagle definitely stores the netlist along with the schematic itself - that can be seen in the XML schematic files.The schematic editor has seen less overhaul than the layout editor in general in KiCad. Handling true connections between objects would certainly be a nice plus.I don't know how hard that would be to implement in the existing editor.

author: PlainName
author_rank: Super Contributor
timestamp: April 28, 2023, 08:20:47 pm
content: QuoteBear in mind I haven't the faintest ideaLooking at the referred-to thread in the Kicad forum the example shown is where a pin is moved from the bottom of a device to the top, and the wire that was (supposedly) connected to it is left hanging. But, it shows that the wire has the correct net name, and the device has the pin named as such. Surely it wouldn't be that difficult to think, "Hmmm, this wire is on the net for that pin, when not just plonk it on top?"Of course, there would be unintended consequences - do you really want wires auto-joining whenever you plonk something down? Perhaps there could be some distance-related magnet on a pin (which might solve the queries we see of wires not joining to pins because both aren't on the same dot of a stupidly small grid).However, if the wire has the right net and the pin isn't connected to that net, wouldn't that cause an ERC error? If so, surely that's the problem solved.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 09:45:20 pm
content: Quote from: PlainName on April 28, 2023, 08:20:47 pmSure, if your design philosophy is "Always keep the user guessing - or doing the work that the CAD system oughta!"What we're seeing is the consequence of really not giving a damn about where the lines go or how they got there,because it'll all get fixed in the mix, later in some ERC/DRC operation. Frankly, that approach is just sloppy as shit,and reminds me of a brief stint 30-some years ago when the geniuses running a startup I did some subsequentdesign rescue work for decided that since they already knew AutoCad and were using it for something else, it'd befine for EDA too. So they bought some expensive third-party modules that were supposed to give them the desiredfunctionality and the result was... my getting called in to do a design rescue. They too took the view that "it's alljust lines, right?" and that real-time netlist creation, checking, and enforcement weren't necessary. Expensivelesson.Again, it's easiest for me to cite Mentor's DA (Design Architect) approach, because it's simple, strict, and bulletproof.To begin routing, select the "route wire" function.Start a wire by clicking on a pin, then draw it out as desired - click to get a vertex, etc., depending on which routingmodes you've chosen. When you reach a pin you want to connect to, click on it and carry on to connect to the next,or double-click to end it. You can draw lines in space, but they're not going to be assigned net names becausethey're not connected to components pins or defined as supply nets, etc., and will generate warnings.Once you've generated that net, you can't mess it up by accident. If you, say, move a resistor pin onto an existingnet, it gets an error flag until you either explicitly connect or separate them. The same thing happens if you movetraces around and one overlaps another, a vertex coincides with a line or a pin, etc. In other word, if itlooksconnected, but you didn't explicitly connect it, you get an error in real time. Obviously, two wires (or buses) simplycrossing are not considered errors.Same thing if you edit a symbol. Return from the edit and your connections haven't been messed with just onaccount of some minor visual tweak, and if any wires have been rubberbanded into questionable locations (likerunning over other pins), the error flags will point them out so you can clean them up.And none of this involves the user running checks, it just happens as you work. Do I look like someone who looksat a bunch of wires going to a bunch of pins on a drawing and thinks "Fabulous! I can't wait to transcribe or printout the names of all those nets so I can manually correlate them and figure out which ones are out of place!"?Ahem... don't make me say it, but that's whatcomputersare for.And to answer your question: "if the wire has the right net and the pin isn't connected to that net, wouldn't thatcause an ERC error?", the answer is "no". The reason is that when you connected them, they were part of the samenet. But when you disconnected them, one got assigned a different net name (or the pin had its net name reset -I'd have to check), because they're no longer part of the same net. If you want them connected (again), it's up toyou to do so - you can't expect the editor to grasp your designintention. Or if they weren't connected in thefirst place, the editor isnotgoing to go "well, that looks close enough, so let's just assume they should beconnected."It's blindingly simple, really. Nothing is connected untilyouconnect it. If you disconnect it, it's disconnected.We do not make assumptions, guess, or surmise. If somethinglooksconnected and you didn't do it, it doesn'tcount and must be reported as an error - in real time. This is how you maximize design entry correctness andminimize user effort, period. You strictly enforce a couple of simple rules. Anyone arguing the contrary is justpresenting a nonsensical case for reducing reliability and increasing effort - an argument against one's own bestinterests, like the people who vote... no, I'm not going do that...

author: thinkfat
author_rank: Unknown
timestamp: April 28, 2023, 10:05:04 pm
content: Quote from: propellerhead on April 28, 2023, 04:41:30 pmWell. KiCAD recently gained the ability to rubberband wires on dragging symbols, but it's a far cry from what you describe. It will create a tangled mess of lines when you "overdo" it. Hence I tend to not "wire up" my schematics, but I use net labels mostly to connect, well, nets by their name instead of using an actually visible wire. Rearranging my schematic is then just moving the symbols with their connected net labels. Some say it creates schematics that are easier to read. But this may just be an excuseRegarding the stroke UI, I can totally see the advantage of gestures instead of chasing a menu, and I can picture how it would work far better with a tablet and stylus instead of a mouse. Indeed it might be really fast, when it's ingrained in your brain after a couple years. But is there really a clear advantage over well chosen keyboard shortcuts to common functions? Apart from the obvious advantage of freeing up one hand for holding a coffee mug.The existence of a superior UI doesn't make all other UIs horrible, tough. And, for a project that effectively has two full-time paid developers and a 5 figure budget, I think they're doing great. I'd guess even the first prototype for Mentor Graphics stroke UI was more expensive than KiCads entire yearly budget.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 28, 2023, 10:36:08 pm
content: Quote from: thinkfat on April 28, 2023, 10:05:04 pmI can assure you that I'm not among that "Some". That has its place, but I keep seeing it done where its use isn'treally justified and could be avoided by just thinking the drawing's layout through a little further. I really won't do itunless I'm carrying signals to another sheet. And I've seen it done to such a ridiculous extreme that what should havebeen a coherent schematic really had no lines at all; it was a thick binder of 11x17 sheets, each of which had maybea dozen gates on it, with the net names on every input and output. It was perfectly accurate, perfectly unreadableand perfectly uninformative.QuoteI've never had any issues with doing it via mouse, and I was never a tablet user, so that case doesn't mean muchto me. Maybe it would work, maybe even be good, but I'm not sure where the three mouse buttons' functions wouldcome from. The keyboard shortcut thing is a little different problem. I've been a fast touch typist longer than I'vebeen laying out boards, and I don't much like having one hand on the keyboard and the other not. What I'm oftenusing my non-mouse hand for is keeping track of something on a schematic or prototype or something to the sideas I work. This is really YMMV territory.QuoteNo, but it should make all others envious and the horrible ones obvious, right?QuoteYou know, it'd probably be a lot cheaper and faster (read: a good volunteer chunk) than you think. The strokes areall defined in a 3x3 grid, so as soon as the middle button is depressed you follow the pointer in the matrix and go:Let's see... 3-2-1-4-7-8-9 is a "C" (It's probably simpler than that, like skipping the 1 and 7 corners - I'd have to check,but you get the idea). "Move" is 7-4-1-5-9. There are only a couple of dozen of them, so it's not really complicated.Funny story, though... I just learned a couple ofmonthsago that one of Mentor's founders is the first cousin(as in: mom's brother's son) of one of the guys who brought me into the business in the 70s and is still a dear friend.Crazy. So if we really wanted to know what it cost them to implement it, I could probably ask.

author: thinkfat
author_rank: Unknown
timestamp: April 29, 2023, 07:36:26 am
content: Quote from: propellerhead on April 28, 2023, 10:36:08 pmOh yeah, totally with you there. I've seen that a lot especially in KiCad "tutorial" videos on YT. It's totally atrocious. The way I tend to do it is wire up only functional groups and then use net labels to connect them to the rest of the circuit. For example, a switching regulator is one functional group and is drawn with wires, but it is not connected to the rest with wires. So I don't draw a supply "bus" and then connect all the other groups to it. A reset circuit may be one functional group, a reverse voltage / overvoltage crowbar may be another one. But I rarely put those small groups on separate sheets, because it's too disruptive during schematic review.

author: baldurn
author_rank: Regular Contributor
timestamp: April 29, 2023, 08:17:13 am
content: I am causal KiCAD user. I get that there is some non optimal issues when updating a symbol already used in your schematic. What I do not get is the extreme violent reaction to such a simple thing? Obviously we are many that manage to use the tool anyway.When evaluating if I need to ditch KiCAD for a commercial alternative, it is really not the small things like that. It is the big things like Altium being totally unaffordable and the company appears to behave badly too.Is KiCAD a good enough tool not is KiCAD perfect. We know it has flaws. The issue being discussed here I would put under "quirks" and not something that will stop my use of the tool. I hope it gets fixed. Until then I will just remember that I need to fix my schematic after updating a symbol - not that big a deal?

author: 5U4GB
author_rank: Super Contributor
timestamp: April 29, 2023, 09:27:57 am
content: Quote from: nctnico on April 16, 2022, 08:20:54 pmAll GUIs suck, but some do suck a lot more than others.Years ago a friend of mine worked at an IT vendor that sold, among other things, Photoshop. Occasionally someone would come in and ask "why should I pay $$$ for Photoshop when GIMP is free?". His response was always the same "go and play with GIMP for a bit, then come back here when you're ready to buy Photoshop".I at least partly suspect that GIMP was secretly created by Adobe's marketing department.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: April 29, 2023, 11:05:48 am
content: Quote from: baldurn on April 29, 2023, 08:17:13 amQuote from: baldurn on April 29, 2023, 08:17:13 amKiCad is certainly "good enough" for "casual users", and quite complicated PCB's can be made with it. For some Ideas have a look athttps://www.kicad.org/made-with-kicad/I switched to KiCad myself some 7+ years ago, when I switched from windoze to Linux. Back then I evaluated some 5+ different PCB design programs and KiCad was the clear winner. But I do confess I have a warm place in my heart for Open Source programs. Back then KiCad had some quite serious flaws, for example the library management was so buggy that it did not work at all and you had to manual copy & paste in between text files, but those days are long gone. KiCad has become quite mature in the last few years, and development is also accelerating. This also has a downside, as quite a lot of bugs are introduced, but in general they get fixed fixed quickly. I have seen quite a lot of small bugs that had less than an hour between reporting them on gitlab, and the issue getting closed with a "fix committed". Each month between 200 and 300 issues are both reported on gitlab and closed too, so the total of open issues stays roughly the same. There are also some things that take years to fix, and there are also still some quirks that have not been fixed even after years, but as KiCad development progresses the remaining quirks get less important and fewer. I think I've gotten used to most of them and avoid them subconsciously.As an Open Source program, KiCad's development is also a bit chaotic. KiCad's developers are free to work on any feature they have a particular interest in, but there are a lot of people working on KiCad. Some like to fix GUI things, others like to implement some new feature, and yet others (or the same) fix bugs. And this does explain why some quirks and missing features take a long time to get fixed or get implemented. As an Open Source program, KiCad has no artificial limitations. No limits on pin count or board size, It does not get slowed down "extra" to encourage people upgrading to a "more expensive" version. You just get an unlimited free trial period, and you can donate whatever you see fit and when it suits you. (Maybe after having finished some pcb project for a paying customer?) Or of course "give back" by working on the source code, documentation, libraries, answering forum questions, website, etc.And there is also the personality of individuals. I liked KiCad from the first day I used it, and I never quite understood why others did not like the GUI of KiCad. My best guess is that different people learn in different ways and have different preferred workflows. And my kind of workflow fit's quite nicely with KiCad.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 29, 2023, 03:15:05 pm
content: I don't want to come off sounding as though I have fundamental problems with the open source developmentmodel, but with the passage of time it's become quite clear that it has not fulfilled one of its basic promises,which is the assurance of high quality thanks to a large number skilled participants constantly vetting andimproving the code. Nice theory, seldom practiced, because projects that allow any idiot (or not) to commit,combined with everyone just working in their little pet corner results in a world of chaos. The most successfulprojects I've seen operate under the "benevolent dictatorship" model, run by proven, hardcore pros who setthe rules, control the commits, and aren't there to hand out participation trophies. In these cases, a higherproportion of brilliant work accrues because QC standards are maintained and well-intentioned-but-less-than-competent volunteers' feelings are not given standing.In this case, the discussion I've been pursuing is subtly OT in that realtime netlist observance is very closelycoupled to, but not actually a feature of, the GUI. It's core functionality that, if not taken seriously (as I'veargued), compromises and diminishes schematic capture ease of use and reliability and pushes the burdenof both avoiding and detecting errors back to the user. This is a foundational failure. If one chooses not torecognize that the "A" in "CAD" stands for "Assist(ance)", or in "EDA" for "Automation", and in a knee-jerk,cult-victim defense of the softwarebecauseit's open-source rather than on the actual merits of thecase, attempts to argue that this very basic function should be exempted because... because... because..."that's just how we've always done it here", then better to exit the conversation rather than fight for inferiortools that make you domorework finding the errors it never should have allowed in the first place.Is it "good enough"? Obviously, for many people, yes. But then again, if you're chained to a car axle in adump, eating weeds, garbage, and the odd rat and drinking your urine might be "good enough" to keepyou alive. So can be eating a few of your friends if your plane crashes in the Andes. The question youshould ask is whether this version of "good enough" is a good enough standard to hold this or any otherproject to.Look, I don't get into these bunfights because I have some weird personality defect that craves conflict,a perverse need to lord superior knowledge over others, etc. This entire conversation comes from asincere desire to see KiCAD improve to the point at which I think it's "good enough". I love Mentor, andthere isn't anything I can't do with it. But Iwouldlike to be able to work on a system that weighsless than 50 kilos - without having to suffer windoze! At present, though, that's just not possible becausewhomever made the early decisions around schematic capture and the netlist appears to have lackedsome really necessary experience in the field of EDA and made very poor choices. The emperor has noclothes; you can now choose what you see.Actually, there is another motivation to want to be able to use KiCAD (if not actually to switch completely),and that's modernization and collaboration, mainly the latter. I'm perfectly aware that one of the downsidesto running Mentor is that it's expensive big-project software that most individuals, hobbyists, indie designers,contractors, etc., will never have access to - or need. A lot of my friends are those people, need good, cheaptools, and I'd like to be able to share work on projects, for which this stands to be ideal... if only it can get"good enough".

author: propellerhead
author_rank: Regular Contributor
timestamp: April 29, 2023, 03:29:07 pm
content: Quote from: baldurn on April 29, 2023, 08:17:13 amWow- you'vereallymissed the point here, haven't you? The problem with symbol editing isnotwhatthis conversation is about. It's where itstarted- the rock that, when flipped over, exposed a cavern of rot.It's not the disease, just a symptom.You need to go back,read, andabsorb, the thread from its restart a few days ago. This is about KiCADschematic capture's absolute ignorance of the netlist, and resulting failure to maintain and enforce it.And do yourself a favour and stop listening to children who think a strongly-worded argument somehow constitutes"violence". An "extreme violent reaction" to the problems I perceive with KiCAD would be to find one of the developersand stick a knife in his neck. Do you understand the difference? One is a conversation, the other is physical assault.We're having a little chat over coffee, not rocketing someone's fucking apartment in Kiev. Can I offer you some morecontrasting examples to clarify for you the proper use of the language, or are you now ready to get a grip?

author: thinkfat
author_rank: Unknown
timestamp: April 29, 2023, 03:49:16 pm
content: Quote from: propellerhead on April 29, 2023, 03:15:05 pmI don't see this "promise" broken. The definition of quality is a difficult thing, and everybody who has a different opinion on that should read Robert M. Pirsigs' "Zen and the Art of Motorcycle Maintenance". Subjectively, you're hunting for a certain functionality and declare "rot" because your expectation is not fulfilled. When actually, KiCad is in fact constantly improving, becoming more and more useful with every release.QuoteYour personality might not crave conflict, but there's a definite trait of "you need to do this and that and how I say or everything you achieve is just lipstick on a pig", which is not going well with people doing the actual work :-)

author: PlainName
author_rank: Super Contributor
timestamp: April 29, 2023, 03:51:23 pm
content: QuoteThe impression I am getting is that you suggest the GUI should be reflecting the netlist. That is, you make the netlist and the schematic is a visual indication of that. But I can't see how that works well - you have to create the netlist in the first place, and the schematic is how you do that, so it's a kind of chicken and egg thing. I am failing to see why dicking around with a diagrammer and then metaphorically clicking a button to say, "There, that's how I want to connect stuff", is terrible. Surely that's where you start.

author: nctnico
author_rank: Super Contributor
timestamp: April 29, 2023, 04:27:05 pm
content: Quote from: PlainName on April 29, 2023, 03:51:23 pmThe behaviour in Orcad capture (and I suspect Altium as well) is that every connection receives a unique netlist name which get updated when several connections are joined together in a schematic. During post-processing the nets get optimised & cleaned up depending on whether sheets are re-used or not (like the linking process when compiling a C program). This behaviour makes it possible to browse nets in a design and navigate to them from an overview of all the nets in a schematic (for example). This is useful to work efficiently on bigger designs but from the remarks of some it seems Kicad isn't doing this (yet).Quote from: baldurn on April 29, 2023, 08:17:13 amLast time I checked Orcad is pretty affordable and you can choose the modules you need so you don't pay for what you don't need (although I highly recommend getting the CIS option for database driven component management).

author: baldurn
author_rank: Regular Contributor
timestamp: April 29, 2023, 05:07:17 pm
content: Quote from: propellerhead on April 29, 2023, 03:29:07 pmSorry but this is a violent reaction - attacking anyone who disagree with you. Admittedly you did not quite manage to kill me yet with just wordsQuoteI have a degree in computer science. If I had to only use software, which according to my education can be declared "sound", I might not be able to use a computer at all.The thing is you have a perceived idea of what the underlying data structures should be. Without actually checking how said data structures actually are implemented and why. From what I can tell, you are just doing a guessing game here. I suspect the issue is a lot more complicated.Checking the text content of a random schematic file, I notice that everything has a UUID assigned. Yes it appears the wire end points are identified by the coordinates instead of the UUID. But switching that around would be a trivial change of the file format. Generating the netlist from this file is actually trivial.But this is completely irrelevant for me as a user of the program. If I wanted to contribute to the program I might care but not as a user. You are naive if you believe the internal data structures of your favorite closed source program is perfect according to some standard for perfectness. You might even be shocked to discover your favorite closed source program doing the exact same thing internally - how would you know?

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 29, 2023, 07:33:36 pm
content: In the end it all comes down to habits, but KiCad's GUI has become reasonable.If you want to try something with a *really* horrible GUI, try FreeCAD.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 29, 2023, 07:37:56 pm
content: Quote from: baldurn on April 29, 2023, 05:07:17 pmIn order: Wrong, wrong, and wrong. And they are so because you still evidently haven't actually read andunderstood the thread, choosing instead the "skim and guess" approach. I couldn't give a rat's ass whatthe "underlying data structures" are. Generating a netlist from a data file is completely contrary to what'srequired, and your last comment doesn't even address a question.I've described a functional, behavioural model, nothing more, andhowit's implemented couldn't be ofless concern. You just seem not to understand my explanation at all, nor the comments of those who do,whether they agree with me or not. Sleep it off and try again tomorrow.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 29, 2023, 07:46:25 pm
content: Quote from: PlainName on April 29, 2023, 03:51:23 pmNo, you're getting lost in the explanation. The entire netlisting part that I've described isn't, and shouldn't be,the user's business. It's something schematic capture does without your participation - it's just part of theprocess. You go about your business and the schematic UI creates, maintains, and enforces - in real time - thenetlist which, yes, will be needed later,but in the here and now keeps you from inserting errors into your ownwork.What rational person arguesagainstthat premise?

author: nctnico
author_rank: Super Contributor
timestamp: April 29, 2023, 07:59:15 pm
content: Quote from: propellerhead on April 29, 2023, 07:46:25 pmI'm guessing you are referring to realtime ERC. For this to work you'd need to have symbols with input, output, bidirectional and power pins properly specified. In reality this gets in the way quickly. What if you want to filter the power supply using an RC filter or ferrite bead? All of the sudden you are connecting a generic net to a power pin.Same for input / output / bidirectional pins. What about programmable logic or a microcontroller that can feely defined inputs / outputs? You'd need to create a symbol for your specific project that caters to the actual use. And you'd need to be able to setup exceptions as well (like when connecting 2 power nets together to form a single supply). For a really huge project (thousands of parts / tens of thousands of nets) where an error can be costly, this may make sense but you'd typically use a higher end package (beyond Altium, like Orcad) to work on such a project anyway.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 29, 2023, 08:07:34 pm
content: Quote from: thinkfat on April 29, 2023, 03:49:16 pmOh, I wish you hadn't gone there. I read that pop junk as a teenager shortly after it came out, rejected it asthe edge-of-new-age woo-woo that it is, and opted for a life of engineering instead that wasn't informed byJonathan Livingston Seagull or Carlos Castaneda or whatever other silliness occupied the bestseller charts atthe time. I talk about stuff like that over Sunday coffee with old university pals who took the arts+philosophyroute, and as I did at the time and have in the decades since, continue to gently mock them for ever havingtaken it seriously, and over time most of them have gradually swung over to my side and acknowledged thatit really was a complete waste of time.But that stuff was harmless, and the world's become in many ways too serious to tolerate that kind of mushythinking - that's essentially why the US political scene is the giant smoking trash fire that it is. As a societythey allowed themselves to be steered, by sinister forces, into believing that objective truth does not existand that "alternative facts" is a valid notion. Take that step, and the next thing you know half of your electoratebelieves in goddamn Qanon.So, contrary to your claim, I'm out on the ramparts fighting for objective truth, which includes "This is superiorto that, and if you think otherwise and lack evidence, experience, and a sound and compelling argument, it isnot a mere 'matter of opinion'. You are a cult victim."Ultimately the choice is yours. As we say, "Your gun, your foot."

author: propellerhead
author_rank: Regular Contributor
timestamp: April 29, 2023, 08:09:10 pm
content: Quote from: nctnico on April 29, 2023, 07:59:15 pmNope. My recommendation would be to go back and actuallyreadwhat I wrote rather than guessing.

author: nctnico
author_rank: Super Contributor
timestamp: April 29, 2023, 08:26:02 pm
content: Quote from: propellerhead on April 29, 2023, 08:09:10 pmNo. Please rephrase your wall of texts / rants into 2 or 3 (at most) short sentences for everyone to understand theexactproblem definition you are trying to convey.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 29, 2023, 08:36:57 pm
content: Quote from: nctnico on April 29, 2023, 08:26:02 pm"Wall of Rants" - I like it, except for the Phil Spector comparison it suggests/invites;he wasalwaysa psychopath who made near-totally-shit music.You will find what you seek in reply #173, a page back. If you can't be bothered tomake anominaleffort to get up to speed, I'm really not going to repeat myselfagain.

author: PlainName
author_rank: Super Contributor
timestamp: April 29, 2023, 09:49:09 pm
content: Quote from: propellerhead on April 29, 2023, 07:46:25 pmIf you don't understand what it is trying to do then you'll be either fighting it all the time or trying different things out because that worked, once, last week.In response to the realtime ERC thing that nctnico brings up, you referred to:QuoteBut my post above, which you quote, is asking how essentially how it decides you've 'metaphorically clicked a button' and the design is as you want it, or you're still working on it. It's quite common to be modifying the design as you go along (that's why we do it all in CAD rather than scribbling it on a fag packet before drawing it up so it's Right First Time). Often I will insert a resistor or remove it or have hanging nets because, well, it's being designed innit. I don't mind a little red icon pointing out some unfinished business (but tend to ignore them anyway because, well, it's being designed and I know it's not finished). But if I had to manually ack every such case I'd be rooting away in settings to find the relevant tickbox to untick.So it's not clear to me at all what benefit (other than the one nctnico spelled out about overview maps) being hassled to ack something every time I make a change brings.And, while we're here, I really hate the Kicad GUI. In fact, that's the major reason I am not making things with it. But I hate gesture-based interfaces just as much because you can end up commanding something unintentionally. And even intentionally, you can command the wrong thing. Just to keep this on topic

author: propellerhead
author_rank: Regular Contributor
timestamp: April 29, 2023, 10:20:37 pm
content: Quote from: PlainName on April 29, 2023, 09:49:09 pmI can't evenbeginto imagine where you got that from. You connect things and they're connected.You don't and they aren't. If they aren't but look like they are (such as might happen with a move or asymbol edit) they get flagged so you can correct them and make sure they aren't errors in the making.I absolutely cannot comprehend how you get a recipe for confusion and conflict out of a few simple ruleslike that.QuoteWork with me here and avoid speaking in metaphors. What does that mean? You're clicking a button or you aren't.QuoteI certainly didn't mean to imply that the UI was going to freeze up on you and refuse to let you do anythingelse until you clear the error/warning - you're entitled to leave as many of those warning dots in place as youwish while going about other business. I mean, nobody expects the Spanish Inquisition here. Clean 'em upnow, or clean 'em up later. You do you.QuoteAgreed. The irony here is that my personal opinion being that everything that isn't strokes pretty muchsucks goat ass isn't actually affecting my choice not to use KiCAD (yet) - that choice is entirely due tothe netlist-ignorance problem. In my limited experience I found it confusing and inconsistent, in partbecause when I thought I was making connections they didn'tbehaveas though they were... whichturned out to be correct. And in general terms, drop-down menus taller than my screen is high, commandsthat seem to half-overlap other commands, and hot-key lists longer than I think it reasonable to memorizesay to me "it looks like people just keep adding shit" rather than "this is governed by a thought-out UIphilosophy". But honestly, I could live with a lot of that if only I could trust what I see on the screen.Wrt strokes, I'd be interested in hearing more about your experience and why you don't like them. Sure,I muff strokes when I get going too fast and the gestures get a little too sloppy, but you can always escapea function before it does anything you don't want, and if you don't, there's an undo queue - you just backup as many steps as necessary with the Undo stroke. Hardly happens, though, I more often just find myselfselecting the wrong things because the select filter maintains state and want to move a symbol or text whenI last moved traces and vias and left it set for those.

author: fourfathom
author_rank: Super Contributor
timestamp: April 30, 2023, 12:10:37 am
content: Quote from: propellerhead on April 29, 2023, 08:36:57 pmIs this an example of the "objective reality" we should all be striving for?

author: fourfathom
author_rank: Super Contributor
timestamp: April 30, 2023, 12:21:23 am
content: Quote from: propellerhead on April 29, 2023, 10:20:37 pmIn the 50 or so designs I've done with KiCad (some simple, some not) I have have not seen this "netlist ignorance problem". I create the schematic, then do the layout. The layout rats next shows the netlist connections, and there's never been any confusion there. I run the layout DRC tool and it tells me if the layout matches the schematic. I don't change the layout connections and then back-annotate the schematic (which might be a useful thing for me to try), I always work from the schematic. So where do you see the netlist ignorance problem?

author: PlainName
author_rank: Super Contributor
timestamp: April 30, 2023, 12:52:56 am
content: Quote from: propellerhead on April 29, 2023, 10:20:37 pmHow do you square that with:QuoteYou're saying earlier that you shouldn't be trying to understand under the bonnet, so whether the netlist is there or not shouldn't be an issue for you in the schematic editor. So long as wrong things get flagged, you should be happy.QuoteI want stuff to do what I think I'm telling it to, not back up a few steps every so often. A keyboard is good because there is no mistake of the intent - you press the B key and the system knows you meant 'B'. It's not going to turn into a T, because.Strokes are sloppy, imprecise and multi-action. A trivial example: swiping up and down on a phone is about as simple and natural as you can get, but now and then I find the phone interpreting the swipe as a press-drag, and what was underneath is now over here rather than there. Doing that stuff with a mouse is worse, because a mouse isn't any good at drawing lines (which is what you do with a gesture. The only way to make it reasonable is to have a big gesture, but then you're just waving the mouse pointer all over the screen. Right-click context is just so much more civilised and less tiring, plus you don't have to navigate your pointer back to where you were at the start.Apart from that, it's probably OK.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 01:07:15 am
content: I won't own a tracking device (what you call a "cell phone") for many reasons, only one of which is the awful UI.If you haven't used Mentor, you're only speculating on how it implements and reacts to strokes, which, as I indicatedabove, are very limited in number and well-defined. It works well.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 01:17:58 am
content: Quote from: fourfathom on April 30, 2023, 12:21:23 amThis conversation has been going on for a couple of days. Your question suggests that youhaven't been following it. I have a lot of patience, but I do tire of people who come in lateand expect everything be repeated and spoon-fed to them. You just have to go back as faras the first post of 2023 in this thread and start reading, and all will be revealed.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 01:22:26 am
content: Quote from: fourfathom on April 30, 2023, 12:10:37 amI've been a radio DJ since my the first week of my undergrad, more than 40 years ago. Most ofmy attention has been spent outside of the music mainstream, and my interviews have includedsome of the most famous composers alive today (and giants who are no longer with us). Upstairsfrom my lab I'm surrounded by a collection of 6000 records and CDs and have an equally imposinglibrary on the subject. In February I flew to Paris to see a band that has been foundational inprogressive music since 1970. I take music as seriously as a sucking chest wound, and yeah, I'llstand by what I said: A psychopath and a hack.

author: fourfathom
author_rank: Super Contributor
timestamp: April 30, 2023, 02:36:08 am
content: Quote from: propellerhead on April 30, 2023, 01:22:26 amAnd you know absolutely nothing about my background in music. So you have an opinion -- congratulations!As for the rest, never mind. I'm also out of patience.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 03:03:40 am
content: See you - it's been a pleasure not meeting you!

author: themadhippy
author_rank: Super Contributor
timestamp: April 30, 2023, 03:13:39 am
content: Quotewhos that then?

author: wilfred
author_rank: Super Contributor
timestamp: April 30, 2023, 04:31:33 am
content: Quote from: propellerhead on April 29, 2023, 08:09:10 pmDo you mean this?Quoteor this,QuoteIn a thread about the Kicad GUI I didn't want to read it the first time.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 04:34:32 am
content: Quote from: themadhippy on April 30, 2023, 03:13:39 amMagma

author: ebastler
author_rank: Super Contributor
timestamp: April 30, 2023, 06:52:17 am
content: Quote from: propellerhead on April 29, 2023, 03:15:05 pmAh, thank you for clarifying that. I might have jumped to wrong conclusions otherwise, but now you have put my mind at rest.Seriously though: Since you are so fond of instructing others to re-read the thread to understand the full depth of your wisdom -- would you mind doing the same, and re-considering your above claim?Well, I guess on some level you already know, since you must have received similar feedback regularly over the decades. Youdofeel the need to lord your "superior" views over others, be it on EDA systems, music, or whatever you will bring up next.Edit: Digression removed.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 03:06:30 pm
content: Quote from: ebastler on April 30, 2023, 06:52:17 am"Fond of"? No, it's an utter bore. But it's more efficient than than repeating myself at length forthose who jump in late, can't be bothered to read enough of the prior conversation to grasp thesubject at hand, and ask that it be restated for them. It's enough working explaining it to thosewhohaveread it and just don't yet get it without adding the extra layer of tedium.What makes this difficult experience worthwhile are those clueful, experienced few who not onlyget it, but agree and don't feel compelled to defend the suboptimal behaviour of someone else'scode - or get distracted by the style in which the argument is presented. They're the ones whohelp get the message out.

author: Monkeh
author_rank: Super Contributor
timestamp: April 30, 2023, 03:30:04 pm
content: Quote from: propellerhead on April 30, 2023, 03:06:30 pmThe ego is impressive, at least.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 03:32:42 pm
content: Quote from: Monkeh on April 30, 2023, 03:30:04 pmI get by. But you need to ask why you're fixated on the messenger rather than the message.

author: Monkeh
author_rank: Super Contributor
timestamp: April 30, 2023, 03:39:17 pm
content: Quote from: propellerhead on April 30, 2023, 03:32:42 pmNo, I don't. The message is received, it's not the message you believe you're sending. You need to ask why you can't understand how the two are linked.I'll give you a hint: You'll get far further in your endeavours if you're able to describe issues without insulting people and their work. Further still if you take the time to consider that your opinion is just that, an opinion, and that varying experiences and goals will lead to differing opinions. Converging these requires something called tact.I'm sure you'll have some argument along the lines of 'engineers are supposed to be above these things' - but that's merely denial of reality.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 04:33:43 pm
content: Evidently you have no appreciation for how tedious these little lectures on improving one'scharacter are, particularly when they come from the colonists.As fascinating as you find me to be, the conversation here is actually about CAD software.To the matter of "opinions": There is a professional category of "PCB Designers". Not EEslike me and many others who happen to do their own boards too; specialists who do notdesign the electronics, but whose job it is to get others' designs 100% correct on boards.Those are the people usually found in the $250K/license seats. I know a bunch of thoseguys, they were my teachers, and I have tremendous respect for them and would neverpresume to be at their level. So when we're out for a beer and I tell them about this up-and-coming open-source package that, despite being considered by many to be readyfor prime-time, exhibits awful behaviour because the authors have an inexplicable blindspot - and they agree that doing it that way is utterly barmy - it's no longer simply amatter of my opinion. It is now a fact agreed to by the experts, offered here to explainthat you could be using better tools than you are, and in hope that somehow, someday,the necessary behaviour makes its way into the code.That's all. About the rest, I. Simply. Couldn't. Give. A. Toss.

author: JohanH
author_rank: Frequent Contributor
timestamp: April 30, 2023, 05:10:14 pm
content: I really don't care. But I must say it doesn't sound like you understand why and how an open source program, like KiCAD in this case, exists. And it really does sound like you don't care, either. So we are all good. But IF you had cared, you could have done it in another way and not this ridiculous thread.

author: Monkeh
author_rank: Super Contributor
timestamp: April 30, 2023, 05:11:58 pm
content: Quote from: propellerhead on April 30, 2023, 04:33:43 pmEvidently you have no appreciation for how tedious and insulting your rants are. Bringing my country into it is just another fallacious argument.QuoteThere's that ego again. It's not helping you.QuoteIncluding about making an effective argument, apparently. Makes it look more like you're interested in argument than improving a piece of software you don't use and never will considering your attitude, further reinforcing the appearance that all you want is an argument which makes you feel superior.

author: johansen
author_rank: Super Contributor
timestamp: April 30, 2023, 05:14:24 pm
content: I haven't used kicad since 2011 and i dont remember editing a part causing thr netlist to break.So im curious did you change the pin numbers on the part or did you simply move them?

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 05:17:27 pm
content: Quote from: Monkeh on April 30, 2023, 05:11:58 pmExcept that your claim is contrary to my explicit statement that I look forward to KiCAD crossingthis bridge so I can give it another try and see if it's ready to be taken seriously, because I thinkit could be useful. So it would seem this is just another skimmer inferring my intentions to fit hisown mental model rather than actually reading what I wrote.

author: Monkeh
author_rank: Super Contributor
timestamp: April 30, 2023, 05:19:50 pm
content: Quote from: propellerhead on April 30, 2023, 05:17:27 pmAnd you will inevitably find yet another deviation from your comfort zone and decide the software is still unusable.If you wish the software to improve, make an effective argument instead of insulting people. Make an effort to adapt to it, rather than believing it should adapt to you.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 05:20:06 pm
content: Quote from: johansen on April 30, 2023, 05:14:24 pmYou're coming in late and missing the point. The result of my editing a symbol was the revelationthat schematic capture has no netlist. The lack of a netlistinschematic capture is the point.KiCAD only generates it later, as a postprocessing step from the completed schematic.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 05:21:33 pm
content: Quote from: Monkeh on April 30, 2023, 05:19:50 pmPersonally, I don't like making predictions, especially about the future.

author: Monkeh
author_rank: Super Contributor
timestamp: April 30, 2023, 05:27:07 pm
content: Quote from: propellerhead on April 30, 2023, 05:21:33 pmAnd yet they're so useful, and mine just came true again.I'll make another: You'll continue to ignore the human element and argue ineffectually, thus making slow or no progress towards your stated (but not necessarily true) goal. You have fun with that.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 05:35:34 pm
content: Quote from: Monkeh on April 30, 2023, 05:27:07 pmOh, for god's sake, let it go. If all you can do is stay OT and obsess over my abundant andevident character defects, the least you can do is just stop typing, because I don't thinkanyone here wants - or needs - to hear it.I'm still here to discuss a basic problem with KiCAD's schematic capture that'll bring a hugeimprovement in its usability, if taken seriously. I will not entertain further discursion fromyou on my style of presentation, so save the keystrokes, colonist.

author: ebastler
author_rank: Super Contributor
timestamp: April 30, 2023, 05:54:11 pm
content: Quote from: propellerhead on April 30, 2023, 05:35:34 pmHow do you expect to have a "discussion" if, as soon as any criticism of your opinion is voiced, you get condescending and arrogant and try to attack people on a personal level?You seem to be intelligent, you apparently have a lot of relevant experience -- I am sure you have worthwhile ideas and proposals. But I am baffled that you can't see how massively you stand in your own way. Well, either that, or you just enjoy trolling us.

author: PlainName
author_rank: Super Contributor
timestamp: April 30, 2023, 05:56:21 pm
content: QuoteWhy?Seriously, you've stated what you think is wrong with the schematic (although I struggle to see how that results in the 'GUI' title). What will ranting about it achieve now? No-one here is going to dash off to make code changes, take a developer aside and 'strongly suggest' to them anything, or even stop using the thing.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 06:00:48 pm
content: Quote from: PlainName on April 30, 2023, 05:56:21 pmWell, sorry about that part - I ran across the dormant thread inadvertently and kind of hijackedit to discuss this issue. It's not that it isn't a GUI problem, but it's a deeper one that's reflectedin the schematic GUI.

author: Simon
author_rank: Unknown
timestamp: April 30, 2023, 08:33:12 pm
content: Quote from: propellerhead on April 30, 2023, 05:20:06 pmwhy are you so hung up on the netlist? file -> export -> netlist, you can even have it in a choice of formats. I am so glad that Kicad has gotten over the separation of schematic and PCB layout to the point that there is a whole step of netlist and component to footprint association to go through.You may try to calm down a little. I have found the GUI one of the easier ones to use with the keyboard shortcuts making it a dream to use. For a wiring loom schematic it is ace, or was, they seem to be going through that phase that even professional software goes through where they have to ruin stuff first. Yes they are up their own assholes a bit, sadly that is open source, bitching to death about it on here won't solve it.For example you used to be able to simply mouse over an item and hit "c" do duplicate it. Firstly they removed this, then you discover that reassigning this shortcut under the schematic does not make it work again, apparently this is because that is for the symbol editor, yes it is nuts. The solution is that this shortcut must be set under the general category.Yes the person that dealt with my technical support complaint about this is a jumped up little fucking asshole as i was told that this is a feature rather than a bug basically. But it's free so what can I do about it? even when I used professional software (Circuit studio) the response of support was always that it was a feature not a bug.I left Kicad on version 4 when it was just a mess and spent £2000 on pretty mush most of the cheap commercial packages only to find that they were all junk to me and I ended up back at KiCad even though it is not perfect it is a damn site better than any of the other entry level programs where they basically take your money then tell you to go fuck yourself!This asshole attitude is something you will get in many open source programs, I run BOINC, I don't dare go on their forum anymore to ask for help or point out problems, the responses have ranged from someone claiming to be a developer being abusive to my posts simply being deleted despite being not at all controversial. Currently I have this problem where I need to set more than one time slot to suit my energy tariff, as there is only one slot available I often forget to change it and an hour or more of time computing may be lost, pointless asking about this so I have not bothered.

author: ebastler
author_rank: Super Contributor
timestamp: April 30, 2023, 08:46:12 pm
content: As pointed out earlier in this exchange, propellerhead (under the user name "via") has already brought this up a few months ago on the Kicad forum. We can save ourselves time and aggravation, since that thread has fully explored the matter and ends with a very nice summary by moderator eelik:Quotehttps://forum.kicad.info/t/symbol-editing-and-the-netlist/39271/110

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 08:48:43 pm
content: Quote from: Simon on April 30, 2023, 08:33:12 pmSimon:Yes, of course, once your schematic is done the netlist gets exported and moved throughpackaging, etc. As I said, that's not the point. The point is that while you're entering theschematic there is no netlist (that is, there isn't one being created and maintained byschematic capture as you work), and doing it this way makes the schematic entry moreerror-prone. As others in the conversation have noted, there are examples of both methodsout there among the different packages, but in general, the higher-end, more mature, and(incidentally) more expensive ones maintain and enforce the netlist in real time becausethere's significant value in schematic capture understanding the difference between thingsthat are connected and things that aren't, and KiCAD has no such understanding.Based on many years with an old version (V8) of Mentor Graphics, I'm suggesting that thiswould be a worthwhile addition. The problem is pushback from those who think it's purely amatter of "opinion" rather than the consensus of people whoreallyare (and I'm not includingmyself among them) EDA experts. In any case, the response is baffling, because they're arguingfor a tool that does less work for them and makes it easier for them to drive errors into theirdesigns, apparently because they think it's right because that's how it's always been done here.If you care to go back a couple of pages I offer examples as to how this works.

author: nctnico
author_rank: Super Contributor
timestamp: April 30, 2023, 09:02:35 pm
content: Quote from: propellerhead on April 30, 2023, 05:20:06 pmBut it still seems Kicad has -by the looks of it- a complete electrical rule check in the schematics editor. So its not like the schematic editor is completely dumb.Again: it would be nice if you could outline the benefits of having a netlist aware schematic editor in Kicad.Withoutgetting sidetracked by 'Mentor does it this way' or Mentor specific user interface behaviour. IOW: what is thebare to the bonesbenefit to users to have a netlist aware schematic editor? What kind of useful features does it allow?People developing Kicad are reading along here and I'm sure they are interested. But be prepared to have a long winded discussion because there are people that indeed think 'I don't need this so nobody needs this'. It has taken far too long for Kicad to support a database driven component library for example. For these kind of pro features to be added it takes a very clear and concise definition of the problem and possible solution in order to make the developers see the benefit and subsequently spend time on developing a feature.

author: Monkeh
author_rank: Super Contributor
timestamp: April 30, 2023, 09:08:09 pm
content: Quote from: nctnico on April 30, 2023, 09:02:35 pmBear in mind we're dealing with an equally extreme viewpoint, "I need this so everybody needs this".

author: nctnico
author_rank: Super Contributor
timestamp: April 30, 2023, 09:12:33 pm
content: Quote from: Monkeh on April 30, 2023, 09:08:09 pmBut still, it could turn out to be something worthwhile to persue. I'd like to have a clear understanding of what the problem is and how that can be solved.So far I understand:- Realtime ERC- Being able to got through a list with nets in a schematic (and jump to the sheets where that net is being used)

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 09:23:07 pm
content: Quote from: nctnico on April 30, 2023, 09:02:35 pmYou'll find a reasonably concise and descriptive example in reply #173. Yes, I refer to Mentor,but that's just because it happens to be the system I'm most familiar with, so it's easiest forme to walk through the steps. There's absolutely nothing about it that is or should be specificto that package, so if you don't like the word "Mentor", mentally substitute "Mumble".One more time, though, I'll repeat the benefit: It provides automatic, real-time error-checkingas you enter your schematic. Not full ERC, but the most basic confirmation that what you seeon the page is really what you want, and makes it difficult to insert mistakes into it during thecourse of simple operations like moves or symbol edits. If the schematic keeps track of thenetlist as you're entering the drawing, it's able to spot inconsistencies so you can correct thembefore they make their way to postprocessing.

author: baldurn
author_rank: Regular Contributor
timestamp: April 30, 2023, 09:37:34 pm
content: Quote from: propellerhead on April 30, 2023, 08:48:43 pmI am wondering, do you have any background as a developer of large software packages? You come over as mighty arrogant and then you write stuff like "KiCAD has no such understanding" yet claim you are not talking about the underlying data structures - but that is exactly what you are talking about, you probably just lack the theoretical background to realize this.KiCAD is a computer program and as such has no understanding about anything. But it can store data in various ways (in memory or in a file). It seems to store connections indexed by coordinates, which is indeed a bit silly. Instead it could store connections using identifiers. Or it could group them in what you think of as a "netlist", because of your background, but us software people would think of in more generic terms. There are infinitely many ways to do this. However only the end result actually matters and that could be achieved by fixing two bugs such that mr. propellerhead couldn't tell the difference.QuoteNo I am reading that most of us actually agree that KiCAD is doing something less than optimal here. Some of us may just not agree that it is such a big deal. It is not going to stop me from using the program and I don't have your option of using your old HP-UX workstation as an alternative anyway.Since you don't hold back insulting anyone, I may be frank with you and say you come over as an old retired man that never got into the modern world. No cell phones, stuck using a computer and software older than some people here. And now you tried something new, didn't like it but felt a need to explain to the world it was not you, but everyone else at fault. Doesn't help that you may actually have a valid point about something not good in KiCAD. It is still a silly reason and likely not the truth about why you gave up on something new.

author: Raven Luni
author_rank: Contributor
timestamp: April 30, 2023, 09:44:21 pm
content: I cant believe this thread is still going. I think I posted a bit of a cringeworthy reply like 3 years ago. Anyway - in response to the 'if you dont like it make your own' crowd I'm actually doing exactly that, started a few months ago. I'm aiming for something that will cater especially to visually impaired people - that way its something positive in its own right instead of just another 'up yours' to something I don't like.Not much to show yet but here's a test shot from my symbol editor:

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 09:54:43 pm
content: Quote from: baldurn on April 30, 2023, 09:37:34 pmJesus.Mother.Fucking.Christ. When are you people going to stop jabbering on about mypersonality and make an effort to understand and stick to the conversation about a beneficialimprovement to schematic capture?Since you're so desperate to know about me that you're building an elaborate mental constructover it, here they are, in order: Younger than you'll ever be; will use a cell phone when I have to(i.e.veryseldom), but object to obtuse UIs, service prices that are among the highest in the worldbecause there isn't enough actual competition and our government is incompetent at regulatingthem, I don't want Apple or Google to dictate what software I run on a computer I own (or to haveto jailbreak it), and I don't like surveillance capitalism; so what, I probably have t-shirts older thanyou, and (as I've previously explained but you're too imaginative to have bothered to read) thepenguix laptop that I set up for KiCAD is ready, willing, and waiting when I think the package hasschematic capture I can use and trust. And don't call me a liar unless you've got evidence andnot just wild speculation that fits your own mental model rather than reality. Now go find someteenage actress to stalk, because you're creeping me out.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 10:12:54 pm
content: Quote from: Raven Luni on April 30, 2023, 09:44:21 pmThat's pretty funny - I just bumped into a thread that had been dormant for more than a yearand relit/hijacked it for a UI-related issue. Welcome back, and wade in at your peril, becausethis swamp is full of reptiles gnawing at my ankles!

author: PlainName
author_rank: Super Contributor
timestamp: April 30, 2023, 10:24:31 pm
content: Quote from: ebastler on April 30, 2023, 08:46:12 pmCoincidentally, he joined EEVBlog just when that thread got closed, and has posted nothing but this rant about the netlist.@Propellerhead: again, what are you hoping to achieve here? If you didn't get satisfaction over there, what makes you think you will here, or are you just wanting somewhere to blow off?

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 10:36:27 pm
content: Quote from: PlainName on April 30, 2023, 10:24:31 pmUnimportant coincidence, so don't read anything into it. I've been lurking here for manyyears but busy running my own unrelated electronics groups as well as engaging in a lotof non-electronic activity. So I assure you I'm not engaged in some whacked-out crusade -at least, nothing like the fabulists and fantasists here who are deep into writing fanfictionabout me.My present plan is to continue to ignore KiCAD until it gets over this problem, by whatevermeans.

author: John B
author_rank: Frequent Contributor
timestamp: April 30, 2023, 11:02:05 pm
content: I've been pretty happy proof reading and double checking my symbols before I start connecting them up. Even if you don't get the solution you wish, start by addressing the self inflicted aspect of this problem.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 11:10:07 pm
content: Quote from: John B on April 30, 2023, 11:02:05 pmAgain, the symbols aren't the problem. Returning to schematic capture from a trivial symboledit was the event that revealed the deficiency I've been discussing. And I've heard the "well,if you just make sure your symbols are perfect first, no problem! Why would anyone who knowswhat he's doing ever have to edit a symbol later?" I don't think that's a sound view. Increasinglyas symbols get bigger and more complex (as do the designs they're in), it's not only perfectlyreasonable, but probable, that symbols are going to need tweaking as the drawing takes shapearound them. My argument is for schematic capture doing real-time checking in order to makesure errors haven't crept in as a result of various editing operations. I'm promoting the idea thatit's the software's job, not yours, to help protect you from "self inflicted" errors.

author: nctnico
author_rank: Super Contributor
timestamp: April 30, 2023, 11:38:44 pm
content: Quote from: propellerhead on April 30, 2023, 09:23:07 pmJust to be clear (as I have no experience with Mentor at all so you can tell me anything): what you are after is that if you move a symbol the connections will rubber-band along without creating connections that shouldn't happen. If yes, then I think that is a usefull feature that can prevent costly mistakes.I'm a long time Orcad user and I can tell Orcad doesn't do such checks so you have to be carefull when moving components in order to keep the connections the way you intend. The old DOS version was even worse. When I was an intern at an electronics company they had me create a PCB layout from a netlist. Once the PCB was assembled & being tested the electronics engineer started giving me a lot of flack for making a mistake in the layout. Having quite a bit of layout experience at that point already I was quite sure I didn't because the DRC check wasn't showing any shorts. Long story short, it turned out the engineer had moved a component and DOS-Orcad had screwed up. Instead of 2 lines crossing, both lines where taking a right turn and thus making the wrong connection. This was not visible on the schematic at all! The same circuit was repeated 16 times on the board as well so there was quite a bit of rework involved. Modern day versions of Orcad automatically place a dot in such situations indicating a connection between the lines (and put them into the same net). You could succesfully argue that this leaves checking the schematic for continued correctness with the user.

author: propellerhead
author_rank: Regular Contributor
timestamp: April 30, 2023, 11:59:56 pm
content: Quote from: nctnico on April 30, 2023, 11:38:44 pmYes, that's just one case. Since when you connect a wire to a symbol pin,you're actually connectinga wire to a symbol pin, schematic capture is aware of the connection, and the wires rubberband asyou move the symbol. Often that movement will cause wires to intersect with other pins, wire vertices,etc., which might have the appearance of being connected. But since they're not (according to thenetlist and the fact thatyoudidn't explicitly connect them), they get flagged as crossings for youto clean up. As I've explained a few times, the action that drew my attention to this problem in KiCADwas doing the simplest of symbol edits - the library 555 is really odd in terms of which sides the variouspins are on - at very least, 2,6, and 7 are generally accepted as being on the left side and 3 on the right.So after sorting it out in the symbol editor (which was nice to use), I returned to the schematic andinstead of finding the right wires rubberbanded to the right pins, the wires were now misconnected tothe pins I'd moved. Is this a dealstopper when you're editing an 8-pin symbol? Of course not. But ifit's a TQ144 CPU or a PQFP208 FPGA or a 1000+ pin BGA, that can be a mess.QuoteSounds like you have a pretty good handle on the kind of problem I'm talking about. And I wouldabsolutely agree with you that adding the dot is exactly the wrong way to deal with it - assumingthat because two wires are crossing they should be connected, so quietly just taking care of thatfor you? What the hell were those people thinking? The behaviour I'm describing would put a dotthere, alright, but aredone indicating: Buddy, you've got something here to sort out.Worth adding that the system I'm talking about doesn't flageverycrossing, of course. That'dbe a makework PITA. It just flags the ones that are more likely to be mistaken for valid connections,such as a line crossing a pin, vertex landing on a pin, vertex (or end) touching a line, etc.

author: PlainName
author_rank: Super Contributor
timestamp: May 01, 2023, 09:04:22 am
content: QuoteAltium does that: drag or otherwise cross a pin with a net and they auto-connect, often leading to adjacent-pin shorts when trying to work close to a part. And Altium is a grown-up product. I've also used several products which make a great point of being able to plonk down something in the middle of a net (or, sometimes, net collection) and have them auto-connect.

author: nctnico
author_rank: Super Contributor
timestamp: May 01, 2023, 09:42:20 am
content: Quote from: PlainName on May 01, 2023, 09:04:22 amI don't think Altium and Orcad being 'grown up products' means that their implementation is somehow right or wrong. IMHO the idea that you have to make a connection between partsspecificallyinstead of having the CAD package making assumptions (like Altium and Orcad do) has a lot of merit. I can certainly see the added value of having the CAD package ensuring the integrity of the connections during editing so the chances of errors due to moving / shuffling parts around and/or changing symbols are much smaller.I don't think this is particulary hard to implement; keep a netlist with connections between devices / pin numbers and only allow changes to this netlist in 'connection mode'. Any other edit that invalidates the netlist, results in errors.Thinking about it: a PCB package will yell at you when you try to make the wrong connection. But why does the schematic package allow you to do this without warning?

author: PlainName
author_rank: Super Contributor
timestamp: May 01, 2023, 10:08:02 am
content: QuoteIndeed, but the premise seems to be that if they have this sort of behaviour then they are toys and not worth bothering with. Propellerhead says that this is the reason he won't use Kicad.QuoteBecause you're not making it up as you go along with the PCB? The schematic is where you create the netlist; the PCB is where you use that netlist. Thus you want to be able to make changes easily in the schematic but are very unlikely to do so on the PCB. Although, if you think you do want to then you can, but a warning is sensible because the probability is that you didn't meant to.

author: woofy
author_rank: Frequent Contributor
timestamp: May 01, 2023, 10:13:00 am
content: I also seem to recall that orcad was not aware of netlists. I've never used it, this is based on a visit to a client many moons ago. They designed theatre lighting control desks and used orcad. Their computer was unavailable on the day because they were "doing netlist extractions". This was back in DOS days. Not really relevant now but as orcad was mentioned.. . .I agree that kicad should have an inherent awareness of the netlist. but not for any of the reasons mentioned so far. My one real feature wish for kicad is to enable back propagation of changes to the netlist from PCB to schematic. i.e. back annotation or pin/gate swapping as some would say. I know not everyone thinks this is needed but its a feature I use all the time in Proteus with processor pins. When designing the symbol, I define groups of pins as swap-able. Then when laying out the PCB I can drag net lines from pin to pin to make the layout easier (it swaps the nets on the to and from pins). These changes back propagate to the schematic, but not by moving any wires. That would lead to the kind of schematic mess already described. Instead it swaps the pins on the schematic symbol. That way a neat schematic layout is maintained.However I don't see how such a feature could work without the schematic having an intrinsic knowledge of the netlist. That would seem to be a necessary first step.

author: nctnico
author_rank: Super Contributor
timestamp: May 01, 2023, 10:18:40 am
content: Quote from: PlainName on May 01, 2023, 10:08:02 amEverybody is free to set their own standards. IMHO it is worth debating the merits of certain features as it can only lead to improving Kicad and make it useful for a larger audience.For example: personally I won't use a CAD package that doesn't have a database driven component system. After years of debate and strong pushback from the 'I don't need it, so nobody needs it' crowd, a database driven component management system is finally implemented in Kicad.QuoteYes, but what if the change to the schematic is unintentional (when using an editing mode that isn't intended to create/change connections)?

author: PlainName
author_rank: Super Contributor
timestamp: May 01, 2023, 11:46:39 am
content: QuoteYou get into the realms of mode switching. I don't think you need a pukka netlist if modes are used, but I haven't written one of these things. Maybe ask NigelActually, that's something that annoys me with Altium. In most modern interfaces you select something and then command something to happen to it. Let's say changing the z-order of a window in on Windows: select the window, right click the system menu (both of these could be one operation, of course), select 'stay on top' or whatever your window manager calls it. In Altium to decide what you're going to do and then do it to objects. So for this example you would open some menu (of course, not a right click context menu but some global one) and select 'stay on top', then click the window to which you want it to happen.I understand how it go to be like that, and that it can even be a Good Thing if you're doing an op on lots of things. Plus it's a mode, so you can't accidentally, say, roll up a window by mistake in that example. But I find it a drag because often I use that particular thing just to make some filled box be in the background when making a component. I think it's quite rare that I am doing the same op to many objects, and if I would it wouldn't be that much aggro to preselect them all anyway.

author: tooki
author_rank: Super Contributor
timestamp: May 01, 2023, 01:09:28 pm
content: Quote from: PlainName on May 01, 2023, 11:46:39 amWhile I agree with you about the advantage of thorough consistency of the predominant “noun-verb” paradigm with Mac and Windows, that’s actually what Altium uses almost everywhere. The z-order commands (send to back, etc) are some of the exceptions that use “verb-noun” instead, as are some of the room management commands.

author: PlainName
author_rank: Super Contributor
timestamp: May 01, 2023, 01:33:16 pm
content: Yes, and probably another reason why they are so irritating!

author: tooki
author_rank: Super Contributor
timestamp: May 01, 2023, 01:38:51 pm
content: Quote from: PlainName on May 01, 2023, 01:33:16 pmAgreed.At least there aren’t many of them!

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 02:33:15 pm
content: Quote from: PlainName on May 01, 2023, 09:04:22 amThat's insane. Is it optional, that is, behaviour you can disable?

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 02:35:54 pm
content: Quote from: nctnico on May 01, 2023, 09:42:20 amBecause when you're in layout you're working from the netlist that was generated from your schematic,and when you're in schematic there isn't one - it's only extracted after you've done drawing. That's myentire argument in a nutshell.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 02:41:05 pm
content: Quote from: nctnico on May 01, 2023, 10:18:40 amCan you explain that, please? I don't understand what an editor that doesn't edit might be.

author: nctnico
author_rank: Super Contributor
timestamp: May 01, 2023, 02:52:56 pm
content: Quote from: propellerhead on May 01, 2023, 02:41:05 pmYou have two modes: 1) making connections and 2) placing components / moving components around to make the diagram fit / look better.

author: PlainName
author_rank: Super Contributor
timestamp: May 01, 2023, 03:24:43 pm
content: Quote from: propellerhead on May 01, 2023, 02:33:15 pmIt's annoying, yes. Can't remember if it's an option but if so then it's enabled because turning it off also kills something else that is actually useful. Just simpler to remember not to make a turn straight out of a pin but leave at least one grid space first.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 04:02:26 pm
content: Quote from: nctnico on May 01, 2023, 02:52:56 pmMaybe that was one of the things I was finding confusing - some combination of not knowingthat they were different modes and not knowing where to look to see which one I was in. I'mnot a fan of modes like this in UIs if there's any other way; why not just have one mode - edit -and make everything else a command/operation?(Stressing that I'm not attempting to launch an argument for this...) The system I'm used tokeeps it simpler - if you want to move something, you do a move. What gets moved is what'sbeen selected, and what gets selected is determined by the select filter. So if I want to movenot only a symbol (or symbols), but some other stuff along with it like text, a block of wires,etc., I enable symbols, text, and wires in the select filter, then enclose the block I want tomove, select and move it. If KiCAD's model is essentially that working with symbols is onemode, and working with wires is another, does that mean there's no way to do what I justdescribed?

author: PlainName
author_rank: Super Contributor
timestamp: May 01, 2023, 04:19:55 pm
content: QuoteWhat happens if something in the selection filter isn't moveable (or open to whatever command you're pushing)? Proteus used to be like this, in that you could select multiple components but only move the last one. Then they had a 'move' mode where you could multi-select and all would be moved, but it failed on some non-component things that got excluded. I think this is an example of changing the existing code to implement a new style, and often it's non-optimal. Don't know what the solution is, other than change the underlying design.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 04:41:29 pm
content: Quote from: PlainName on May 01, 2023, 04:19:55 pmThat's a good question - I don't know whether Mentor's schematic capture supports locking/fixing symbolsin place. I can't think of a reason for it not to, it's just that I don't think I've ever had a reason to want to doit. I should go look.Of course, layout is a different story - if there's something that's fixed yet within the select filter, it'll lightup when you select it, but just not move along with whatever else you may be moving.I just took a look, and that's "Protect", a function I've never felt a reason to use in schematic capture.When you protect an object, it's greyed-out and can't be selected. I suppose they put it there for areason, but I've done some pretty complicated schematics and have never used it.

author: nctnico
author_rank: Super Contributor
timestamp: May 01, 2023, 04:45:44 pm
content: Quote from: propellerhead on May 01, 2023, 04:02:26 pmYou are overthinking it. Moving a symbol is not editing, so it is not allowed to make/break connections. IOW: the user doesn't select the mode, it is inferred from the type of operation the user is performing.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 05:07:14 pm
content: Quote from: nctnico on May 01, 2023, 04:45:44 pmHuh? This sounds like either a zen koan or I'm just being pranked. "When is an edit not anedit? When you're moving a symbol."Moving a symbol on a schematic is, intrinsically, editing the schematic. How on earth cananyone stand behind "I moved a symbol, and the schematic no longer looks as it did beforeI moved the symbol, yet I did not edit the schematic."Um... I dunno - maybe the invisible hand of the market moved it when I wasn't looking?As for the mode: Okay, I had a sense of that while I was editing the schematic - that therewas some kind of mode switch happening, but it wasn't clear to me when or why, madeworse by there being no obvious indication. Is there a solid argument for behaviour likethis? Because it was just confusing and maybe isn't necessary at all.

author: Monkeh
author_rank: Super Contributor
timestamp: May 01, 2023, 05:12:54 pm
content: Moving a symbol is not (should not be..) editingthe netlist. Does that clarify matters?

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 05:21:46 pm
content: Quote from: Monkeh on May 01, 2023, 05:12:54 pmNot even a little bit. Of course it shouldn't alter the netlist, any more than should movinganything else. The netlist should only be affected by explicit "connect" and "disconnect"operations/commands. But movinganythingsure as hellisediting the schematic,or we're becoming untethered from any reasonable agreement on what "edit" means.

author: ebastler
author_rank: Super Contributor
timestamp: May 01, 2023, 05:26:00 pm
content: Quote from: Monkeh on May 01, 2023, 05:12:54 pmThis seems quite close to what propellerhead suggested from the start? One might expect the default "move" operation to keep netlist connections intact. Which in KiCad it does not; you need to G(rab) or (dra)G to do this.Kicad behaves the way it does for historical reasons, I assume: M(ove) came first. Then dragging was added, but it could only produce awkward angled wires, so one definitely wanted to keep the M(ove) mode for moving parts and connections around manually. Kicad 7 now has added a dragging mode which retains tidy, orthogonal traces. Maybe it's time to make that the default "Move" behaviour?

author: Monkeh
author_rank: Super Contributor
timestamp: May 01, 2023, 05:27:18 pm
content: Quote from: propellerhead on May 01, 2023, 05:21:46 pmAnd that's exactly what he's trying to express. A slight error in terminology has slipped past you, and now you're stuck in violent agreement.

author: Monkeh
author_rank: Super Contributor
timestamp: May 01, 2023, 05:29:49 pm
content: Quote from: ebastler on May 01, 2023, 05:26:00 pmMoving a symbol while severing it from connections should indeed be something you need to ask for explicitly. Additionally, library updates which physically move a pin on the symbol should not sever connections made to that pin.As far as I can tell this is essentially the entire issue, wapped up in major communication failure.

author: ebastler
author_rank: Super Contributor
timestamp: May 01, 2023, 05:33:47 pm
content: Quote from: Monkeh on May 01, 2023, 05:29:49 pmYes, that's what I also understand now, with one addition: If oneeditsa symbol while it is already connected in a schematic, Kicad does not offeranyway to automatically keep the connections. (For moving the symbol around, it does offer dragging as an alternative, so it's only a debate what the default command should be called or how it should behave.)

author: Monkeh
author_rank: Super Contributor
timestamp: May 01, 2023, 05:43:37 pm
content: Quote from: ebastler on May 01, 2023, 05:33:47 pmI believe that was my second point regarding library updates (changes to symbols).

author: ebastler
author_rank: Super Contributor
timestamp: May 01, 2023, 06:08:31 pm
content: Quote from: Monkeh on May 01, 2023, 05:43:37 pmYes indeed -- sorry, I shouldn't post while distracted...

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 06:10:01 pm
content: Quote from: Monkeh on May 01, 2023, 05:29:49 pmViolently agreed!Now I just have to convince everyone to take this idea a step further, and start paring away allthe unnecessary/undesirable variations e.g. moving a symbol shouldn't just keep the connectionsintact by default - it shouldn't have any other behaviour/mode/option available. If there exist subtledifferences between Move, Grab, and Drag (and I poked fun at this the other day), then it's time todecide how necessary those differences are and ditch two out of the three.If that sounds radical, think of it as a CISC vs. RISC argument: The idea behind RISC is that if youhave a very small and consistent instruction set, you can architect for better overall performanceeven if more instructions need to be executed in order to provide the same operation. In this case,I would invoke Mentor's select (choose: pins) and disconnect (enclose all the pins in the box)functions, and everything would be disconnected. Then I can move the symbol out without disturbingany of the wires. Without the explicit disconnect operation, all the wires rubberband to the symbol.Go with Einstein on this one: Everything should be made as simple as possible, but no simpler.

author: baldurn
author_rank: Regular Contributor
timestamp: May 01, 2023, 06:25:27 pm
content: We should not overlook the case of drawing the wires first and then dropping in a component. This usually only happens with really simple components such as resistors and caps. Nevertheless it is a move or place command that does two things: moves something and makes new connections. And is used all the time by everyone.But aside from that special case, I agree that move should neither break existing nor make new connections. Which may mean it should reject a move if you place something in a position where it could make new connections. Some people might find that annoying. For example you could delete a transistor leaving the wires hanging, then drop in a new transistor - should it then refuse that because that would make new connections?

author: Monkeh
author_rank: Super Contributor
timestamp: May 01, 2023, 06:29:19 pm
content: Quote from: baldurn on May 01, 2023, 06:25:27 pmIndeed, and there's discussion to be had as to whether that should occur. I admit, I have a tendency to drop things like dividers and decoupling onto nets in that manner, but I can very easily adapt to either positioning components prior to drawing the net, or giving an explicit command to connect at that point (non-connections of course should be clearly marked in realtime - a simple red x suffices).Both this case and the case of moving a component while detaching it from nets could be comfortably handled by the use of a modifier key to cause the connect/disconnect behaviour when desired. If one doesn't like such behaviour.. don't press the key.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 06:43:14 pm
content: Quote from: Monkeh on May 01, 2023, 06:29:19 pmYes,BUT... I just think it unnecessarily complicates things if what you're doing is invokingconditionals and decision trees in what should be simple, atomic commands. What are yourassumptions surrounding that modifiable move? Are we talking about the present context inwhich there's no such thing as a connection anyway, or my suggested context in which a wirein contact with a pin is either a connection or a warning? Because they don't suggest the sameuse case. In Mentor I don't have any such option. I can move a symbol (or select a fresh one)and drop it into existing wire ends. A move does not imply connection, nor is connection offeredas an option. It's simple - a move is a move, and that's all. So when I complete the move anywire end in contact with a pin is going to be a warning. If I want to connect them, I do exactlythe opposite of the example I just gave a few minutes ago: I select the wire ends and pins andissue a "connect" command, which connects the wires and removes the warnings.I'm not saying it's the only way to do things. I'm saying that it's extremely simple, consistent,and clear, and doesn't force you to invoke some probably-obscure-to-a-new-user option switch.

author: Monkeh
author_rank: Super Contributor
timestamp: May 01, 2023, 06:50:25 pm
content: And I would happily skip those steps in favour of holding Alt as I finish the move command. Same result, less work. Just a macro to save effort.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 07:04:22 pm
content: Quote from: Monkeh on May 01, 2023, 06:50:25 pmSure, that's not something worth a fight, but it's worth considering potential use cases. Whatif you want some, but not all, of the resulting potential connections to be connected? In mycase I connect the ones I want connected and otherwise clean up the others. In yours you havethe choice of either that or disconnecting the undesired connections made. If I had to pick aside, I might say that auto-connecting a bunch of wires/pins that I don't want to connect is aworse result, because you're intentionally adding mistakes you're then going to have to remove,and I think that holds potential for an outcome worse than a move-without-connect operationthat still leaves work to be done, but not errors to be undone. It's a fine point, but that's probablythe side of it I'd land on.

author: Monkeh
author_rank: Super Contributor
timestamp: May 01, 2023, 07:09:51 pm
content: Quote from: propellerhead on May 01, 2023, 07:04:22 pmThen you don't use the handy 'connect everything' modifier and proceed to handle it manually instead. You choose to invoke it when you know it's the outcome you want.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 07:22:14 pm
content: Quote from: Monkeh on May 01, 2023, 07:09:51 pmAgain, I don't see it as an evil way to go about it, just another command option that addsto a list of command options (if that's your chosen design philosophy) that grows with noend in sight. My view is that if you designwithoutallowing those kind of switches (or makethe explicit decision that they should be used only when absolutely necessary, such asmaking rotating/flipping/mirroring options within "move", you can keep the sum total ofcommands and commands optionsmuchsmaller - the RISC vs. CISC decision I spokeof above.

author: Monkeh
author_rank: Super Contributor
timestamp: May 01, 2023, 07:30:20 pm
content: Quote from: propellerhead on May 01, 2023, 07:22:14 pmAnd my counterview is that giving no such options to shortcut common actions merely gets in the way of efficient workflows. Further, when workflows are already established which rely on such behaviour, entirely removing that behaviour only alienates existing users to the detriment of the project.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 07:51:57 pm
content: Quote from: Monkeh on May 01, 2023, 07:30:20 pmSure, one can't ignore the "inertia" argument.

author: nctnico
author_rank: Super Contributor
timestamp: May 01, 2023, 08:51:31 pm
content: Quote from: propellerhead on May 01, 2023, 05:07:14 pmNo. Moving a symbol isformattingthe schematic. Editing isalteringthe function of the circuit.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 09:03:18 pm
content: Quote from: nctnico on May 01, 2023, 08:51:31 pmI reject that as a silly distinction, and would love to hear who made it up.The dictionary definition of "edit" is "to revise or correct" for any reason,whether functional or cosmetic. My schematic editor is my schematiceditor; when I use it I'm editing my schematic, it draws no distinctionbetween edits made for appearance and those made for functionality.

author: ebastler
author_rank: Super Contributor
timestamp: May 01, 2023, 09:34:56 pm
content: Well, in printed media the distinction between "editor" and "layouter" roles is (or has been) somewhat common. One dealing with changes to content and wording, the other only with format and appearance.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 10:04:50 pm
content: Yes, I'm aware of that, but this is the first time I've ever seen the notionmisapplied to schematic editing and it draws an unhelpful distinction. I'dstill like to know who decided to try to use it here, as this is the first timeI've heard such a thing in 35+ years of using EDA.

author: nctnico
author_rank: Super Contributor
timestamp: May 01, 2023, 10:09:10 pm
content: Quote from: propellerhead on May 01, 2023, 09:03:18 pmIn that case you are limited by your own thinking and perhaps get hung up by semantics... Maybe think about it a bit more and you'll start to see my distinction is very valid. Especially if you want to translate your requirements into creating software algorithms. Ebastler is right on the money with the printed media example.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 10:17:00 pm
content: Sorry, I understand the argument, but it's a hair-splitting distinction probablyarrived at by someone with severe OCD. If I substantially rearrange an entiredrawing to group together related functional blocks for possible reduction intoPLDs, it's a mere matter of "formating". If I happen to notice a missing groundconnection while I'm at it and correct the error, suddenly I'm "editing" instead.No, I'm not going to buy into that one.

author: nctnico
author_rank: Super Contributor
timestamp: May 01, 2023, 10:21:44 pm
content: Quote from: propellerhead on May 01, 2023, 10:17:00 pmUnfortunately, under the hood the CAD package will have to make that distinction in order for the functionality you proposed to work. But as a user you don't have to understand that. I'm outlining this as a possible implementation for a Kicad developer who might be reading along.

author: james_s
author_rank: Super Contributor
timestamp: May 01, 2023, 10:24:51 pm
content: Quote from: propellerhead on May 01, 2023, 07:51:57 pm"Better the devil I know"I don't find the KiCAD GUI to be particularly bad compared to other CAD packages, even those that are far more expensive. They're all pretty bad, but making them better is hard, and when you improve it for one person you risk making it worse for someone else.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 01, 2023, 10:26:51 pm
content: Quote from: nctnico on May 01, 2023, 10:21:44 pmOh - okay. I can totally get that it might be a usefulinternaldistinction, but as a user distinction it's pretty ridiculous.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 02, 2023, 05:29:15 pm
content: Quote from: woofy on May 01, 2023, 10:13:00 am(I was just skimming back through these exchanges and noticed that nobody had acknowleged this post.)You're 100% on the mark. Meaningful backannotation from layout is another very important functionprovided by having a meaningfully netlist-aware schematic. Mentor doesn't put the gate-swap andpin-swap data in the symbol itself; it's defined in what's called the "map" file, which is a text file thatcontains the correlation between the symbol(s) and the package (layout geometry). But I'm sure itworks the same way; in layout, if the swap rules in the map file permit it, you can swap pins or gatesto aid the layout, and when you exit layout you backannotate to the schematic. When you open theschematic, those backannotations (pin numbers, component designations) are highlighted in red soyou can check them over and make sure they look right before hitting the "merge annotations" button.

author: craftyjon
author_rank: Newbie
timestamp: May 03, 2023, 02:12:47 pm
content: For the benefit of readers here who do not feel up to reading through the long thread on the KiCad forums that repeated this discussion:Unbelievable as it may seem to at least one frustrated poster here, us KiCad developers *do* see this behavior as a feature, not a bug.While we will continue to add features and refine KiCad's editing tools to make it faster and more capable (for example, by adding pin/gate swapping) in the future, we will not be changing to a model that requires explicit "connect" and "disconnect" actions to modify the netlist. (Note that unlike the assumptions made by some in this thread, this does not mean that the schematic editor is unaware of the netlist -- it juts means that the netlist is not a separate "entity" that can be interacted with through explicit connect/disconnect actions).I suggest that users who cannot approach KiCad's paradigm here with an open mind should probably just move on and use other CAD tools. None of us will be offended! There are a number of reasons why KiCad can't and won't be the perfect tool for everyone. If there is enough demand for an open-source CAD tool that works more like Mentor Graphics, perhaps someone will create one.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 03, 2023, 03:37:16 pm
content: Never say never.

author: nctnico
author_rank: Super Contributor
timestamp: May 03, 2023, 03:41:01 pm
content: Quote from: craftyjon on May 03, 2023, 02:12:47 pmThis only shows that the Kicad developers don't understand the core of the problem -yet-. As I wrote before, it likely doesn't take much work to the underlying structures to add a realtime 'ERC' which safeguards the integrity of the schematic while formatting the schematic.

author: james_s
author_rank: Super Contributor
timestamp: May 03, 2023, 07:59:40 pm
content: If there's one thing I wish they'd fix, it's the inability (as far as I've found) to create traces with square instead of round ends. I find this incredibly annoying when trying to connect a wide trace to a small pad, the rounded end of the trace overlaps the edge of the pad. It would be nice to be able to select different styles of transition when a trace changes width too.

author: tooki
author_rank: Super Contributor
timestamp: May 03, 2023, 09:05:13 pm
content: Quote from: james_s on May 03, 2023, 07:59:40 pm100% agreed.This is also something that bugs me in Altium, which behaves identically to KiCad in this regard. On a recent project, a test board for testing our vector network analyzer, I had a number of (deliberate) transitions between different controlled-impedance trace geometries, and for some of them, I ended up drawing custom net tie components to create nice smooth transitions since you can’t configure trace geometry transitions parametrically.

author: hpw
author_rank: Frequent Contributor
timestamp: May 04, 2023, 07:35:30 am
content: Quote from: nctnico on May 03, 2023, 03:41:01 pmDid you post above request to the improvement list yet?Hp

author: 2N3055
author_rank: Super Contributor
timestamp: May 04, 2023, 08:07:55 am
content: Quote from: craftyjon on May 03, 2023, 02:12:47 pmThis is not summary but a single sided dismissal...People point out things where Kicad is suboptimal, some with bad, some with good intentions. People also ask for stupid things.. People will be people, doing both smart and stupid.It is up to the listener to sort it out. Value of many other people opinions is that it gives us opportunities to learn new things, that are beyond our current scope of vision.As for netlist / schematic thing that person mentioned, discussion directly went to negative .It is unnecessary. And immediately shifted discussion to semantics...Schematic diagram tools are BOTH a vehicle to create information for PCB layout program about component interconnections (netlist) AND also to create human readable interconnect diagrams. And BOM and all other information needed for production process.There is also very important issue (that programmers should be well aware of) of schematic/PCB maintenance/iterative development.Many electronic devices are developed in incremental steps, where schematic is ripped partially and redrawn and things are added and subtracted. During process, you redraw and refine symbols and whole schematic. You move blocks around and rearrange them for better clarity..Kicad does well with it's "drag" and "move" functions. Both are deliberate choice of user. "Drag" will drag the bungee cord wires and user will have to edit wire layout to make it nice and tidy again. But endpoints will stay connected to where I connected them. I don't have to verify all 100 pins CONNECTIONS from the scratch...If I want to detach component and severe connections i do "move".. It works perfectly.But If I do horizontal swap of component (mirror) , Kicad will happily DISCONNECT whatever I connected and than silently CONNECT any pins to any wires that happen to align... Silently is key word here...And I am deliberately not mentioning netlists here. Netlist IS internal thing. I'm talking that my schematic got scrambled without warning. Things are wrongly connected.Eagle won't do that for instance... Altium OTOH will happily both keep old and add new connections on intersections, but online ERC will show a warning there are problems ....What is best way to deal with it? That is going to be hard answer. Every man and his dog will have different solution..But I would like at least some warning that something was disconnected and then reconnected in stupid manner. Maybe when you do that, wires get pulled back from previous connection point and marked with X as a unconnected endpoint. I personally think bungee cords are good solution. You rotate/ mirror and then it is a quick cleanup sorting wires to tidy them up.Is this a deal breaker? No, it does not make Kicad unusable. Would Kicad be better by dealing with this better? Sure, I think it would be great improvement...

author: ebastler
author_rank: Super Contributor
timestamp: May 04, 2023, 08:24:50 am
content: Quote from: 2N3055 on May 04, 2023, 08:07:55 amI agree with your post -- just one small addition: Kicad does also give you a choice to keep the connections intact when rotating or mirroring a component. Start draGging the component, and rotate or flip it while in draG mode. (Via the context menu or the X/Y/R shortcuts.)Again, one can argue whether it is a good choice to make that a somewhat hidden option, while the default flip & rotate operations break or even change the connections.

author: woody
author_rank: Frequent Contributor
timestamp: May 04, 2023, 08:42:16 am
content: Quote from: james_s on May 03, 2023, 07:59:40 pmCertainly. I go around that by creating small filled zones to connect a larger trace to a small pad but it would be very nice if that could get automated. BTW I often wonder why some pads/pins are SO darned small, while being specced to carry large currents.

author: nctnico
author_rank: Super Contributor
timestamp: May 04, 2023, 08:56:28 am
content: Quote from: hpw on May 04, 2023, 07:35:30 amNo. But if you would be so kind to do that and point to this thread. Maybe it helps to create some understanding for how and why this realtime ERC feature is handy instead of outright dismissal. What 2N3055 wrote is precisely on point IMHO.

author: craftyjon
author_rank: Newbie
timestamp: May 04, 2023, 01:18:18 pm
content: Yes, it's a dismissal -- of one specific idea/request, that KiCad should require explicit user action to "connect" or "disconnect" things in the netlist rather than retaining the ability to make connections by moving/placing objects.There are many other ideas in this thread that are not really related to this specific idea (for example, realtime ERC) that I'm not dismissing.This discussion (and previous ones) goes nowhere if people continue to assume that the KiCad developers just don't understand something -- the way KiCad works here is an intentional choice and we really do understand the alternatives that some other software tools use. If you accept that, we welcome suggestions and feature requests that would improve KiCadwithin this paradigm.

author: nctnico
author_rank: Super Contributor
timestamp: May 04, 2023, 01:46:57 pm
content: Quote from: craftyjon on May 04, 2023, 01:18:18 pmYou missed the point where Kicad can infer the intend of the user perfectly fine. For example: when the user selects the function to draw connections or delete connections, it is obvious that the user is going to make/break connections. However in other modes (like dragging components / wires around, changing symbols) it would be nice if there is a safeguard that helps the user to maintain integrity of the schematic. I know CAD packages like Orcad and Altium don't work that way but I can definitely see the advantage for people working on more complex designs where a mistake can be costly.IOW: There really is no need for the user to select between connection / formatting modes.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 04, 2023, 01:49:28 pm
content: Quote from: craftyjon on May 04, 2023, 01:18:18 pmIn case there's any misunderstanding here, we're not talking about the user performing "netlist operations"such as connecting and disconnecting. At no time have we discussed direct user manipulation of the netlist.What this is about is theschematic editingoperations beingreflectedin the netlist, and conversely,the netlist affecting the behaviour of schematic capture and the data presented to the user. Otherwise it'ssimply too easy for schematic capture to present a deceptive picture to the user, which is no help at all.QuotePerhaps, then, you'll go a step further than dismissal and the insistence that there's some mysteriousparadigm at work here, and explain why you think this is correct and desirable behaviour.

author: 2N3055
author_rank: Super Contributor
timestamp: May 04, 2023, 01:51:13 pm
content: Quote from: craftyjon on May 04, 2023, 01:18:18 pmI didn't say you dismiss everything. Far from it. Kicad itself is proof how far it improved in last few years. I'm really impressed and full of praise for people that made it happen. Amazing work. But most of Kicad "problems" are not people writing bad code, but wrong, incomplete or misguided goals... The statement that is the problem is "intentional choice".. Well, some of the choices are not good..I say that with complete honesty and with full respect that there are many choices that are right. Just not all of them.That statement means :"we welcome all suggestions except those we already made up our mind about..". Which is fine but people will call bullshit when they see one, no matter how much it was "deliberate choice".That person never said he wants to manipulate netlists directly. In fact he specifically said that he understands that netlist is something internal.He posited that CONNECTIONS user makes in GUI instruct GUI to create netlist entries (as it does) but GUI itself is not doing any checks that subsequent GUI operations might make hidden changes in SCHEMATIC that are in contrary to what user wanted (user not wanting to make changes to CONNECTIONS but only to graphical layout of schematic... And since connectivity is explained with netlist he kept repeating that word. But it is about GUI changing connections (schematics) sometimes on some operations without any warning. And since GUI has internal netlist it could easily detect ERC violation... Hence mentioning of netlist.To me a pin on schematic symbol is exactly that: a pin connected to internal net in device.So if I connect wire to pin 3, go change symbol that pin 3 is few millimeters to the right, wire end should follow it to where it moved. I did not make a connection to a point in air that accidentally coincides with device pin..Schematic diagramming tool is not a Photoshop. Those are not graphic lines in ACAD. Those are WIRES that CONNECT PINS on COMPONENTS...The way I see it Kicad has 90% of functionality for this already implemented. It has all the data and awareness.Again, I thank you guys for your amazing efforts.

author: craftyjon
author_rank: Newbie
timestamp: May 04, 2023, 03:21:57 pm
content: Really, I do understand what is being proposed. KiCad makes an intentional choice to allow users to modify the connectivity of the schematic by moving items around, rather than assuming that once an initial connection has been made to a pin, that connection should be preserved through all other editing operations except ones that explicitly "disconnect" the pin.In general, KiCad has two tools to change the position of items interactively: moving and dragging. Moving does not, and will not, attempt to preserve connectivity. Dragging does. We welcome suggestions for how dragging can work better (there are certainly cases where a drag can accidentally result in connectivity changes today), but we're not going to get rid of moving.As for the OP's original scenario of wanting to edit a symbol in the symbol editor and have its pins stay connected the way they used to be: realistically I don't see that happening, not because of technical limitations but because it is not the kind of "magic" we want. However, a reasonable workaround that we could have in KiCad is to allow the user to drag around symbol pins directly on the schematic canvas (and drag operations should preserve connectivity). This fits a lot better with KiCad's workflow.A realtime ERC and/or other mechanisms to warn about or prevent accidental changes to connectivity while dragging are also in scope for KiCad. For these and all other feature requests, the next step is to open an issue on GitLab describing them.If you think our goals are "wrong and misguided" for wanting to preserve the editing workflow where you can change the connectivity by moving things if you want to, sorry, we just will have to agree to disagree on that.QuoteI tried this with you already on the other forum. You weren't interested in hearing other points of view then, and you don't seem to be now. If you can't accept that your concept of how an EDA tool should work is not the only correct one, I don't think you'll ever be happy with KiCad.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 04, 2023, 03:26:52 pm
content: Quote from: craftyjon on May 04, 2023, 03:21:57 pmThis is the sound of people pulling the wool over their own eyes.You're talking about "preserving  connectivity" that does not, in practical terms, exist.A "connection" that isn't a real (that is, as represented in a live netlist) connection remainsa nonconnection regardless of whether you "move", "drag", or "juggle" it. This is ridiculous.

author: 2N3055
author_rank: Super Contributor
timestamp: May 04, 2023, 03:58:01 pm
content: Quote from: craftyjon on May 04, 2023, 03:21:57 pmAnd this here is deliberate ignoring of what I explained.I assure you no PCB designer thinks in terms of graphical design and they absolutely think in terms of "this wire to this PIN".Absolutely wires have to stay attached to the pins EXCEPT when I deliberately perform operation that severs the connection.No electrical engineer thinks in terms of "connectivity by moving things around".If you don't see this then this is one of those "opinions" of Kicad team that is not in line with intended audience.If it is too much work or requires too much changes to the engine just say so..Even if not perfect it is still going to very useful, and then with addition of few ERC tools to remind you of potential problems it's going to be OK.Don't defend it by claiming "trust me, these are not the droids you're looking for". We know better and are only trying to help.. At least me.. I for one would like good PCB CAD that doesn't require king's ransom...

author: craftyjon
author_rank: Newbie
timestamp: May 04, 2023, 05:41:07 pm
content: Quote from: 2N3055 on May 04, 2023, 03:58:01 pmI've been an electrical engineer and PCB designer for longer than I've been a KiCad developer. Speaking in absolutes about how people think, and telling me you know better, doesn't really help move a conversation forward. I get it: you disagree with me about this. But you can disagree without insisting that your way is the only correct way.By the way, I think there is a bit of misunderstanding here, as we don't disagree about everything. I'm in full agreement that ERC tools to remind you of potential problems are a good idea.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 04, 2023, 05:44:55 pm
content: Quote from: craftyjon on May 04, 2023, 05:41:07 pmAnd yet you have "dismissed" (your word) the implementation of the simplest, most front-end, user-friendly,meaningful, interactive ERC that your (potential) users want. I presume this means you'll do ERC the wayyou're doing netlisting now - after the schematic is done; that is, too late.

author: tooki
author_rank: Super Contributor
timestamp: May 04, 2023, 05:57:53 pm
content: Quote from: 2N3055 on May 04, 2023, 03:58:01 pmHow do you presume to know how ALL EEs think? Clearly they do not all think alike, or else this discussion wouldn’t be taking place.Quote from: 2N3055 on May 04, 2023, 03:58:01 pmHuh?Everyone knows that clean schematic design is really important. There’s a huge graphical component to that.Don’t forget that a schematic is not only a stepping stone PCB layout. The schematic is where and how you work out the circuit design, so while it’s a prerequisite for a DRC-supported PCB layout, the schematic is simultaneously also a goal in and of itself.Quote from: 2N3055 on May 04, 2023, 03:58:01 pmBut there has to be some way to tell the EDA software your intent. In a program with a GUI, moving things around and connecting them is a very established model for entering and editing your intent.

author: tooki
author_rank: Super Contributor
timestamp: May 04, 2023, 06:00:21 pm
content: Quote from: propellerhead on May 04, 2023, 05:44:55 pmYou haven’t succeeded in coherently articulating what you actually want, never mind a cogent interaction model for it.

author: 2N3055
author_rank: Super Contributor
timestamp: May 04, 2023, 06:05:41 pm
content: Quote from: craftyjon on May 04, 2023, 05:41:07 pmThank you for ongoing discussion (and for keeping it very civilized).My point is exactly the same as yours and I will quote you :" I get it: you disagree with me about this. But you can disagree without insisting that your way is the only correct way." I assure you there are many out there that think like I do. Unfortunately many people that could contribute to discussion just have no interest in Kicad. They are busy using their expensive paid for tools at work and in free time fish or do something else...As I said, I defer to your decision because it is not me who is doing the work and I have no intention to "request the feature". But I am as I am and had say my thing.. If Kicad is equipped (with time) with some ERC tools to help manage potential problems that stem from this design decision it will probably make things very OK. It is just that my instinct is to solve problems at source, removing potential for data errors by design and then cope with "pretty parts" rather than vice versa..There are no tools without quirks, eventually we learn to live with it if otherwise tools is good and productive..Thank you for you contribution to the world...

author: propellerhead
author_rank: Regular Contributor
timestamp: May 04, 2023, 06:27:56 pm
content: Quote from: tooki on May 04, 2023, 06:00:21 pmTo the contrary, I'verepeatedlyoffered a clear and concise model forexactlywhat schematiccapture should be doing. If you haven't read it, it's not because I haven't (coherently) articulated it.But for your benefit I'll do it one more time:1. When you connect something, it's connected. Not only is it visually connected, but the connection isentered (by the schematic capture) into the netlist it maintains.2. When you disconnect something, it's disconnected, and that disconnection is similarly reflected in thenetlist - again, transparently to the user.3. The software may not make or break connections as the result of moves, symbol edits, etc. Only the usercan change connections. If, as a result of moves, edits, etc., entities in the schematic intersect such that theycreate theappearanceof connections (that haven't been explicitly created by the user), they are flaggedas warnings to the user.Under no circumstances should the software permitfauxconnections, that is, elements of the drawingthat appear to visually represent connections yet aren't properly represented in the netlist. This is what #3is meant to prevent. It's also apparently the only kind of "connection" presently supported by KiCAD.Could that possibly be clearer or more coherent?

author: 2N3055
author_rank: Super Contributor
timestamp: May 04, 2023, 06:38:49 pm
content: Quote from: tooki on May 04, 2023, 05:57:53 pmI said EE, not graphical designers. When you are designing new "electronic contraption" you are compiling a set of components (passive, active and parasitic) and their interconnections. Schematic is human friendly, graphical netlist+BOM. Nothing more. Everything else on schematic is organizational data, revisions, manufacturing data etc....You don't draw a line between two little circles, you are connecting two connector endpoints with a wire. By drawing a line between two little circles. According to a predefined graphical language that was standardized by convention for that purpose.Clean and clear "look" is certainly a large part of well done schematic layout. But, funny enough, it is not mandatory, and during years I've seen both exceptional and horrible ones. That both created exceptional PCB layout.You move things around to organize layout and functional groups. That is important, but connections between components are THE SCHEMATIC. Other stuff is only how it looks and consequently how nice is to read.As you absolutely correctly stated, it is where circuit design happens. By adding things, deleting them, moving them, rotating them, mirroring them. All the time. As you add things you see this would be better if drawn left here etc.And many of these things newest versions of Kicad do very well. What is left open to "unpredictable results" is component mirroring and changes to component symbol after the fact. If you mirror pins left and right on symmetric layout component will scramble where inputs and outputs connect... Without warning... That is potential source of error... That would not exist if Kicad was remembering connection to pin which had coordinate , instead remembering connection to arbitrary coordinate in coordinate space that happen to coincide with coordinate of pin of a (whatever) component that happen to be on that position...That is all.

author: KE5FX
author_rank: Super Contributor
timestamp: May 04, 2023, 06:51:34 pm
content: QuoteFor all the grief that EAGLE gets, much of it deserved, the netlist model is one thing they got 100% right. That's what allows them to maintain strict consistency between the layout and schematic.So, do what EAGLE does.

author: nctnico
author_rank: Super Contributor
timestamp: May 04, 2023, 07:04:13 pm
content: Quote from: tooki on May 04, 2023, 05:57:53 pmIMHO several peope brought up some good examples where moving/dragging things or changing symbols causes problems that may go unnoticed:- Dragging a component can result in creating new connections that may not be wanted. Especially true when dragging a larger piece of circuitry. Personally I have always found this a tricky & cumbersome operation in Orcad as you need to keep a really close eye on what is going on exactly.- Changing a symbol where pins end up on other locations could go unnoticed as well. Especially when working on a design in a team.All in all this thread suddenly has made me feel I have been kind of making do with Orcad (for several decades already!) which simply leaves a lot of schematic integrity checking tasks to the user. To be honest I never really gave this much thought until now.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 04, 2023, 07:56:27 pm
content: Other than to show up and criticize those who are arguing for positive change to KiCAD, I have no idea why you're here.Those who have actually beenengagedin this conversation know exactly what we're talking about, and do not requirethat anyone get out their box of crayons to illustrate it.

author: ebastler
author_rank: Super Contributor
timestamp: May 04, 2023, 08:15:46 pm
content: Quote from: propellerhead on May 04, 2023, 03:26:52 pmSorry, I thought for a while that I had understood your point, but now you have lost me again.(a) I fully understand the desire for a set of commands which manipulate the schematic while keeping all connections intact. KiCad has those: You can drag a part or a wire, including rotating and mirroring the part, and keep all connections in place.(b) I kind of understand the preference that commands whichbreakconnections should not be available at all, or should be well-hidden in a way where you do not use them unintentionally. Kicad doesnotdo that by default, it makes the connection-breaking Move, Rotate etc. commands easily available. But that is a very superficial change which you can make on the user level: Just assign exotic hotkeys (or none at all) to these commands you don't want. And I see the developers' point that other users will have different workflows and styles and want to use these commands regularly.(c) What I donotunderstand is your insistence that a "proper internal netlist" representation is the only path to happiness. That seems dogmatic. From a user perspective, why should I care how Kicad works internally -- as long as it offers (a), and for those so inclined enables (b)?Thanks for clarifying!

author: baldurn
author_rank: Regular Contributor
timestamp: May 04, 2023, 08:33:13 pm
content: First I want to say I am happy with KiCAD and not complaining at all. But if this is a user survey (and everyone should have one of those regularly) I will say there is some merit to this thread. I don't want the schematic editor to change by alot but it really could handle connections in a more sane way. And without needing two edit modes or anything like that.I have not checked the source code but I did check the save files. I don't like that wires seem to be indexed by coordinates. From a data science point of view this so wrong. Instead we should have points of interconnect defined with uuid and coordinates. A wire is then a connection between point uuid A and point uuid B or a pin uuid C. That way the point can be moved but the connection never breaks unless intended. And we will not have unintended connections not even if some bug caused the coordinates to be the same.It means the GUI code needs to be explicit about when to break connections. Yes we can still have "move" that breaks connections but the code behind would need to explicitly break those connections and not have it happen as a side effect. This would then enable the GUI to discover possible unintended (dis)connections and put up a warning dialog.For example mirroring a symbol causing disconnects on one side and reconnect to random stuff on the other side is probably very rarely intended and should display a dialog to which the user can select ok/cancel. And if editing a symbol can not use "grap" semantics but needs to use "move" then I am ok with it causing disconnections but NOT that it might cause random connections.TLDR I feel the data model is wrong and it causes errors. It could be fixed without changing the look and feel of the GUI.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 04, 2023, 08:48:08 pm
content: Quote from: ebastler on May 04, 2023, 08:15:46 pmProbably not. Don't overthink it! It's simpler than it sounds!QuoteAlmost, except for the part about "keeping all connections intact". My overarching point is that theyaren't actually "connections" - they justlooklike connections. If they were real connections youwould not, for example, require a "drag" (which maintains thefauxconnections) vs. a "move",which just lets things reveal their true nature and fall apart.QuoteNo, you're imagining something complicated and useless. You have to be able to disconnect withthe same ease and consistency of use as you had when you connected. Nothing hidden, nothingasymmetric. A "connect" function and a "disconnect" function, both doing exactly that, and retainingthe awareness of what each means, which is actual connectivity vs. faux connectivity.QuoteInternally to the software, I couldn't give a single shit in a million yearshowit's done - or what it's called.So there's no dogma to be found here, nor for that matter catmas or mousemas. The schematic capture needsto maintainsomekind of internal database in order to keep track of valid connections, otherwise it has noway of distinguishing the valid connections (the ones you made) from the faux connections and other errors itneeds to bring to your attention. In this context, the conventional name for a database such as this is a "netlist".If you'd prefer some other term, feel free to proffer it. If it's a functional equivalent, I can't see having a problemwith it. Let's not get hung up on the language if we're trying to come to agreement on functionality.QuoteThanks for giving a damn and asking!

author: nctnico
author_rank: Super Contributor
timestamp: May 04, 2023, 08:57:42 pm
content: Quote from: baldurn on May 04, 2023, 08:33:13 pmInteresting. When I export an Orcad schematic to XML (as the native format is binary), the wires are children of a net instance.

author: delfinom
author_rank: Regular Contributor
timestamp: May 05, 2023, 01:31:17 am
content: Quote from: baldurn on May 04, 2023, 08:33:13 pmFYI, Altium has the exact same data model. The wire is stored simply as endpoints.EAGLE otoh does stored them under a net object but nets in EAGLE are definitely a different beastReally what matters is how the app processes said netlist once loaded. It's possible to warn about breaks during a drag/change without storing the relations.

author: nctnico
author_rank: Super Contributor
timestamp: May 05, 2023, 09:29:08 am
content: Just thinking out loud: wouldn't it be more efficient to store the wires as being part of a net when the design is saved to a file? That way the software doesn't need to extract connections from the schematic every time it is loaded. A really large schematic may load faster that way.

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 12:26:51 pm
content: Quote from: propellerhead on May 04, 2023, 06:27:56 pmYou have repeatedly offered explanations, but they have not been clear and concise. That youthinkit was clear and concise doesn't mean it actually was. As others have pointed out, you have made contradictory explanations that have prevented people from having a clear idea of what you want. And your very rigid, yet unconventional, use of terminology has also made it harder to understand what you mean.Quote from: propellerhead on May 04, 2023, 06:27:56 pmIhaveread it, which is why I know it's not been coherent.Quote from: propellerhead on May 04, 2023, 06:27:56 pmWhich it does.Quote from: propellerhead on May 04, 2023, 06:27:56 pmWhich it does.Quote from: propellerhead on May 04, 2023, 06:27:56 pmSo which manipulationsdoallow connections to be made or broken? It's a graphical editor, so the schematic diagramishow the user makes and breaks connections (that is, that is the mechanism for conveying user intent to the software).Quote from: propellerhead on May 04, 2023, 06:27:56 pmThe connections created during those operationsarereal connections.Saying "theappearanceof connections that haven't been explicitly created by the user" implies that those connectionsaren'tbeing made, but that it nonetheless appears that they are. But that's not the case, theyarebeing made.You can see #1-3 in action: in KiCad, click a wire in the schematic and the status bar tells you the net name (under "connection name").Quote from: propellerhead on May 04, 2023, 06:27:56 pm"Faux" means fake, non-real. But theyarereal connections, and theyarerepresented in the netlist.So what you really mean, if I understand you correctly, is that you don't wantunwantedconnections to be created. Is this correct?The challenge, from an interaction design standpoint, is knowing what is and isn't wanted. Sometimes it will be completely unambiguous, but other times, it will be fuzzier, and you have to design the software to handle every one of those cases in some way or another. And you want the decision logic to seem obvious to the user (or to be precise, you want it to feel transparent, like it just magically "knows" what you meant). This is really,reallyhard to get right: witness how people swear at MS Word for it doing "unwanted" things (because the intent inference logic didn't do what they wanted). And those momentsarefrustrating. What people don't realize is how often it gets itright, because those momentsaretransparent. Only when you go back to an early version that didn't have that particular logic do you realize how much it's been doing for you.I understand well the problems of 1) unwanted connections being created during certain drag operations, rotates/flips, etc, and 2) of existing connections getting made/broken when editing a symbol after it's been placed and connected. (Altium, my primary EDA program, has both of these issues, so I am completely familiar with them, and the frustration they can cause.)So how do we:a) prevent that from happening,b) differentiate between wanted and unwanted connection changes,c) provide real-time feedback during the edit, so the user knows exactly what the result will be,d) provide the user a real-time mechanism for influencing the end result, ande) provide recovery in case the result isn't what the user wanted?Let's look at problem 1 only.For the purposes of this discussion, please acceptas a giventhat the internal representation (which we can call the netlist) at any given moment isalwayscoherent with the schematic as displayed. Let's also work from the assumption that schematic wires can cross, but that wires that cross without a dot are not connected to each other, so wires only connect to each other when a dot is shown.One solution, which we know the KiCad team expressly does not want, is to have explicit connect/disconnect commands or modes. But my hunch is that you probably don'tactuallywant that, either.Another approach would be to only allow some operations to create connections, like adding wires. Some example questions:Does only theendof a wire create a connection?What about if some point along the wire lands on a pin? Does it depend on whether the wire is already connected to something else?Does dropping a component onto a wire (such that a pin is on the wire) create a connection or not? What if it's just one pin? What if it's multiple? Does it depend on pin functions (input, output, power source, etc)?For the sake of the next step, let's assume we've made decisions on all those things, and we have a coherent, happy mechanism for creating new connections and breaking existing ones. Now we move onto makingchangesto a schematic.What happens when we drag a component, and it is now in a position that could add connections? Do you make the connections, or do you require the user to make them separately?Does it depend on whether that component has any other connections yet? (That is, do you treat a "virgin" component differently from one that's already got a few connections? What are the criteria?) Does it depend on what kind of component it is? (For example, do we treat connectors differently, since there, the likelihood that the symbol layout actually corresponds to the physical layout is much higher?)Do we handle it differently when flipping or rotating?Bear in mind that I'm not asking you to answer these questions -- they're simply to give you an inkling of just how much thought has to go into program logic, of all the decisions the user interface designer has to make regarding how a program works. (I have worked in UX, so I am used to thinking about these types of questions.)So let's look at another aspect.What I think we all agree on is that what wedon'twant is for attached wires to drag along with the component and add additional connections of their own. I know I have been in the situation where, for example, I would have loved to be able to select one or more components and drag them to a totally different area of the schematic, and know that every single connection is exactly as I created it -- none added, none removed.One idea would be to use the netlistas it existed when the drag operation beganto perform real-time comparison with the "future netlist" that would result if you were to release the mouse now, and give feedback/warnings. But if you're doing that, you could just as well use that logic to avoid netlist changes to begin with, by using autorouter-like wire layout logic to move wires around more intelligently by avoiding short circuits between nets, by scooting (or meandering) other wires and parts out of the way. (If memory serves me correctly, I actually saw a video from a KiCad developer back in the version 4 or 5 days, showing an experimental schematic editor change that kinda worked this way. I was unable to find that post now.)Other than being more computationally expensive than "dumber" logic, I don't see any real problems with this. (I don't know how much it would slow it down. But given how fast the push-and-shove logic is in PCB editors, I can't imagine it being problematic on modern hardware.) With flips and rotates, it could result in some visually really messy schematics, but as long as it scoots wires out of the way so that no unconnected wires land on pins, that remains a cosmetic problem only, since wires can be crossing each other without connecting.For the situation I described a paragraph ago, that would work great.How about if youwantto make or break connections while dragging? Well, breaking is easy (at least to break all of them at once) since that's the "move" command. But suppose you have a typical dual-row header for an IDC connector, for ribbon cable where you want every other wire in the ribbon to be a ground. Well, that's connecting ground to every even pin, or every odd pin, i.e. all the pins on one side or the other of the symbol. You've wired up your signals, now you need to add the ground. Do you force the user to manually wire each one? Do you allow the user to draw a long-enough wire, then drag the connector symbol so that all of the pins on one side land on that wire? Does that connect them, or does the wire scoot out of the way to prevent adding new connections? Do we only scoot the wire away for pins that already have something on them? Do we treat GND differently from other already-connected pins? Do we treat connectors differently from other components? Do we have different modes that behave differently? Are those modes separate functions, or are they modes of one function (like how Altium's PCB editor lets you enable or disable the component reconnector while dragging a component)?Quote from: propellerhead on May 04, 2023, 06:27:56 pmYes. Your terminology in particular is really problematic.Quote from: propellerhead on May 04, 2023, 08:48:08 pmYou are operating from a dichotomy that does not exist. There aren't "real" and "faux" connections. Every connection you seeisa real connection, they're the only thing that exists.(As an aside, bear in mind that the "move" command is essentially just shorthand for "cut and paste": it'sremovingthe symbol (and nothing else) from one spot and pasting it back in somewhere else, as opposed to relocating itin situ. I think "move" vs. "drag" isawfulUI terminology, but many EDA programs use it.* )What I think you seem to want (or seem to think exists already) is some kind of authoritative "shadow netlist" that remembers youroriginalintent, and then works to preserve that intent against future graphical modification. KiCad (like many other EDA programs) does not work this way: there is ONE netlist, which is always equivalent to the schematic as displayed. Your approach would require the program to know theintendedconnections, but then also track which of those have and have not been made in the schematic. That would require it to somehow be able to display those intended-but-unmade connections, and give you some way to edit them, since your intent can change, too.I don't know for certain whether the dual-netlist approach is or isn't good. But what I am sure of is that "real" vs. "faux" is certainly not a sensible way to describe it, because both the "intent" netlist and the "actual connections" netlist would be equally real. Neither one has a "true nature" than the other, they'd just be different aspects of the design.A usability concern I'd have is whether it would add unnecessary complexity to the PCB layout process: we already have the "intent vs. actual connection" dichotomy in layout programs, in that the schematic captures the intent, and the PCB layout captures the embodiment of that intent. Real-time and batch DRC work to enforce that intent. You'd be adding a second layer of intent, resulting in "intended intent", "actual intent", and then embodiment.Rather than this, I think that adding limited "smarts" to the schematic and symbol editors, giving them the ability to retain or transfer aspects of your original intent through certain types of edits, is probably smarter.* I did the German-to-English translation of a substantial desktop application, which meant writing literally thousands of on-screen text strings, including hundreds of names for menus, commands, buttons, etc, as well as of error and status messages and the like. It takes real work to come up with concise, memorable, self-explanatory anddistinctnames for commands. "Move" vs. "drag" totally fail the "distinct" and "self-explanatory" tests, because it is in no way obvious what the difference between them is. Never mind that "drag" shouldn't evenbea command, since "drag" means "move the mouse with the button held down".)

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 12:32:52 pm
content: Quote from: nctnico on May 04, 2023, 07:04:13 pmI'm fully aware of those issues, and understood that.That doesn't change the fact that in graphical schematic capture software, the graphical representationishow we convey our intent to the software.

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 12:38:52 pm
content: Quote from: nctnico on May 05, 2023, 09:29:08 amIt's entirely possible that some programs do cache the compiled netlist. But I suspect that it's computationally so trivial that there isn't much point in doing so, and runs the risk of the schematic and netlist getting out of sync. If one makes the reasonable assumption that the schematic is only saved when in a stable state (i.e. all operations performed to it are atomic, and have been completed or rolled back), then opening it shouldn't require all that much computation.My hunch is that caching the netlist wouldn't make any appreciable difference in performance, in that I suspect that other things (like loading symbols) probably take much longer, and wouldn't be affected by a cached netlist.

author: nctnico
author_rank: Super Contributor
timestamp: May 05, 2023, 01:09:46 pm
content: Quote from: tooki on May 05, 2023, 12:32:52 pmThe point is that some actions are not intentional and with some additional features, the software can be made smart enough to detect that and warn the user. This is exactly the reason why people use PCB design software with DRC to design PCBs instead of MS paint (to exaggerate a little bit).

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 01:24:41 pm
content: Quote from: nctnico on May 05, 2023, 01:09:46 pmI obviously understand this. I understood it before your first reply. And before the second. At the latest, after reading my last reply to propellerhead above, it should be very clear that I understand the problemdeeply.But that wasn't the claim I was disputing. It was this:Quote from: 2N3055 on May 04, 2023, 03:58:01 pmI said that "moving things around" is how GUIs work, and it is.I never said that a poor implementation can't cause mistakes, so I'm not sure where you got that idea, and then decided that you needed torepeatedlygive a condescending, dumbed-down explanation of something I clearly already understood before you ever replied to me.

author: nctnico
author_rank: Super Contributor
timestamp: May 05, 2023, 01:43:44 pm
content: Then why bother debating something we already agree on?You keep on insisting something isn't what it is and then you suddenly agree. And it turns out your beef is not even with what I wrote.

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 01:45:11 pm
content: Quote from: 2N3055 on May 04, 2023, 06:38:49 pmI understand this. But it kinda is part of the job to produce schematics that are easy to read for whoever else needs to work on it down the line (which includes yourself in the future!).The fact that a poor schematic (of a good circuit) can produce a good PCB doesn't mean that it's not part of the job.As for "not graphic designers" -- well, the only places where you see schematic diagrams drawn by graphic designers are in magazines and datasheets. Everywhere else (at least that I've seen), even in places with technical documentation teams, schematics come from the engineers.Quote from: 2N3055 on May 04, 2023, 06:38:49 pmWell, the connections between components are thecircuit. Theschematicis simply a diagramof the circuit. That is to say, the connections/circuit are the actual concept, the design itself, while the schematic is a visual representation of that concept. The fact that thesamecircuit can be represented in any number of schematic layouts, or evencompletelydifferent schematic types (e.g. the ones used in industrial automation).Quote from: 2N3055 on May 04, 2023, 06:38:49 pmThe latter of which is kinda important.Quote from: 2N3055 on May 04, 2023, 06:38:49 pmI know that, but I never said otherwise. I was disputing yourblanket claimsabout how all engineers think.

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 01:48:55 pm
content: Quote from: nctnico on May 05, 2023, 01:43:44 pmMy "beef" was with somethingsomeone elsewrote, which is why I responded tothem. I didn't write to you. You later chose to respond to me overyourinterpretation of something I hadn't actually said. I didn't "suddenly agree", you only think that because you thought I said things which I had, in fact, never said.Bear in mind that I'm not assuming ill intent on your part. I simply think you may have gotten a bit confused about who originally said what, causing you to ascribe to me things actually said by someone else.

author: 2N3055
author_rank: Super Contributor
timestamp: May 05, 2023, 02:25:25 pm
content: Quote from: tooki on May 05, 2023, 01:45:11 pmNow you are semantically arguing fine points of English language. I'm not saying youre not technically correct, but I'm sorry my English is not that good.To most of the people I know, saying schematic means schematic diagram, and that is a document that explain circuitry in device.. It has same functional meaning. You will hear people saying schematic and think circuitry in a device (as in:" we changed the schematic" meaning they changed the circuit ) and when meaning they changed the documentation they will explicitly say "schematic diagram"..I will have to insist here. ALL EE think in terms of circuits. When you are designing a circuit you are designing the circuit, not it's schematic representation and don't use idiosyncrasies that particular tools bring in design process.While designing the process is not creating schematic file but the actual working circuit. Schematic is just a jolted down notes about it...So when designing ALL EE think in terms of circuit (in physical sense) and all the idiosyncrasies of tool they use to document it is what they have to suffer on the way. So when drawing circuit the have to "translate" to CAD idiosyncrasies to write it down. Less translation needed, more intuitive and productive tool is.What did ALL EE think about when designing circuits for years before CAD tools, with pencil and paper?.. You would jolt all kinds of crap on paper in whatever format it was simplest and most logical for you.. Schematic was mostly done later by draftsman based on engineers notes and sketches. Or in a small company or working alone, EE would do combination of notes, sketches and iteratively would eventually make a full schematic in presentable format...Today all is the same logically. Only pencil and paper are replaced with computer and CAD. It is much easier to draw and edit, tidier, easier to do revisions...But this is the circuit (schematic) you are designing:and schematic diagram is only this:Don't get confused by the fact that in CAD it seems that you are "designing" the second one because it all happens at once..

author: propellerhead
author_rank: Regular Contributor
timestamp: May 05, 2023, 03:15:45 pm
content: I'm not going to reply in my usual point-by-point manner to your extremely long, rambling, and probably stoned posting.Instead, I'm going to present a single key example illustrating how little attention you've paid to what I've been saying:Quote from: tooki on May 05, 2023, 12:26:51 pmWhen what I wrote in my immediately-previous post was:QuoteSeems I was pretty clear about the need for both connect and disconnect commands. So instead of "hunching",I recommend "reading". Your entire reply is filled with similarly spurious writing based on a profound failure tounderstand what I said.To be absolutely clear about my terminology, many respondents who are very familiar with KiCAD have confirmed thatschematic capture has no internal representation of the netlist. None. Just a bag of coordinates that indicate wherethings are, but not any relationships between them, such as "connection". I have thus employed my own term "fauxconnections" for those that appear be connections on the drawing, but really aren't because schematic capture doesnot understand that concept - in other words, everything on a KiCAD schematic that you call a connection is in fact afaux connection. That's why, when you move a symbol, the wires do not remain connected and rubberband. In orderto make that happen, KiCAD has a parlour trick called "drag" which - perversely - brings along all the wires that aren'tconnected to it.Where others here (and elsewhere) understand very clearly what I'm talking about, you've employed lengthy sophistryof very poor quality to convince yourself otherwise.

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 03:31:11 pm
content: Quote from: 2N3055 on May 05, 2023, 02:25:25 pmYour English is very good!Quote from: 2N3055 on May 05, 2023, 02:25:25 pmOh, for sure, you hear them used somewhat interchangeably in everyday speech, but they are still distinct things, and since that distinction isat the core of this entire discussionI think it's important to keep it in mind!Quote from: 2N3055 on May 05, 2023, 02:25:25 pmI totally get that, that we are often doing both circuit design and schematic layout simultaneously. But notalways, and this is why I think yourblanket statementis wrong (that is, it is not ALWAYS true, even if it is true most of the time): sometimes, you're modifying schematics in ways that aren't really circuit design as such, but certainly aren't mere graphic design, either. For example, changing a pinout on a connector. It's absolutely part of the system engineering, but it's not reeeeeeallly conceptual circuit design as such. Imagine if the change is to a connector with more pins, and you need to insert a new signal somewhere in the middle, so you need to shift the existing ones over by a pin. That really is something where your thought process will be entirely on how to do it in your program, not on circuit design.Same if you need to parallel something (perhaps a daisy chain connector, or an extra capacitor) or insert a jumper (to make a single-sided PCB, not a configuration jumper) or net tie.Furthermore, I still don't entirely agree that the mechanical (the tool) and the conceptual are as thoroughly distinct as you think. Maybe they are for some people. But consider this: when you write text onto paper/screen, is the "sentence design" stage separate? Do you think a sentence in your mind andthenwrite it down in a second step? Or do they happen simultaneously? Or are theyone and the same thing? I think they actually become the same thing, at least for many people. I think that is probably why I find using dictation software so uncomfortable: I am not at all accustomed to having to compose a sentence in my mind, then speak it out. When I type, I am constantly pausing and revising as I type. There is no intermediate step. (I know for a fact that this is not how everyone writes. Some people do, in fact, compose entire sentences and then type them in.)I don't know about you, but I can't really visualize a circuit in my mind; the written note is an integral part of how I think about it. Not everything is written down, but without the visual part, my brain struggles to know where to begin. Maybe that'll come with more experience. But I simply don't think you can discount or compartmentalize the visual aspect in the wholesale, absolutist way you do.Finally, consider how fluidly we humans integrate tools into ourselves -- a good tool becomes invisible, like it's an extension of your body or mind. When you drive your car, you don't have to think "rotate steering wheel to turn right", you simply think "go right" and your body knows what to do. So I don't think it is a stretch to consider drawing a schematic to be distinct from circuit design: at least for me, operating the tool (be it Altium or a pencil and paper) are tightly integrated into the conceptual part. (I usually start with pencil and paper because it feels more transparent.)So ultimately, I think the main problem I have with your position is simply that it doesn't offer any room for anyone to think or work differently from you. The way you describe it doesn't describe me, so itcan'tbe a Boolean "true" blanket statement.P.S. "Jolt" = shake. "Jot down" = write.

author: ebastler
author_rank: Super Contributor
timestamp: May 05, 2023, 03:36:05 pm
content: Quote from: propellerhead on May 04, 2023, 08:48:08 pmThanks for replying! But I still don't get it. It seems to me that you are concerned with the internal data representation, not the user-facing functionality:From a user's perspective, if I draw a wire which ends at a components pin or at another wire, I make a connection. Kicad knows about that connection, or automatically figures it out any time it needs to know about it. E.g. it lets me drag parts or wires around, including rotation and mirroring, without changing the connections.(Kicad also lets me do other operations, like "moving" parts or flavors of rotation and mirroring which can make or break connections. You may consider that undesirable; but this is what I discuss in point (b) below. So regarding point (a), what is missing in Kicad, from a user's perspective?)QuoteI was discussing the Move etc. operations which disconnect (or connect) somethingas a side effect-- assuming that these were at the core of your dissatisfaction with Kicad. In addition to these operations you can of courseexplicitydisconnect a signal, by simply deleting a wire segment which connects it (to another wire or component pin). Totally symmetrical to the connection step (by drawing the wire). Not hidden in any way. Obvious and intuitive to me, since if there is a gap on screen, it is no longer connected.Again, what is missing from a user's perspective? And what do you mean by "faux connectivity"? Maybe there is something "extra" in Kicad which some users may prefer not to use or even to disable, namely the Move etc. operations with side effects. But I can't see anything missing, and I can't see any fundamental architectural flaw.QuoteI don't follow the logic highlighted in bold typeface. It's certainoperations(Move etc.) which can cause confusion, because they make or break connections -- which the user may want at the time, but which may also be an unwanted or unexpected side effect to them. Don't use those operations and you should be fine; and the existing data representation in Kicad should do what you need.

author: 2N3055
author_rank: Super Contributor
timestamp: May 05, 2023, 03:58:14 pm
content: Quote from: tooki on May 05, 2023, 03:31:11 pmThank you for kind words and for teaching me...My English is quite OK on some levels, but not being native speaker, it is hard to explain some things...I think we pretty much agree in general and we started to go into much detail that I don't think is helpful to main topic...I'm aware of research that languages shape how we think, and different tools change how we solve problems.I'm not disputing that. I'm talking on more fundamental level.. And fact that tool should be shaped to us not us to tools...Fact that human is extremely adaptable doesn't change the fact that if something is done right it doesn't need to...Anyways, good talk.

author: hpw
author_rank: Frequent Contributor
timestamp: May 05, 2023, 04:03:46 pm
content: Here some simple testings about the pitta.Even LTSpice is in this regard miles better while strict .... while KiCad deals with no NETLIST1) Normal 2 resistors connected (BasePicture)2) Shifted main and lines follow = OK (BasePictureShifted)3) Mirror Horizontal.... whats on the connected lines ?? (BasePictureHorizontalMirrored)4) Shifting the mirrored as (BasePictureHorizontalMirroredShifted)Or I am doing something false ??CheersHp

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 04:10:52 pm
content: Quote from: propellerhead on May 05, 2023, 03:15:45 pmI think the words you're looking for are "thorough" and "detailed".Quote from: propellerhead on May 05, 2023, 03:15:45 pmThat's presumptuous. I actually don't do weed (or any other drugs), though I don't care if others do.Quote from: propellerhead on May 05, 2023, 03:15:45 pmOh, I read everything you wrote. That didn't escape me.My point is that what youthinkyou want and what youactuallywant need not be the same thing! (And this is in NO WAY a criticism, it's actually a really normal human thing!!!)Ever heard of theXY problem? It's the extremely closely related issue of people seeking help with their solution to a problem (whether it is the correct approach or not), rather than asking for help with the problem.I believe you're so fixated on your solution being the only possible solution that you're not actually listening to any discussion about the problem. (Note how you phrase it as a "need" for those commands, as if that's the only possible solution. It's not.)Quote from: propellerhead on May 05, 2023, 03:15:45 pmItwouldmake sense if you actually climbed off your high horse andread it(like really read it to understand it, not just read it to retort).Well, at leastotherswho read it can appreciate my example of the thought process behind interaction design.Quote from: propellerhead on May 05, 2023, 03:15:45 pmSo the KiCad representative in this thread is wrong?Quote from: craftyjon on May 03, 2023, 02:12:47 pm(To be aware of the netlist, it must also have some internal representation of it.)Quote from: propellerhead on May 05, 2023, 03:15:45 pmIf they're connected on the schematic, then they're connected in the netlist. That's as real as it gets."Parlour trick"... there's more of your condescending, dismissive language, and to boot, it's in a sentence that is absolutely incorrect.Quote from: propellerhead on May 05, 2023, 03:15:45 pmUmm, multiple different people have told you that you are unclear. The fact that multiple different people have used phrases to the effect of "I think you mean...", "I guess you mean...", etc. indicate that you are pervasively bad at articulating your thoughts. The fact that you think you're being clear does not mean you areactuallybeing clear in your communication. It's not helped by your grotesque attitude. You think you're some goddamned prodigy who does no wrong, but you're actually just a conceited, rigid bully who doesn't evenfeignan attempt to really listen to what others have to say, even those who are trying to understand and help you. And then you lash out at anyone and everyone who doesn't lick your boots.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 05, 2023, 07:04:44 pm
content: Quote from: tooki on May 05, 2023, 04:10:52 pmHonestly, if you stuck to the subject matter rather than playing amateur psychologist, wemight even get along. In discussing these matters of schematic capture behaviour and UI,we all draw from our own experiences and examples. You'll read people talking about Eagle,Altium, OrCAD, Proteus, and a lot of other suites past and present. In my case it's Mentor,which is the system I've been using since around 2000.I have sound reasons for wanting to be able to use KiCAD (or another open-source suite, shouldone emerge) if not in place of, then in addition to, Mentor. No need to get into those reasonshere, I just tell you that in order to indicate that my desire for KiCAD to improve is genuineand not a Quixotic crusade. So when I describe the desired behaviour, though I'm describingthe steps one goes through in Mentor, I amnotinsisting that it's a standard that KiCADshould conform to, but a clear example of the essential functionality - maintenance of thenetlist - that I and many others regard as a requirement for a credible schematic capturepackage. The fine details of the UI and the underlying implementation aren't particularlyimportant, as long as the overall concept is the same. That's all. Now, I'm just not going toget into these long, drag-out, tedious, point-by-point arguments with you, because I've mademyself clearly understood to most of the other participants here. So instead of wasting yourtime on me, go find one of the others who agrees with me and pick a fight with him.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 05, 2023, 07:22:03 pm
content: Quote from: ebastler on May 05, 2023, 03:36:05 pmNo, absolutely not. I'm unconcerned abouthowthe required relationships are represented internally,as long as theyarerepresented internally in a manner that carries the required meaning. But this isintimately coupled to the UI as well - they have to work in concert.If you'll permit my not answering your other questions for a moment, I'd like to try another tack (and yes,I actually am a sailor!) to try to make this easier to understand. I'm finding this difficult because thenecessary conceptsshouldbe really easy to grasp, but obviously there's something missing. First,allow me to ask whether you have experience with any other schematic capture packages, or whetherKiCAD is the extent of it. Your answer may give me some context for moving ahead with an explanationyou might find easier to grasp.

author: ebastler
author_rank: Super Contributor
timestamp: May 05, 2023, 09:31:17 pm
content: Quote from: propellerhead on May 05, 2023, 07:22:03 pmI have used Orcad and Eagle at some length.I would find it helpful if you could describe which behaviour (or lack of a certain behaviour) in Kicad you find problematic, from the perspective of a user who considers Kicad a black box. Beyond the "undesirable" operations which mess with the connections (Move and its relatives), what is causing you problems? And why would it require different internal data structures to fix these problems, rather than just making these problematic operations unavailable to you?

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 10:19:10 pm
content: Quote from: propellerhead on May 05, 2023, 07:04:44 pmNot amateur: I used to work in usabilityprofessionally, and that included user observation, requirements engineering, interaction design, etc. At the absolute core of usability is human behavior. And one of the many, many human quirks is that what people think they want is often not really the scratch for their itch. If you give them what they say they want without digging deeper, you can end up investing in a solution that doesn’t actually solve their problem. That’s frustrating for everyone.Quote from: propellerhead on May 05, 2023, 07:04:44 pmI absolutely believe that. Despite the obnoxious way you go about communicating it, it is very evident that youdocare and that it’s coming from a place of positive intent, of a sincere desire to improve the software.Quote from: propellerhead on May 05, 2023, 07:04:44 pmWell, therein lies the rub: As you absolutely correctly mentioned to ebastler in the next post, the internal representation is closely coupled to the UI, and they have to work in concert.As a former usability professional, I firmly believe that the internal model needs to reflect the needs of the UI, not the other way around. (The very best UIs are built atop foundations that were built for them. In particular, GUIs that are retrofitted onto existing, originally text-based systems really struggle with usability, because the software architecture just isn’t laid out properly for the type of interactivity in a GUI.) The worst thing — and we’ve all seen software like this — is where the internal model “leaks out” in the user interface, requiring the user to make strange accommodations for the software’s internal data structures and architecture. That’s the tail wagging the dog. (As a total aside, the “tail wagging the dog” mentality is one of the reasons I left IT entirely: dumb IT managers whose self-serving IT departments force IT decisions on users, undermining rather than serving users’ needs.)And that’s why I think it’s so important to work out a lot of the details in a UI before working on the underlying software architecture, whether it’s a blank slate, or a reworking of an existing one. And as such, rather than cloning what another program does — whose design includes featuresand limitationsfrom its entire evolution — it can be really smart to let go of existing expectations of how it needs to work, and instead take a totally fresh look at the problem and brainstorm solutions. Sometimes, the brainstorming ends up producing the same solution as before, which can be a sign that it already was the optimal solution. But sometimes you end up with a totally novel solution that is way, way better — one you never would have come up with by just borrowing prior art.But to do this, youhaveto let go of the conceit that you already know the One True Solution. Your wording throughout your participation in this thread has continuously used wording that just oozes overconfidence and/or disdain: “essential” functionality (apparently not, since many EDA programs don’t do it), “parlour trick”, “reveal their true nature and fall apart”, etc.It could be that there’s a better design that works better than either the current KiCad model or the Mentor model. But you can only figure that out if you give othersand yourselfthe space to explore the interface design. And to do that, you have to dial your ego back a bit and be open to digging deeper into the problem. When people challenge you for more information or clarification, it’s not because they’re attacking you, it’s because they want to get to the root of the problem. You’ve been quite resistant to that, however.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 05, 2023, 10:34:50 pm
content: Quote from: ebastler on May 05, 2023, 09:31:17 pmDo this simple test: Put an inverter (1/6 of a 7404) down on your schematic. Add a wire from above and to the leftto the inverter's input. Now add another wire from the output of the inverter to above and to the right of the symbol.Now open the symbol editor and swap the two pins (input and output) on the symbol you just used. When you exitthe symbol editor and return to the schematic, it will look just as it did before you edited the symbol, and your schematicis now wrong,because the wires did not maintain connectivity to the pins to which you connected themand yourinverter is now backwards in the circuit, because the input and output definitions are attached to the pins, not the triangleor circle or where they are on the symbol.What happens when you wire to a pin in KiCAD is that you are telling it that you want the wire to end at the samecoordinate in space as the pin occupies. But - and this is the key - schematic capture doesnotmake the wireand the pin part of the same electrical node; that is, they are not in the same net. Yet they have theappearanceofbeing connected. This is what I call a faux connection. Others here argue that this is not the case, but they're hair-splitting and triangulating their answers and playing with language. Regardless of their protests or what we call thesethings, the schematic capture front end you're interacting with is not aware that the connections you (thought you)were making have any meaning. If they did, when you swapped the two symbol pins as I described above, the wireswould have rubberbanded, with the one on the left following the input pin over to the right side, and the one on theright that you connected to the output now stretched to the left side. This is the simplest case I can offer to illustratewhat is wrong.Certainly, after you're done drawing your schematic, at some point the software will generate the netlist to be passedto packaging and ultimately to layout. But because schematic capture isn't creating that netlist in real time as youdraw, it's unable to stop you from making mistakes that you would not be able to make if the netlist were real.Here's something else to try. Put down a symbol that has a bunch of pins. Now start a line outside of the symboland stretch it across (or along the side of) the symbol so that it passes over a few pins before you end the wire onthe other side of the part.Do notclick on the pins as you pass over them. When you're done, you will havea wire thatappearsto connect to the pins it crosses - again, faux connections, because they look like they'reconnected - but by not clicking on them to inform schematic capture that you want those pins to be part of this net,they won'treally, intentionallybe connected to them. Or, to my point, when you postprocess the drawing KiCADwill happily join them all together in your layout, when aresponsibleschematic editor would instead recognizethat since you didn't click on them, you probably don't want them to be connected, so it doesn't connect them andinstead flags them as warnings. (KiCAD - The Irresponsible Schematic Editor!I should see if I can trademark that.)My argument is for schematic capture that is absolutely unambiguous and does not permit faux connections withoutflagging them as errors. This is the simplest thing in the world to do: Connecting a wire to a pin requires the explicitact of clicking on that pin during the course of drawing the wire, and that act creates an entry in the netlist (or whateverthehellelse anyone wants to call it) that says "these two entities are now part of the same electrical node (or net)and they are not to be separated or merged with another entity (wire, pin, or net) without explicit direction from theuser." There are no accidental connections such as those that occur when elements of the schematic are moved andthings happen to cross other things - those crossings are warning flagged rather than ignored with the possible outcomethat they get merged later by a postprocessing netlisting that doesn't know any better. Similarly, if you want to disconnectsomething previously connected, it requires a specific "disconnect" operation - you have to delete the line segment thatyou previously connected to the pin (or to another segment) or highlight (select) the pin and tell it to disconnect. Inother words, the schematic capture front end is as aware as it can possibly be what your connectivity intentions are,because you told it at every step what you wanted those connections to be - and anything that doesn'tlooklike it is inkeeping with what you want is error-flagged. No faux connections.And this is why real schematic capture doesn't need both a move and a drag: Because it knows which wires are reallyelectrically connected to which pins, it doesn't permit faux connections, which look like they're connections but don't actlike they are. So you move the symbol and the wires rubberband with it because moving a symbol does not in any wayimply disconnection, and it knows which wires stick to which pins because you told it so. I'm about to speculate, ofcourse, because I wasn't there and I haven't examined the commit logs, but drag has the strong appearance of a hackthat was added because move didn't bring the "connected" wires along because they aren't really connected becausethere's no netlist to respect. So instead of correcting the underlying deficiency...The way KiCAD does it is an abrogation of the "A" in CAD and in EDA. According to what we've been told, "we aren'tgoing to do that because that's not our paradigm", which fails to explain what their "paradigm"is. This is where we runinto dogma: They refuse to do it without explaining why their approach isin any wayas good as or better than a modelthat does real-time error-checking for you and thus reduces both the time you have to spend doing it yourself or fixing themistakes later that should have been caught/prevented in schematic capture.Does that help?

author: propellerhead
author_rank: Regular Contributor
timestamp: May 05, 2023, 10:54:31 pm
content: Quote from: tooki on May 05, 2023, 10:19:10 pmOkay, replying to this posting will be a lot more tolerable than those prior in which you quoted six-deep. Do you really expectpeople to parse all that noise? And I really, once again, could do without the extraneous personality (defect) analysis. You mayhave heard the phrase "Sure, he's an asshole. But he'sourasshole." That's my friends describing me, and in case you'refinding it hard to parse, it means that as much of a pain in the ass as I am, I'm right more often than not and overall worthputting up with. Now, can we set all that peripheral shit aside and focus?I've made repeatedly clear that the interaction model I'm citing is simply the example I'm most familiar with that offers aneffective contrast to KiCAD's failure to do its job. I didn't write it, and I'm not here to champion Mentor as the One True Pathor anything else. But itdoesillustrate what's required of the job. If you don't agree, why aren't you suggesting a similarlyfunctional alternative rather than arguing here to little or no positive outcome with those who essentially agree with me? Dowhat you're telling me I should be doing rather than just pointing out what an asshole I am for failing to do it.

author: tooki
author_rank: Super Contributor
timestamp: May 05, 2023, 11:48:55 pm
content: Quote from: propellerhead on May 05, 2023, 10:54:31 pmHow magnanimous of you… 🙄Quote from: propellerhead on May 05, 2023, 10:54:31 pm1. It’s not noise, it’s detailed analysis. Detail takes time and space.2. Yes, someone who actually cares about the outcome would read it.Some of your replies, like the one above to ebastler, are just as long and detailed (and rightly so). The only reason you’re attacking me for the length of my posts is because they don’t say anything you want to hear.Quote from: propellerhead on May 05, 2023, 10:54:31 pmIt’ll stop whenyoudecide to focus only on the content and stop with the jabs and insults and condescension to me and everyone else. But I doubt you will, since you’ve been exuding that arrogance from every pore literally from the very post you ever made on these forums.Quote from: propellerhead on May 05, 2023, 10:54:31 pmEnglish is my native language, I have no trouble parsing your sentences when they are cogent, like in this reply.Anyhow, your friends must be infinitely more patient and forgiving than I am (and than you are!!), or are gluttons for punishment, or you bring something enormously valuable to the table. But based on your interactionshere, I am disinclined to believe that you are right as often as you think you are. Actually being right a high percentage of the time requires being open to new information, and that is most decidedly not something you are.Quote from: propellerhead on May 05, 2023, 10:54:31 pmI did.It’s in that “lengthy sophistry of very poor quality” that you dismissed without actually reading it, or if you did read it, that you casually dismissed because it wasn’t the same solution you envision. I don’t know which, since you declined to comment on it other than the snideQuote from: propellerhead on May 05, 2023, 03:15:45 pm

author: propellerhead
author_rank: Regular Contributor
timestamp: May 05, 2023, 11:57:13 pm
content: Quote from: tooki on May 05, 2023, 11:48:55 pmSo, because I'm here to discuss KiCAD's schematic capture, and notme, I'mreallydone with you now.

author: tooki
author_rank: Super Contributor
timestamp: May 06, 2023, 12:30:42 am
content: Quote from: propellerhead on May 05, 2023, 11:57:13 pm’twasyourdecision to attack me instead of replying to the on-topic discussion I posted earlier. You could have chosen to engage with the content and maybe say “oh, sorry for being unclear, I simply meant this…” You chose to ignore the content and attack me instead, so that’s on you, dude.

author: hpw
author_rank: Frequent Contributor
timestamp: May 07, 2023, 10:54:04 am
content: Quote from: hpw on May 05, 2023, 04:03:46 pmThe behavior orautomatic snappingis on Schema & PCB, while the underlying logic do not deal with the NETLIST at all.In other words, the object connections would produce the NETLIST as on Export procedure.The only solution so far in case of rotating / mirroring circuits is, at first, to disconnect/delete ALL related connections to the involved circuit.Currently there is no simple solution on rotating / mirroring nor any blocking(s) on that action, if a circuit has any connection(s).Hopefully, there are no any other issue(s) as on rotating / mirroring. Or please provide information(s).Hp

author: PlainName
author_rank: Super Contributor
timestamp: May 07, 2023, 12:05:46 pm
content: QuoteI don't often remake symbols mid-design in the schematic, but where I do that kind of change on the PCB I do tend to disconnect any tracks before the operation. I far prefer a blank space into which I will re-route the tracking than the mess of rubber-banded connections that's just a, well, mess. I think for the schematic, in the example where a pin is moved, I'd just naturally check afterwards that things are as they are meant to be.---1. Thinking back, mid-design symbol changes seem to fall into two camps: small ones (like in the discussion) which I make before connecting stuff because they're tend to be obvious, and big ones where the symbol will be split into two or more smaller parts (or vice verse). In the latter it's just simpler to vape the connections and do them all again.

author: ebastler
author_rank: Super Contributor
timestamp: May 07, 2023, 01:08:07 pm
content: Quote from: hpw on May 07, 2023, 10:54:04 amYou do not really state what you want to achieve. But assuming that you want to mirror or rotate a component which already has connections:Select the component, enter drag mode (G), then mirror (X/Y) or rotate (R) to taste.Kicad does not seem to support the new "orthogonal" dragging of connections for mirror and rotate operations (why not?!), but it does leave all connections intact, using diagonal lines to show them.To my knowledge, editing a symbol mid-flight is the only operation where Kicad doesnotoffer any option to do this without changing the schematic connections as a side effect. Since symbol editing is done by a different application, it happens "under the radar" from Eeschema's perspective, and Eeschema cannot keep track of the connections. Hence in this specific case propellerhead's statement seems to be correct that Eeschema would need a different data structure to stay on top of things.

author: hpw
author_rank: Frequent Contributor
timestamp: May 07, 2023, 01:23:21 pm
content: Quote from: ebastler on May 07, 2023, 01:08:07 pmDid the simple test again...Actions: G hit, mirror, than shifting .. see attachedit gets as this as already posted while after the mirror action the snapping gets into account what results in a mess!!Hp

author: ebastler
author_rank: Super Contributor
timestamp: May 07, 2023, 01:31:33 pm
content: Quote from: hpw on May 07, 2023, 01:23:21 pmYour result is certainly different from the one I get. Did you do the mirror operationwhile still in drag mode, as I described? The mirror and rotate operations work differently within this mode.Also, which version of Kicad are you using? I tried 6 and 7, they behave the same in this respect.Edit: Oh, hang on! I tried this again with a different footprint and surrounding schematic, and did indeed run into problems. Seems I was lucky with the footprints I dragged around before, where I did not run into any "collisions" with the surrounding wiring.Ok, so this does not always work. Andifit goes wrong, the results can be quite messy and confusing indeed...

author: hpw
author_rank: Frequent Contributor
timestamp: May 07, 2023, 02:42:35 pm
content: Quote from: ebastler on May 07, 2023, 01:31:33 pmYes, some success if you drag all, all gets mirrored....but how on a large/complex schematic/PCB... as impossible.Hp

author: 2N3055
author_rank: Super Contributor
timestamp: May 07, 2023, 03:06:24 pm
content: Quote from: ebastler on May 07, 2023, 01:31:33 pmThat was my point..

author: propellerhead
author_rank: Regular Contributor
timestamp: May 07, 2023, 08:25:13 pm
content: Quote from: PlainName on May 07, 2023, 12:05:46 pmThe in-between case in schematic capture is where I find the greatest value in proper wire-to-pin connectionssurviving the symbol edit process: Where you need to make relatively simple changes to a high-pin-count symbol.I mean, you always do your best to get the symbol right in the first place and visualize the placement and organizationon the sheet, but as the saying goes, "Everyone has a plan until they get hit in the mouth." Once you actually startdrawing it it's not at all uncommon for a completely different organization to reveal to you that it's more readable.So if I'm bringing a bus or two and a handful of discrete (control) signals off of a CPU or big FPGA or something, andI find, for example, that I now want to draw the address bus going up the drawing instead of down, the change ofdirection for that bus ripper is going to have implications for the drawing of those adjacent signals. So if I open upthe symbol and move that bus 50, 100, 200 thou to make room for routing those other signals, suddenly I've got32 pins that have changed location. Let's see, now... do I want those pins to rubberband so I can just move theripper and line everything up again, or would I prefer that all of those pins are now either dis- or mis-connected?Arriving at the right answer shouldn't take a lot of cycles.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 08, 2023, 03:51:42 am
content: The workaround for workarounds is to not break shit unnecessarily.

author: 2N3055
author_rank: Super Contributor
timestamp: May 08, 2023, 05:27:39 am
content: Quote from: propellerhead on May 07, 2023, 08:25:13 pmThat is exactly the scenario that I mentioned.

author: 2N3055
author_rank: Super Contributor
timestamp: May 08, 2023, 05:36:52 am
content: Quote from: karpouzi9 on May 08, 2023, 02:21:23 amUse of net labels is INSTEAD of schematic connections. It has its use where it makes sense, like power distribution or signal busses...What I have seen by people where "schematic diagram" has no wires at all but only net labels is not a diagram. That is literally like you would write a netlist manually (like we used to do for SPICE)... You can do that in excel, that is taxative list, not a schematic DIAGRAM.

author: woody
author_rank: Frequent Contributor
timestamp: May 08, 2023, 10:38:44 am
content: Quote from: 2N3055 on May 08, 2023, 05:36:52 amAs a Kicad user I am interested in this discussion and find it (apart from the incidental throat-ripping) quite enlightening. The way I use Kicad (and used Eagle before that) is that I make use of labels extensively. I only use wires in isolated parts of the schematic. These connect to the rest using labels. CPU's and the like only have labels. The same labels I use when designing the firmware and naming pins. That might be like writing a netlist manually but I find that the mixing of labels and actual wires on a diagram gives me a very good overview of what I am trying to achieve when I draw a schematic. Much better that having wired connections all over the place. Detail where I need it and helicopter view where I don't. Mind, I'm not designing the next i9 motherboard, so maybe that is why this works for me.And AFAIK I never ran into the problems described. If I move, rotate or mirror a component I never use rubberbanding. Just delete connections and rewire. if I change pins around on a symbol in a library I delete it in the schematic, replace and rewire it. I never ended up with unwanted connections.But it is nice to read how other EDA software tackles problems that I did not know existed

author: 2N3055
author_rank: Super Contributor
timestamp: May 08, 2023, 12:46:29 pm
content: Quote from: woody on May 08, 2023, 10:38:44 amGood discussion is good. Both sides learn....Analog electronics is drawn with wires. Buses and digital with buses and Net labels. Power with net labels and some drawn parts..It is always mixed. But schematic diagram should at least appear to graphical diagram. So you can follow the signal down the wire....If you have a pin that is connected to 22 other pins with only net labels scattered across A3 diagram full of chips... On screen you can use highlight net... If printed, it is useless.... hence wire going to all of them..... Also, wth time you develop intuition looking at diagrams.. You can recognize patterns.. There are many reasons why it was invented and is standardized as is......

author: propellerhead
author_rank: Regular Contributor
timestamp: May 08, 2023, 02:51:20 pm
content: Quote from: 2N3055 on May 08, 2023, 05:36:52 amI agree. It's useful sometimes, but it's very annoying to have to chase labels around a diagram and searchwhere the wire is that this one connects to. As I think I may have mentioned earlier, I've seen extreme casesin which what should have been a few pages of proper schematics turned instead into abinderfull of 11"x17"sheets, each of which had a handful of gates in which the inputs and outputs were labeled. It was completelyaccurate, and also completely unreadable and useless. And people do get carried away even on small MCUprojects and refuse to draw a dozen lines because they habitually label the signals.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 08, 2023, 03:20:32 pm
content: Quote from: woody on May 08, 2023, 10:38:44 amYou've been conditioned to accept substandard tools. The "A"s in CAD and EDA stand for "assist" and"automation". Software that assists and automates would not make you do all that deleting, replacing, andrewiring. Instead it maintains the connections and all you need to do is a little visual tidying-up rather thanredoing work you've already done.Demand^H^H^H^H^H^HExpect better.

author: PlainName
author_rank: Super Contributor
timestamp: May 08, 2023, 04:45:29 pm
content: QuoteActually "aided". Essentially the same meaning, but helps your argument to not have obvious faults in itQuoteI question this. Sure, the ideal is that the tool does everything for you, but even if it just acted as a simple drawing package it would be CAD since it aids in drawing. There is an expectation that some minimum level of automation would be appropriate for an electronics design tool, but that level can be a relatively low bar. I would suggest that assuming 'CAD' means 'all singing, all dancing' is seeing things that won't necessarily be there.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 08, 2023, 05:11:30 pm
content: Quote from: PlainName on May 08, 2023, 04:45:29 pmOver the years "aided" and "assisted" have been used interchangeably, so it's not really a distinction worth pointing out.QuoteEvery CAD system I've ever used has saved me that unnecessary effort, so it's not a big ask.I simply refuse to use schematic capture that doesn't maintain connectivity and behave that way.

author: ebastler
author_rank: Super Contributor
timestamp: May 08, 2023, 05:48:04 pm
content: Quote from: propellerhead on May 08, 2023, 05:11:30 pmYes, I am sure they have been used interchangeably. It just has not happened all that often.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 08, 2023, 06:39:29 pm
content: Quote from: ebastler on May 08, 2023, 05:48:04 pm

author: ebastler
author_rank: Super Contributor
timestamp: May 08, 2023, 06:41:46 pm
content: Pot, kettle, black?

author: propellerhead
author_rank: Regular Contributor
timestamp: May 08, 2023, 06:45:41 pm
content: Yup! Gotta keep a sense of humour about these things!

author: TimFox
author_rank: Super Contributor
timestamp: May 08, 2023, 09:14:54 pm
content: In "CAT scan" for a medical x-ray tomographic scanner, the "A" stands for "axial".The popularity of "CAD" has misled people to think it stands for "assisted".

author: propellerhead
author_rank: Regular Contributor
timestamp: May 08, 2023, 09:30:59 pm
content: And NMR got renamed MRI because the science-ignorant public freaked out over "nuclear"...

author: TimFox
author_rank: Super Contributor
timestamp: May 08, 2023, 09:37:38 pm
content: NMRI was re-named MRI.NMR is still the correct term for its use in chemistry labs for spectroscopy.Personally, I prefer the German term "Kernspintomographie" = nuclear spin tomography.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 08, 2023, 09:54:44 pm
content: Those wacky krauts have a word for everything!

author: SiliconWizard
author_rank: Super Contributor
timestamp: May 08, 2023, 11:12:07 pm
content: How did things go from KiCad to MRI?Anyhow, nuclear bad, AI good!Don't you want some AI in KiCad?

author: thinkfat
author_rank: Unknown
timestamp: May 09, 2023, 06:06:36 am
content: Quote from: propellerhead on May 08, 2023, 09:54:44 pmUs krauts, we like to be precise, and it shows.

author: woody
author_rank: Frequent Contributor
timestamp: May 09, 2023, 07:16:52 am
content: Quote from: propellerhead on May 08, 2023, 03:20:32 pmI was going to react to the 'demand' this morning, but overnight it changedI am not gonna demand anything from Kicad. It is a tool. It has its shortcomings. I learn about these, work with them and find myself left with a very usable piece of software that gets my job done. That gets even better every year. For a good price, and, more important, without the despicable ransomware business model some alternatives I paid a lot of money for in the past have embraced.Kicad? I like it. And anyway, wasn't it a poor carpenter that blamed their tools?

author: propellerhead
author_rank: Regular Contributor
timestamp: May 09, 2023, 04:01:15 pm
content: Sure, people like to say that, and you might even agree... until you have to put down 0402 passivesand all you have is a pair of fencing pliers and a blowtorch.Honestly, I really do sympathize with anyone trying to make a choice in a world of SaaS and othernew forms of ugliness, and KiCAD (and other open-source packages, I'm sure, but am not aware of)offers a badly-needed escape hatch from that world. But that doesn't make (all of it) itgood.I'm the first to admit that since I actually used it so little, I have no idea how brilliant the layoutand other portions of the package at that end of the design chain may be. In fact, one might makethe argument that since no package is (or can be) perfect, if you're going to make compromises,theleastdesirable place to make them is in schematic capture, because people (like me) whoare offended, alienated, and driven off by the first step in the design flow will never have a chanceto find out how good the rest is.If it were me, then, inneedof a new package (remember, I'm happy with what I've got but wouldlike to run a more popular and modern - and preferably open-source - packageas well), I'd probablygo for a bootleg/cracked version of something older, perhaps Altium. I've never felt the drive to runthe "latest and greatest"; that early-adopter bleeding-edge stuff has always been a trap.

author: nctnico
author_rank: Super Contributor
timestamp: May 09, 2023, 07:16:37 pm
content: As other have noted: Altium's schematics capture isn't better in any way compared to Kicad. For starters: try to get rid of Altium's default Times font they use for pins and labels. Times is by far the worst font for that purpose if you want to print readable schematics and Altium makes it nearly impossible to change it

author: propellerhead
author_rank: Regular Contributor
timestamp: May 09, 2023, 07:35:53 pm
content: I'm in no rush. It's something I might get around to... or not.

author: TimFox
author_rank: Super Contributor
timestamp: May 09, 2023, 08:08:58 pm
content: Before I retired, I did my schematic capture (after working hours) on Orcad.When I lost access to that, I downloaded Kicad for my schematic capture (I don't do PCB layout).My first point on the learning curve was the difference between "Move" and "Drag", and the appropriate keystrokes, which differed from Orcad.Having learned that, I proceeded to use it.

author: tooki
author_rank: Super Contributor
timestamp: May 09, 2023, 08:41:01 pm
content: Quote from: nctnico on May 09, 2023, 07:16:37 pmWhile it is a bit of a pain to eliminate Times New Roman (mostly in that there are a LOT of defaults you need to change once, and then setting the document font once), once you’ve done it, it’s more or less gone.As for the schematic capture: I quite disagree more. I find Altium’s schematic capture to be appreciably better. Heck, until just now with version 7, it couldn’t even do basic dragging without turning all the attached connections to shit (rubberbanding instead of orthogonal). That’s why KiCad schematics so often rely ruthlessly on ports, rather than connections.

author: SiliconWizard
author_rank: Super Contributor
timestamp: May 09, 2023, 09:30:14 pm
content: Quote from: tooki on May 09, 2023, 08:41:01 pmYeah, anyway, while I do prefer a sans serif font for schematics, even Times looks cleaner and more readable than the default KiCad font. IMHO. I know many people would disagree.KiCad's font looks particularly horrific (in the sense of unreadable) atlow zoom levels, and that's an objective fact though.But KiCad v7 allows using any font, although it currently adds significant lag (a known issue as of now) and the rendering is so-so.It's really down to the on-screen rendering rather than the font itself - even the standard KiCad one looks much better printed than on screen.Other than that, Altium's schematic capture is better IMO. KiCad's one has become usable, certainly, and I do like the hierarchical sheets which allow a lot more than just multi-sheet schematics.But dragging stuff still is rather meh.

author: Uky
author_rank: Regular Contributor
timestamp: May 10, 2023, 05:55:17 pm
content: BTW...Those who (like me sometimes) have difficulties distinguishing an O for an 0 could try using "Andale Dot" font.In that font, the number 0, zero is represented with a dot in the center of the oval...

author: coppice
author_rank: Super Contributor
timestamp: May 10, 2023, 06:02:24 pm
content: Quote from: Uky on May 10, 2023, 05:55:17 pmThese things don't bother me. I have zero tolerance.

author: shapirus
author_rank: Super Contributor
timestamp: May 10, 2023, 06:04:22 pm
content: new kicad user here.tried to place a resistor, a cell, a switch and connect them with wires. then tried to figure out how to run simulation. 15 wasted minutes later: apt-get purge 'kicad*', back to (pirated) proteus under wine. works like a charm!this thing was most definitely created by a brain-damaged person, and, unlike the case of vim and TeX, there is no positive connotation in that.

author: james_s
author_rank: Super Contributor
timestamp: May 10, 2023, 06:53:34 pm
content: Quote from: shapirus on May 10, 2023, 06:04:22 pmYou spent only 15 minutes trying to learn to use a complex piece of software and then decided there's a problem with the software and dumped it? That says a lot more about you than it does about the software. Try to learn to use Solidworks or Photoshop or Blender or any other similarly complex software in such a short time and you'd have the same problem. For those of us that even occasionally use the software for paid jobs pirated tools are not an option.

author: woody
author_rank: Frequent Contributor
timestamp: May 10, 2023, 07:47:24 pm
content: Quote from: shapirus on May 10, 2023, 06:04:22 pmI asked ChatGPT: Place a resistor, a cell, a switch and connect them with wires in kicad and then simulate the schematicHere is what it said:As an AI language model, I do not have the ability to perform physical actions such as placing components in Kicad. However, I can provide you with a step-by-step guide on how to create a circuit with a resistor, a cell, a switch, and wires in Kicad and simulate the schematic using a SPICE simulator.Open Kicad and create a new project.In the schematic editor, select the "Place a Component" tool from the toolbar or press the "A" key.From the component library, search for "Resistor" and select the resistor symbol you want to use. Place the resistor symbol on the schematic editor by clicking on the desired location.Repeat step 3 for the "Cell" and "Switch" components.Next, select the "Place a Graphic Line or Wire" tool from the toolbar or press the "W" key.Draw a wire from the positive terminal of the cell to one end of the resistor.Draw a wire from the other end of the resistor to one of the terminals of the switch.Draw another wire from the other terminal of the switch back to the negative terminal of the cell.Save your schematic.Click on the "Generate Netlist" button in the toolbar to generate a netlist for the circuit.Open a SPICE simulator, such as LTSpice or Ngspice, and create a new schematic.In the SPICE simulator, select "File" and then "Import Netlist". Navigate to the location where you saved the netlist from Kicad and select it.Verify that the imported netlist matches the circuit you created in Kicad.Add the appropriate SPICE models for the components used in your circuit. If you're unsure which models to use, you can often find them online by searching for the component name and "SPICE model".Set up your simulation parameters, such as the simulation time and step size.Run the simulation and view the results.Note: In order to simulate a circuit, you need to have a good understanding of how the components work and how they are connected. If you're new to circuit design, it may be helpful to consult resources such as textbooks or online tutorials to gain a better understanding of circuit theory and SPICE simulation.

author: shapirus
author_rank: Super Contributor
timestamp: May 10, 2023, 08:06:45 pm
content: Quote from: james_s on May 10, 2023, 06:53:34 pmyes, that's precisely what happened.complex software does not have to be horribly difficult to get started with. besides, there is nothing complex in drawing a very basic circuit.for comparison, i needed literally 5 minutes to get started with proteus: its UI follows the industry standard principles of user interaction and has no apparent goal of preventing the user from using it intuitively, which makes it easy to get started with, but, at the same time, not less powerful when it comes to more complex tasks.obviously, considerable effort of a team of professionals in the respective area was put into getting it right.in addition, proteus can runinteractivesimulation, which is a killer feature, at least, for a hobbyist like me who is still learning. but that's beyond the scope of its comparison with kicad, because the latter never claimed it could do it.with proteus, I build a circuit, add voltage/current probes, add virtual voltmeters or ammeters or an oscilloscope, hit the obvious green triangle "play" button, and it starts and works right away, unless there is a flaw or a transitional condition in the circuit that it cannot simulate.why doesn't kicad have this very obviously necessary feature? I don't know.kicad obviously works for some (or rather many) people. good for them. but I find it to be a failure, or at least failing at making simple things simple, which any properly designed software must do.on the other hand, kicad is free, proteus isn't, so again it's not a fair comparison. however, there are tools (however less powerful) which are free to use and still don't fail at UI/UX like kicad does, such as some online simulators: falstad, everycircuit, and maybe there are others.Quote from: james_s on May 10, 2023, 06:53:34 pmgood point!now, I have not had a chance to use solidworks or blender, but I did use photoshop. takes zero time to get started with (of course, complex tasks take more time to learn). and guess what, there is something to compare it with... that's right, you guessed it: gimp! yet another example of "do a research on the best practices in UI/UX and implement the opposite".that being said, however, I can use gimp. I had to learn it because no alternatives (running in linux) existed at that time. yet I still call it a good example of how not to design a picture editor.Quote from: james_s on May 10, 2023, 06:53:34 pmgood point too, but my case is occasional hobby usage. yes I'd much prefer not to use a pirated copy. I'd even buy it if it had a hobbyist license for a reasonable price, say, $50 or $100, and I'd do it even more willingly if it had a native linux build. but starting at $7k? really? are you kidding me? don't be surprised that your software is pirated.p.s. nevermind. having read the discussion in the last few dozens of posts regarding how the schematic editor works w/r/t netlist and connections, I understand that the authors of kicad implemented something very contrary of what one would expect from an electronics CAD tool.in other words,it's not worth the painof trying to learn it.many thanks to @propellerhead for taking the time to explain what I would have run into, should I have decided to keep learning how to use it for the purpose of giving a FOSS CAD a chance. it's not a case of a tool being "not ideal", but it's a pretty good implementation of wrong approaches and goals, and since "it's not a bug, it's a feature", it's never going to be fixed.

author: Monkeh
author_rank: Super Contributor
timestamp: May 10, 2023, 08:15:35 pm
content: Quote from: shapirus on May 10, 2023, 08:06:45 pmBecause you haven't written it yet.

author: shapirus
author_rank: Super Contributor
timestamp: May 10, 2023, 08:37:50 pm
content: Quote from: Monkeh on May 10, 2023, 08:15:35 pmand I never will, because of the amount of effort it requires to get started and do simple things. it fails to get new users quickly addicted to it, thus losing potential future contributors.this is, unfortunately, a fundamental problem of many FOSS projects.

author: John B
author_rank: Frequent Contributor
timestamp: May 10, 2023, 08:49:58 pm
content: I don't know how you can go through life with the mentality that if it's not easily achieved in 15 mins then just give up. No complex activity is going to be easy after 15 mins. At least watch a few tutorial videos to get started and get a feel for the workflow, otherwise I don't really think you wanted to give it a chance at all.

author: james_s
author_rank: Super Contributor
timestamp: May 10, 2023, 09:33:25 pm
content: Quote from: shapirus on May 10, 2023, 08:06:45 pmThe problem here is not with the software, the problem is that you're clueless and refused to spend anywhere near the time required to learn to use a tool then decided that tool was crap. If you're happy stealing Proteus and it works for you then keep doing that, but many thousands of people are able to use KiCad without the problems that you had, because they have an attention span longer than that of a gnat and take the time to use it. I don't find anything difficult about drawing a very basic circuit in KiCad, the software works just fine, it is you that have the problem as you are expecting it to work just like a $7,000 product that you stole.

author: james_s
author_rank: Super Contributor
timestamp: May 10, 2023, 09:36:21 pm
content: Quote from: shapirus on May 10, 2023, 08:37:50 pmThey don't want you as a contributor anyway. They need people that can stay focused and that are willing to take the time to learn to do something properly rather than getting bored and wandering off the moment something shiny catches their eye. It's also not useful to have somebody just complaining about something but refusing to do anything to improve it. It's pretty obvious that you just came here to complain.

author: SiliconWizard
author_rank: Super Contributor
timestamp: May 10, 2023, 09:53:44 pm
content: Quote from: shapirus on May 10, 2023, 08:37:50 pmThe fundamental problem of FOSS projects is that they are not commercial projects. In other words. Very insightful, thanks.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 11, 2023, 12:52:22 am
content: Quote from: james_s on May 10, 2023, 09:36:21 pmThis statement is about eight kinds of wrong, beginning with being predicated on a false equivalency: Thatbeing an expert user somehow equates with being an expert - or even a merely competent - programmer.Don't make me go on.

author: LazyJack
author_rank: Frequent Contributor
timestamp: May 11, 2023, 06:25:33 am
content: I don't know. This is either an obvious trolling or some really clueless user. When I first met KiCAD it took me a couple of hours from installing to send the gerbers for manufacture.This whole thread is starting to resemble a Conversation with Zuzu Petals.

author: james_s
author_rank: Super Contributor
timestamp: May 11, 2023, 06:32:59 am
content: Quote from: propellerhead on May 11, 2023, 12:52:22 amYou think they want someone contributing that can't even be bothered to spend more than 15 minutes to learn how to use the software at even the most basic level and instead just brags about their own incompetence, laziness and felony theft? I never said anyone needs to be an expert user, not even close, but come on, 15 minutes? Somehow I don't believe someone with that short of an attention span has invested anywhere close to the time required to be a competent software developer. I've worked with a thankfully very few people that had that sort of impatience and they had a net negative productivity because we spent more time coaching them through redoing work they had half assed than it would have taken to just have one of the other devs take it.But, they can feel free to prove me wrong by posting some of their projects.

author: shapirus
author_rank: Super Contributor
timestamp: May 11, 2023, 06:53:06 am
content: why is it not at all unexpected to receive personal attacks in response to criticism about the obviously flawed UI of a product that badly needs attention of a proper UI/UX professional? it should also be noted that I am not alone in this.no, sorry, gentlemen, when the software product is well designed, it does not require new users, who already have significant experience with other similar products and with computer systems in general, to invest any considerable effort into learning and forcing themselves to change their habits developed over decades of using products that follow the UI/UX practices that are considered standard in the industry.if it does that, then the problem is in the software, not in new users trying to get started. the fact that it is free and/or open source does not cancel the fact that the user experience it provides is poor.of course, I cannotdemandthat a FOSS product absolutely must have a professionally designed UI or anything else, and, for those who haven't noticed, I don't do it. I merely state that this product,unlike some, if not many, othersfails to provide an easy start for new users, and for some users, who have alternatives, it is a sufficient reason to dump this product altogether.p.s. w/r/t "stealing" software. this is an incorrect term. it's not stealing, because stealing makes someone lose something that they own, which is not the case with pirated software: if someone makes a copy, the original does not disappear.it's not even lost profit, because, in my case, I wouldn't pay for this software anyway: at this ridiculous price point, it's either pirated or nothing, and it brings up an interesting question of what of these two choices is actually more useful for its maker (remember how pirating windows 95 actually helped it to gain enormous popularity and finish off the competitor).

author: tooki
author_rank: Super Contributor
timestamp: May 11, 2023, 07:11:26 am
content: What’s so weird about this thread is that it somewhat had me on the side of defending KiCad, despite the fact that I have very mixed feelings about it.I’m a former UX professional, and IMHO KiCad gets lots of things wrong with regards to usability (which, as I have said many times before and no doubt will say many more times, is a really common problem in open source software). But it’s not horrible. What I find puzzling about it is how, despite having some fairly advanced features, in other areas it’s astoundingly basic. I’m a proficient Altium user, and whenever I need to work in KiCad, I get irritated at things that aren’t there (like really good alignment/snap tools). I’m sure that some things are simply it not being what I’m used to, but others really aren’t there. Something I use all the time in Altium that KiCad can’t do is editing multiple objects at once. That’s something so fundamental I am flabbergasted it can’t do it. (And yes, I’ve verified that it really can’t.)On the flip side, it’s fast, the resulting PCBs are good, and it’s free. That’s nothing to sneeze at, and the developers deserve credit for that.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 11, 2023, 07:22:35 am
content: Quote from: tooki on May 11, 2023, 07:11:26 amI don't understand. Can you explain that, svp?

author: thinkfat
author_rank: Unknown
timestamp: May 11, 2023, 07:36:15 am
content: Quote from: shapirus on May 11, 2023, 06:53:06 amTranslation: I have spent years getting proficient on a very particular set of tools and I can't be arsed to learn any other tool if it does not cater to my every need in just the same way. So I just declare my habits as "industry standard" and make derisive comments on the ("obviously" flawed) tools that don't comply with those habits.QuoteThe problem is then, IMHO, that the experienced users have accumulated habits and workflows that get in their way when starting with a new product. When I started using KiCad with version 5 (v4 was just too broken), I was still a beginner to electronic design, but I had used CircuitMaker before for designing my very first circuits and PCBs. I had no complaints about CM as an EDA suite, except for the libraries being completely broken and the footprints being a hotch-potch mess, forcing me to create my own footprints and even symbols many times, which is a common criticism. Switching to KiCad was not a "hitting the ground running", but I still mostly battled my lack of overall knowledge, not KiCad as a tool. But I was willing to learn.QuoteYou have very odd idea about theft. If you don't buy a ticket for the subway and use it nevertheless, on the argument that it's too expensive, maybe that is not technically "theft", but it's not legal, either.

author: JPortici
author_rank: Super Contributor
timestamp: May 11, 2023, 07:43:10 am
content: Quote from: propellerhead on May 11, 2023, 07:22:35 amAssign same value/constraint/field to multiple objects, last i've checked they have promised it's in the works because for now the solution is "just write a python script to do that"But it's been a while since i used any PCB cad, too many programming jobs latelyQuote from: thinkfat on May 11, 2023, 07:36:15 amit'sthemwho started the whole you wouldn't steal a car thingin that sense copying a file is not theft

author: thinkfat
author_rank: Unknown
timestamp: May 11, 2023, 07:48:03 am
content: Quote from: tooki on May 11, 2023, 07:11:26 amIndeed those are features that I dearly miss from CircuitMaker: Aligning a group of components, like, capacitors, to a common centerline, or distributing them equally along that centerline. Also, selecting a group of components and then editing a common attribute, like, a footprint, or changing the font size, or a pad attribute etc. KiCad _does_ have a method of editing attributes of multiple components, but it is much more limited and the scope is always the whole PCB, with some limited filtering for e.g. net classes.But those are just features, and given enough incentive, I'm sure they will appear eventually. The lack of certain features doesn't make for a "horrible" experience.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 11, 2023, 02:15:56 pm
content: Quote from: JPortici on May 11, 2023, 07:43:10 amHmm. I don't think I'll get this unless someone can offer an example.

author: MitjaN
author_rank: Contributor
timestamp: May 11, 2023, 02:33:26 pm
content: This is doable in pcbeditor via properties manager. In V7In schematics this is not possible currently. Neither can you use python, as python API is not available in schematics.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 11, 2023, 03:37:23 pm
content: You haven't actually described the action - what "this" is. But I think I get it - that you can select more than one thing and apply a common attribute (like trace width) to them - or maybe copy some attribute from one to the other. I'm not sure offhand where I mightfind that useful.

author: Gribo
author_rank: Frequent Contributor
timestamp: May 11, 2023, 05:17:17 pm
content: He demonstrated alignment of multiple parts (set their Y position value) and changing the width of multiple parts (set property). It is useful when migrating a design from TH to SMT - set all resistors to use 0603 footprint instead of axial. Personally, I like KiCAD and with DB integration, I can't really justify Eagle's subscription and customer abuse.

author: delfinom
author_rank: Regular Contributor
timestamp: May 11, 2023, 07:12:26 pm
content: Quote from: JPortici on May 11, 2023, 07:43:10 am7.0 has the properties editor in the PCB Editor, you can multi edit selected parts.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 12, 2023, 02:22:11 pm
content: Quote from: karpouzi9 on May 12, 2023, 04:11:45 amOh. Sothisis what they consider important in schematic capture. Bitch, pleez...

author: Simon
author_rank: Unknown
timestamp: May 12, 2023, 03:42:26 pm
content: Quote from: propellerhead on May 12, 2023, 02:22:11 pmLots of things are important. I used to have to draw wiring looms in schematic software. Having that ability sadly came too late as by the time it became available I had changed job. Different people have different needs, it's not all about you.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 12, 2023, 04:41:12 pm
content: Absolutely right, so don't try to make it about me.It's about making sure there's sound metal beneathbeforeputting on shiny coats of paint and pinstripes.

author: ebastler
author_rank: Super Contributor
timestamp: May 12, 2023, 05:10:04 pm
content: Quote from: propellerhead on May 12, 2023, 04:41:12 pmWhat else would the "bitch, pleez" part be about, if not about you? If you cannot control your kneejerk reactions, don't complain about people who don't appreciate your arguments.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 12, 2023, 05:39:51 pm
content: Perhaps you're not familiar with it - it's a specific cultural reference.https://youtu.be/EWVGJg-7jLQ

author: tooki
author_rank: Super Contributor
timestamp: May 12, 2023, 06:00:56 pm
content: Quote from: propellerhead on May 11, 2023, 07:22:35 amSchematic:Suppose the boss has said to change all the resistors from 0805 to 0603. I can do a Find to find and select all the 0805 resistors, then use the Properties to assign the 0603 footprint to all of them, all the while all their other properties remain unchanged.Or maybe I need to change an IC from one type to another, for example the old 7805 to a more modern LM1117-style LDO. I can prepare a schematic symbol with the same layout, then select all my 7805’s and replace the symbol with the LM1117.Or suppose the current limiting resistors for LEDs were first specified at 330 ohm, but user feedback says “the LEDs are way too bright” and we decide they need to be changed to 1Kohm. In KiCad, you’d have to change the value on each resistor one at a time. o_OPCB layout:Real world example I did this week: taking someone else’s board design (done by a novice in KiCad) and converting it to Altium, then tidying it up to prepare it for pick and place assembly. With 8 identical amplifier stages (4 channels x 2 stages), many changes needed to be made 8 times. (Had it been a from-scratch layout I would have used rooms to just replicate the layout, but it was already done…) I could select all 4 instances of a part in one column that need to be moved to a particular X coordinate, enter it, and all of them move there, even if they were at inconsistent X coordinates before. Their Y coordinates remain unchanged.Or let’s say that we want to change to a cheaper PCB manufacturing process, and thus need to adhere to a larger minimum via size. I can use the Find feature to find the ones that aren’t compliant and then assign them all a compliant size, even if there were multiple noncompliant sizes. (For example, suppose we now need 0.5mm minimum, and before we had both 0.3mm and 0.4mm. I can search for all vias under 0.5mm, select them, and then apply a 0.5mm via template.)PCB footprints:Often, manufacturer-supplied footprints have a “hard coded” paste mask reduction of 0, so for the general paste mask reduction rule to apply, the pads need to be changed from “manual” to “rule”. I can set the selection filter to just pads, Ctrl-A to select them all, then change the paste mask setting. No big deal to do one at a time on a 3-pin device, but a proper pain in the ass on a 32-pin part, and an RSI nightmare on a 144-pin part.You might remark that many of these things could be avoided by planning correctly from the start, and you’d be correct. But one doesn’t always have the luxury of starting a project from scratch, with the experience that comes with being a seasoned professional. One’s early designs have all sorts of sins, but also you’ll inherit designs from others, who used different defaults and had different preferences. So being able to clean things up easily is a big plus. (And I think it’s fair to say that a LOT of KiCad users are non-professionals who have neither the training nor experience to know how to do things correctly right from the start, nor have dedicated parts management people who will draw consistent footprints for them. So KiCad really should have this, because their users will need it!)

author: tooki
author_rank: Super Contributor
timestamp: May 12, 2023, 06:07:06 pm
content: Quote from: propellerhead on May 12, 2023, 05:39:51 pmThe fact that you chose that specific way of being flippantly dismissive doesn’t change the fact that you were flippantly dismissive. That’s what people were responding to, not the specific words used to do so.P.S. The phrase “bitch, please” predates the SNL skit by decades. As I gay man myself, I assure you, we were saying it loooong before!

author: propellerhead
author_rank: Regular Contributor
timestamp: May 12, 2023, 06:15:19 pm
content: Sure, I get all that and don't have any particular problems with it. Wrt your suggestion that I "might remark",in fact I wouldn't. As should have been clear from my previous comments about symbol editing (and my quotefrom Mike Tyson), the old Yiddish saying "Man plans, god laughs" is perfectly at home here. Things change,and good tools let you accommodate those changes gracefully.A few diffs in procedure from what I'm used to, of course. The change of resistor package that you offer as anexample does not, arguably, have any place in schematic - it's a layout thing, keeping in mind the power rating,of course. In my case it's something that would happen in "package". On a schematic a resistor is a resistor isa resistor (unless it's one of those goofy box things that the Euros like to use, where we North Americans like thezigzag, but no matter...), and if I want to change the physical form I'd pick a different geometry and/or part numberin the packaging process (en route to layout). Same thing with your LED resistor value. [edit: Actually, in Mentorit's a little more complicated than that because of the way that symbol attributes are handled, so it can be donea couple of different ways at various stages.] Your regulator example is different, though, because in that case thepinout changes when you make that move, and as we all know, connections (and not where the dot is on theschematic symbol) matter, so when I change that symbol the wiring changes are updated to match.I won't get further into the weeds on the layout stuff, but sure, the way you describe it working makes as muchsense as anything.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 12, 2023, 06:21:18 pm
content: Quote from: tooki on May 12, 2023, 06:07:06 pmOf course it was flip. And you're so easily trolled by it...QuoteWELL, I NEVER!Playing thehomocard now?Nah, just messing with you... we cool.

author: tooki
author_rank: Super Contributor
timestamp: May 12, 2023, 06:31:22 pm
content: Quote from: propellerhead on May 12, 2023, 06:21:18 pmI didn’t respond to it. I only explained why others responded.With that said, if you’re admitting to trolling: just knock it off and don’t waste people’s time with that. It doesn’t improve your reputation…

author: propellerhead
author_rank: Regular Contributor
timestamp: May 12, 2023, 06:39:25 pm
content: Quote from: tooki on May 12, 2023, 06:31:22 pmSo you're metaresponding. The difference is insignificant.QuoteAnd we were doing so well discussing matters of substance.Don't get your knickers in a twist just because I refuse to use those idiotic emojis.

author: ebastler
author_rank: Super Contributor
timestamp: May 12, 2023, 06:59:04 pm
content: Quote from: tooki on May 12, 2023, 06:31:22 pmI did respond to that post and, coming in late now, can only echo what tooki described more eloquently than I could.@propellerhead: If you want to be flippant, go for it, just don't expect people to value your opinion as much as they otherwise might. The fact that you delight in having "easily trolled" someone with your behaviour does, by the way, not make it better.Maybe you could help me understand the specific cultural reference behind your "propellerhead" moniker? I understand it has something to do with smarts, but is there also a hint at social ineptitude?

author: TimFox
author_rank: Super Contributor
timestamp: May 12, 2023, 07:13:11 pm
content: Propellerheads were a popular music duo formed in 1996, apparently named after a California slang term for computer nerds.Much earlier than that was a TV cartoon show about Beany and Cecil (the seasick sea-serpent), which featured a Beany-copter: a beany hat with a detachable propeller."It's the Beany and Cecil Show!Come go sailingWe've waited long enoughFor Beany and Cecil, Dishonest John, and Captain Huffenpuff.It's time for adventureHot Dog, some fun. Oh JoyWith Cecil the seasick sea serpentAnd good old BeanyBoy, boy, boy, boy, boy.Join us for fun with Beany and...Lovable, gullible, armless, harmless, ten foot tall and wet.Cecil the seasick serpentCreated by Bob Clampett.So come on kids, let's flip our lidsHigher than the moonCause now here's Beany and Cecil in a whole half hourBob Clampett Cartoon."source:https://www.lyricsondemand.com/tvthemes/beanyandcecillyrics.htmlFor a picture of a cute kid wearing the $1.25 Mattel version of the beany-copter, seehttps://toytales.ca/beany-copter-mattel-1963/

author: propellerhead
author_rank: Regular Contributor
timestamp: May 12, 2023, 07:13:59 pm
content: Quote from: ebastler on May 12, 2023, 06:59:04 pmHonestly, you're simply reading way more into all of this than is justified. The fact is, I have awicked sense of humour and won't tamp it down (or use those stupid emojis) just because somereaders may have trouble with the subtleties. Same thing with my handle here - it's just a shorthandfor what our Brit friends call a "boffin". As for the other part, I don't think a lot of people have a fulland proper appreciation for the extent to which many (most?) of the people in our business are "onthe spectrum".As for the gay thing, I neglected to previously apologize for not being, so I would like to now apologizefor failing to apologize. And if you don't get that joke, ask a canuck friend.

author: tooki
author_rank: Super Contributor
timestamp: May 12, 2023, 07:43:38 pm
content: Pro tip: saying it’s just humor doesn’t actually make assholish behaviorany less assholish.As for the spectrum: we areacutelyaware. If you had actually spent any meaningful amount of time in these forums before barging in with your chest puffed out, you’d know it’s been brought up many, many, many times.You aren’t the uniquely wiser-than-everyone-else sage you imagine yourself to be.

author: tooki
author_rank: Super Contributor
timestamp: May 12, 2023, 07:48:39 pm
content: Quote from: propellerhead on May 12, 2023, 06:39:25 pmNo, it’s a big difference.Quote from: propellerhead on May 12, 2023, 06:39:25 pmIf you want discussions “of substance”, then you need to stick to the substance and leave the trolling, arrogance, and unfunny “jokes” at the door. You reap what you sow. You forfeit the right to complain about being off-topic when you’re the one who takes it there!Quote from: propellerhead on May 12, 2023, 06:39:25 pmStop lying. I didn’t say anything about emoji use.

author: propellerhead
author_rank: Regular Contributor
timestamp: May 12, 2023, 08:49:03 pm
content: Oh. My. God. You'reexhausting. Talk about strangling all the fun out of harmless banter.You may be further out on the spectrum than you think.

author: tooki
author_rank: Super Contributor
timestamp: May 12, 2023, 09:00:26 pm
content: Quote from: propellerhead on May 12, 2023, 08:49:03 pmYour “harmless banter” is just idiotic annoyance.Quote from: propellerhead on May 12, 2023, 08:49:03 pmGiven that I have saidnothingabout where on the spectrum I might land, you havezeroright (or point of reference) to make any claims about it. (Unlike me debunking your explicit claims of having intellect so superior that it supposedly makes up for your rotten personality.)

author: Simon
author_rank: Unknown
timestamp: May 12, 2023, 09:05:12 pm
content: Quote from: propellerhead on May 12, 2023, 05:39:51 pmI don't get the reference, if that is your culture, well what can I say? does, "bitch please" cut it ? as an international forum "cultural references" don't really work, particularly that sort of pathetic crap. How about, "get out of here" ? does your taste in crap TV translate that clearly enough?

author: Simon
author_rank: Unknown
timestamp: May 12, 2023, 09:08:53 pm
content: Quote from: tooki on May 12, 2023, 09:00:26 pmI think he debunked that himself with his "cultural reference"

author: nctnico
author_rank: Super Contributor
timestamp: May 13, 2023, 09:55:07 am
content: Quote from: tooki on May 12, 2023, 06:00:56 pmNot only that. A feature I use often in Orcad is a table view (called part manager) with all the components which can be sorted in various ways. When sorted by value it is super handy to do part value optimisations. For example: if there are 2 3k9 resistors to set a divider and 10 4k7 resistors used for logic pull-ups, it makes sense to change the pull-ups to 3k9 as well. And the same for component sizes. Sometimes I copy parts of a schematic as well but some designs are 0402 and others are 0603. The part manager is a huge help to get a good overview. WIth the component database behind it, the component changes not only change the footprint but everything that is needed to create a correct bill of materials. Schematic entry is not just about creating a netlist but it also plays a huge role in the logistics side of having boards produced.

author: thinkfat
author_rank: Unknown
timestamp: May 13, 2023, 06:56:42 pm
content: Quote from: nctnico on May 13, 2023, 09:55:07 amCoincidentally, KiCad has a functionality quite similar to what you describe as a "part manager". It's a table view of all components in the schematic, with entry grouping for various attributes. Huge help in consolidating BOM lines. Also makes it easy to change e.g. all footprints of all 100n capacitors in the design etc.

author: ebastler
author_rank: Super Contributor
timestamp: May 14, 2023, 05:20:13 am
content: Quote from: thinkfat on May 13, 2023, 06:56:42 pmRight, it's called the "Symbol Fields Table" in KiCad (Tools > Edit Symbol Fields in Eeschema). I have used it a lot, for the purposes mentioned by thinkfat and nctnico. I have also shot myself in the foot a few times using it:Worth mentioning that this functionality was buggy in KiCad versions 6.03 and 6.04, when used with hierarchical schematics. Some value and footprint fields would sporadically show as empty in the Symbol Fields Table. And if you did not notice that while editing other entries and then saved the results, the respective details went missing from the schematic view as well. There is a workaround which recovers the information, but it's better to update to a more recent version of Kicad.https://gitlab.com/kicad/code/kicad/-/issues/11194https://gitlab.com/kicad/code/kicad/-/issues/11311

author: SiliconWizard
author_rank: Super Contributor
timestamp: May 15, 2023, 08:42:49 pm
content: One thing that has bitten me in the ass is that duplicating a symbol in schematic copies ALL attributes, including the "exclude from BOM" one.No need to say that the duplicated symbol in question was not meant to be excluded from BOM.That wouldn't have been a problem if there was a clear indication of a symbol not being in BOM, either on the schematic itself or in the symbol fields table. It's on neither.Just be careful.

author: John B
author_rank: Frequent Contributor
timestamp: May 15, 2023, 11:12:28 pm
content: If my understanding is correct, when you insert a symbol, you are copying a template from your libraries and creating a unique symbol in your schematic. There is still a relation to the original library symbol so you can always synch/update a symbol to the library and overwrite whichever fields you wish.The process has caught me out in a few instances of migrating projects from V5 -> 6 -> 7

author: hpw
author_rank: Frequent Contributor
timestamp: May 16, 2023, 09:37:14 am
content: Quote from: SiliconWizard on May 15, 2023, 08:42:49 pmAnd an other(s) comes up, why those attributes are not copied from MY symbol...I mean, this is a clone operation with altered attributes, as you like to have a pure library symbol copy, what is complete different operation. So request this as a feature.Or simple select the symbol from the library, as a workaround.Hp