Announcement

Collapse
No announcement yet.

KiCad 8.0 Released For Leading Open-Source EDA Software

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    I wrote a lengthy post, but it keeps unapproved probably because I put URLs in it.

    Michael Can you approve it please?

    Comment


    • #12
      T2 is shipping it already: https://t2sde.org/packages/kicad

      Comment


      • #13
        Originally posted by Quackdoc View Post
        I dont use kicad but can we appreciate how in general open source software really don't like v1.0 updates? The software could be the most featureful stable peice of work in the world, and if it's foss it's devs still wont tag it as a v1.0, proprietary software on the otherhand can be the most useless peice of crap and be v30.0 or whatever, I never understood why this is.
        Because some developers don't want to release a "1.0" because no software is ever "finished". Features come in, the API needs to change, etc. Not hiding unfinished features behind build switches and breaking the API is easy. So the tip of the branch is either never a complete version or has a constantly changing API (i.e. not stable). This inevitable leads to "zero-versioning" when the project intentionally uses 0.major.minor version numbers to avoid responsibilities of semantic versioning. Version 1.0 is a major milestone that everyone wants to be perfect, but it never will be.

        Projects from companies, OTOH, have managers and marketing involved, which forces versions out the door even if they should probably wait. Ideally, "competent" developers would be able to hide/remove unfinished features, but every place is different.

        For example, at my company, we released a new product with version 1.0 of the software, but all of them shipped with 1.0.2 because bug testing didn't catch everything.

        Comment


        • #14
          Originally posted by Quackdoc View Post
          I dont use kicad but can we appreciate how in general open source software really don't like v1.0 updates? The software could be the most featureful stable peice of work in the world, and if it's foss it's devs still wont tag it as a v1.0, proprietary software on the otherhand can be the most useless peice of crap and be v30.0 or whatever, I never understood why this is.
          I don't get it. The article is about release 8.0 of Kicad ??

          Comment


          • #15
            Originally posted by colejohnson66 View Post
            Because some developers don't want to release a "1.0" because no software is ever "finished". Features come in, the API needs to change, etc. Not hiding unfinished features behind build switches and breaking the API is easy. So the tip of the branch is either never a complete version or has a constantly changing API (i.e. not stable). This inevitable leads to "zero-versioning" when the project intentionally uses 0.major.minor version numbers to avoid responsibilities of semantic versioning. Version 1.0 is a major milestone that everyone wants to be perfect, but it never will be.

            Projects from companies, OTOH, have managers and marketing involved, which forces versions out the door even if they should probably wait. Ideally, "competent" developers would be able to hide/remove unfinished features, but every place is different.

            For example, at my company, we released a new product with version 1.0 of the software, but all of them shipped with 1.0.2 because bug testing didn't catch everything.
            I really never understood that mentality, But I suppose each to their own, for me a 1.0 just implies the first version that should be majorly supported.

            Originally posted by orzel View Post
            I don't get it. The article is about release 8.0 of Kicad ??
            that's why I mentioned it, it feels out of place sometimes with so many open source programs not doing that.

            Comment


            • #16
              Originally posted by Quackdoc View Post

              I really never understood that mentality, But I suppose each to their own, for me a 1.0 just implies the first version that should be majorly supported.



              that's why I mentioned it, it feels out of place sometimes with so many open source programs not doing that.
              KiCad aims at growing in users and get support contracts from private and public organizations by their sponsorship, donations and KiCad Services Corporation (KiPro). A kindergarten software development style isn't suitable for an ecosystem to make possible their developers work full-time and grow their workforce.

              PS: Michael Please approve my posts...
              Last edited by timofonic; 27 February 2024, 10:23 AM.

              Comment


              • #17
                Originally posted by Quackdoc View Post
                that's why I mentioned it, it feels out of place sometimes with so many open source programs not doing that.
                If it makes you feel better, I believe Kicad was started back in the 1990's as a regular commercial CAD product. It wasn't always GPL'd.

                Comment


                • #18
                  How's the learning curve going from altium to kicad? I've been meaning to give it a try but never got around to it.

                  Comment


                  • #19
                    There's this thing which was just AFAICT announced the other day:

                    Physics-based automated circuit board design tools for professionals and the masses.


                    There's another I'm not recalling at the moment.

                    Anyway AIs have some problems depending on their nature and there's a large variety of AI model architectures out there and a vast set of ways to train / compose them (with other ML models and / or other tools / SW not ML based ) to do a job.

                    Speaking as someone that has done a good amount of EDA as well as SW design over the years, I do 100% believe that a lot of what these EDA workflows are (and SWENG / CASE programming / architecture design!) wrt. electronics EE design / CAD and system programming implementation / SWE can be vastly and substantially automated.

                    One (IMO) major problem with even pre / non-ML based EDA is the utterly stagnant antediluvian state of B2B / machine readable / (easily) machine interpertable data interchange in the whole ecosystem. Semiconductor companies come out with documentation, data sheets, application notes, package drawings in some horribly composed PDF format and that's usually all. If you're lucky you'll get a STEP file of the IC package itself. PDFs might be about some IC with maybe 300 pins and three package variants. Somewhere in the bowels of the PDF are usually some scattered tables of what the pin numbers are for a given package, and what short/long list of pin functions there might be for them, whether the pins can be inputs / IO / outputs / OD / analog / one of the power supply rails / ....

                    Most often it's 100% impossible to even copy-paste the what-does-the-pins-do vs pin number table from the PDF and end up with anything any person or machine could even convert to a CSV / spreadsheet format other than by a lot of cell / partial column level high-touch copy / paste / edit-fix / catenate operations.

                    The package diagram itself as to WHERE each pin PAD is in relation to the pin / package body placement is usually just a bad graphic-only PDF page or three with zero copy-pastable content or MAYBE (if lucky) you get a STEP file which has a 3D drawing of the nominal package body but NO GD&T information and no pin function / name / numbering (sorta, probably) information. Anyway even if some of that is somehow reflected in there in a non-standard way, STEP files are basically damn near impossible to process by machine information extraction since their use case is 3D MCAD physical "does it fit" modeling and nothing relating to EDA.

                    So right from the get-go an EDA / ML tool is going to have zero idea what a given chip is, what the package physical characteristics are, what pin numbers can have which functions / types, at what voltages / speeds they operate, whether some are analog or digital, etc.

                    Then for traditional EDA tools you (very manually!!!) create a schematic symbol and PCB footprint for the IC from the PDF-datasheet-horror story and that at least gets Kicad / Altium / Orcad / whatever to know what the pin numbers / names are, whether each pin is analog / digital I/O/IO, or power. But it doesn't generally get more detailed functional metadata like "pins 3, 7, 39, 12 are SPI1_NSS, SPI1_SCLK, SPI1_MISO, SPI1_MOSI" or the design intent like "SPI1 will run at 20 Mb/s, 3.3V level", or
                    the electrical attributes like SI parameters needed for SPICE / SI modeling like pin capacitance / driver resistance / rise time / ... Nor pin criteria like "LNA_IN is an analog input that takes a microvolt level signal at 2.5 GHz and amplifies it by a million and it is critical it must have no avoidable noise present on it".

                    So when it comes to layout, basically all the IMPORTANT data about WHAT interfaces / pins are are 90% in the brain of the circuit designer; it is not extractable
                    from the IC manufacturer's documents, it is not extractable (for the most part) from the designer puts into the KiCad symbol / footprint libraries.

                    So yeah if you KNOW you're dealing with I2C, SPI, ethernet-GMII, LVDS, USB-HS, USB-SS, WiFi-RF, GPS-RF, a 50-Amp 8V motor control phase line, a hi-fi 24-bit audio microphone input, etc. etc. there are lots of simple rules of thumb how to do the layout (and even the schematic design / architecture / netlist) for any given
                    kind of signal / interface. Non-ML / ML could ABSOLUTELY auto-design / auto-route ethernet / USB / SPI / I2C / GPIO / ... all day long zero problem.

                    But due to the tower of Babylon in having ZERO useful data interchange in precisely defined machine interpretable formats the automation part of EDA has
                    nearly zero damn clue as to what the designer wants / needs other than a netlist of "U1-pin6-connects-to-U18-pin-32" etc. which is necessary but NOT sufficient
                    to have a sane layout / auto - routing which must be "context aware" as to what you should / must do to route signals of a given TYPE for signal integrity purposes
                    and timing purposes and noise purposes etc.

                    Then there's just the usual AIML stupidity like trying to get it to make a "neat" design and not have what looks like a bowl of spaghetti where all the noodles really
                    do get to where they should at the ends but geometrically and logically it's a train wreck.

















                    Originally posted by gary7 View Post
                    I've used KiCad for several projects with excellent results. I have had mixed results with several other PCB software's auto routing, having to reroute/fix too many routes to make it as useful as I would like. So like KiCad now requires I used manual routing most of the time even though it was something that took way too much time and brain energy to complete. It seems to me that the current generation of freely available "AI" software would be a natural for auto routing. Memory usage may be a problem and there may be other considerations that may limit it's use for this application that I am not aware of. I have not read any news of this use of "AI" being used in other PCB software so I would be interested in finding out if anyone else has.

                    Comment


                    • #20
                      I'm not an uber expert on kicad, just dipped my toes into the water with it a few times over the past couple years.

                      It seems fine. I've used Altium, Orcad, designspark, circuit studio, eagle, and a hand full of other ECADs over the years.

                      They all do the same basic things in different ways and if you know you need to do X function it'll be there in the UI / menus somewhere if it is essential.

                      So basically there are cases where IMO Kicad has a nicer UI than AD. There are cases where AD does stuff that Kicad just doesn't yet do (obviously more niche / fancy things like the newer impedance modeling vs stackup, xsignals). The keyboard shortcuts and menus and UI panels will "obviously" be all different (though it would have been kind of cool to let one customize the key sequences so one could map familiar ones as macros to whatever the kicad function sequence would be).

                      Kicad apparently has a not-so-bad ability to import some AD design content which honestly I'd expected ZERO so to get 67% or whatever where it's actually workable / useful for many things is more than one could've realistically expected.

                      I like using Kicad and I expect to mostly use it for ~all personal stuff and have altium be less and less tenable particularly if the
                      acquisition of Altium by Renesas manages to screw up things making AD hard / impossible to use further -- meanwhile kicad will just get better & better every year.

                      AD's there though a PITA (personally) to run given it has no LINUX port and then dealing with windows etc. is not ideal coupled with the buggy AD stuff and the very costly maintenance which often nets one little tangible support / functionality benefit (IMO).


                      Originally posted by Vermilion View Post
                      How's the learning curve going from altium to kicad? I've been meaning to give it a try but never got around to it.

                      Comment

                      Working...
                      X