KiCad 7.0.0 Is Here, Brings Trove Of Improvements

Screenshot of KiCad 7 feature that lets you overlay a PCB bitmap image and draw traces over it, being used for board reverse-engineering purposes

Yesterday, the KiCad team has released KiCad 7.0.0 – a surprise for those of us who have only gotten used to the wonders of KiCad 6, and it’s undoubtedly a welcome one! Some of these features, you might’ve seen mentioned in the KiCad 2022 end-of-year recap, and now, we get to play with them in a more stable configuration. There’s a trove of features and fixes for all levels of KiCad users, beginners, hobbyists and professionals alike – let’s start with some that everyone can appreciate!

First thing you’ll want to hear about is the kicad-cli binary – yes, KiCad is getting native commandline support, and you can get a dozen different things out of it, from gerbers and BOM files, to STEP and schematic PDFs. Previously, it’s always been that moving from schematic to PCB layout would have you end up in the middle of a not-yet-positioned footprint ocean – now, KiCad 7 gives you tools to automate placement of newly added footprints! There are routing features that automate trace drawing – it’s not autorouting exactly, but it brings quite a few features of a simple yet powerful autorouter to your fingertips. Last but not least, if you ever had KiCad mysteriously crash on you and you were too busy to do a bug report, you’ll be glad to hear that KiCad now has privacy-conscious crash reporting for debugging crashes like these – an addition that has already helped figure out a few long-standing KiCad crash-inducing bugs.

A schematic screenshot showing a greyed out component marked as "do not populate"
A greyed out Do Not Populate component

For those of us taking KiCad work beyond beginner level, there’s a solid array of additions, too! Drag&drop stands out the most, perhaps – it lets you append schematic and PCB portions into your boards from other projects, and if doesn’t signify sub-design support already, then it’s definitely a step in the right direction! Then, there’s features like database integration support for component information field population, Do Not Populate indications that grey out the schematic symbol and remove the component from BOM and place files, simulator integration improvements, hyperlinks in schematics that are even preserved when exporting to PDF, mechanical and design rule check improvements, automatic zone refilling, and a dozen more cool things. We especially like the feature pictured above, that lets you reverse-engineer boards by placing a bitmap image of the board in question inside the PCB editor working field, drawing tracks on top of it, even with support for side flipping – check out the release blog post for a video demonstration!

This release is seriously exciting, and it would seem like the KiCad team is moving towards a faster major release schedule, comparing today’s date with KiCad 5 release in December 2018 and KiCad 6 release in December 2021. We can’t wait for the trove of bugfixes that inevitably follow a .0.0 release like this, however, on a larger scale, it seems like we might see features get from testing to stable releases quicker, and that’s a large benefit for keeping KiCad the highly competitive PCB suite that it is. Some of us have already been daily-driving this KiCad version in its ‘nightly’ state, and we can’t wait see these features applied in hackers’ projects!

109 thoughts on “KiCad 7.0.0 Is Here, Brings Trove Of Improvements

    1. I’ve done a board in Tango. Used OrCAD back when it was affordable and ran native on a PC.

      KiCAD is the best tool I’ve seen in years, and it’s free! Have already don e a bard in it, and I am very impressed. Eagerly awaiting flat schematics, though, because most of mine don’t benefit from a hierarchical structure.

    2. Lol; Visionics EED3 for me. Something like 5 grand in 1990, IIRC. And another couple grand if you wanted the Bartels rip-up-and-retry autorouter.
      The main program was written in compiler basic (a fact the retailer was not fond of admitting, but would quickly point out that the graphics core was in assembly or something).

    3. I’ve progressed from UltiBoard (I think that was it, got it at college as a student licence) to CircuitMaker to Eagle. I’m thinking to jump over to Kicad, seems to be progressing nicely!

      1. I finally jumped from paid Eagle to Kicad 5 after The Great Upheaval, having only probed around a bit in v4 before.
        Was a bit of a threshold to get going but haven’t looked back since. And it’s just getting (much!) better with each version.

        Occasionally also forced to do some basic boards in Altium at work, but actually feel more comfortable in Kicad. For me, Altium is not a contender for home / hobby work anyway – not even b/c the pricing – but it runs on Windows only.

        Finally, when considering you might want to share some HW projects with the world, that’s when using a FOSS tool really shines. Anyone can download it to use/abuse/edit/build-on your designs, with minimum hassle.

      2. Those interested in migrating off of Eagle should consider Horizon EDA, which I find superior to KiCAD in part library management and lack of technical debt. Horizon also uses the KiCAD router.

      3. do it. now. I switched over 2 years ago after 20+ years of Eagle. Best move I ever made. But, don’t make the mistake of trying to import your Eagle boards. Just start over. Eagle import works fairly well but you wind up with a mess of a board, especially with the libraries. The Kicad libs are really well thought out and the footprint libraries are first class. Take the time to warp your head about the library system, different enough to be a challenge at first but head and shoulders above Eagle’s.

        1. Re-doing a complete PCB is just madness. Sure, the conversion from Eagle to KiCad is not perfect, but it does get you 90% of the way without putting much effort in it.

          And if you wish, you can replace the old footprints or schematic symbols with native KiCad versions and do some more cleanup. Doing it this way is much less effort then re doing the whole project, and it also reduces the chances for errors.

          I once recreated a project from a PDF schematic and a set of Gerber files. (KiCad’s gerber viewer can back export to a PCB). This did take a few hours, but in the end I made a few mistakes and these got caught by the DRC because the PCB tracks did not match the schematic.

  1. And here I am just getting used to 6. :)
    The improvements between 5 to 6 were so great I can’t wait to dig in more on the new stuff. I watched a few of the demo videos put out there (shoutout to kliment) and it looks really good.

  2. “This release is seriously exciting, and it would seem like the KiCad team is
    moving towards a faster major release schedule, comparing today’s date with KiCad 5 release in
    December 2018 and KiCad 6 release in December 2021”

    I’m not excited, I’m still disappointed for them dropping XP support so quickly back then (in v5 ?),
    I can’t forgive them that so easily, it still bothers me years after.

    1. XP support in 2018, even then it had become beyond painful and difficult to use compared to the current linux and windows of the day… Though I have always hated XP, its just such a bloated noobie focus burden to use that I dragged my feet on 2k pro until 7 came out

      1. I was talking about my feelings only. I don’t need to justify them in any way.

        And please don’t tell me about bloat, as if KiCad was any better.
        I’ve seen 3D software in the 90s that was more sophisticated, but ran on humble hardware.

        What makes XP relevant:
        Windows XP pretty much took the place of Windows 98SE..
        It was the release that added Windows 9x compatibility to the NT line.

        Win 98 in turn was a popular platform for all sorts of electronic tinkering.
        With Port.dll and PortTalk, many existing projects could still be used on XP as if it was 98SE.
        Windows XP was most friendly with traditional ports, too.
        Parallel, Serial, Gameport, ISA bus etc.

        That’s why I think it was an uneccessary move to ‘sabotage’ XP support.
        A layout software that doesn’t run on a platform that’s somewhat popular for tinkering,
        industrial machine control, lab equipment, etc.. – That’s not reasonable.
        XP had a huge install base and ran on moddest hardware (all it needed was enough RAM).
        Even after going EOL, it was still perfectly fine as an isolated offline system.

          1. 100%. That article is spot on. Totally resonates with so many threads where I just want to say “Dude! It’s f’n free!!!”.

            People should be grateful it exists at all, or better yet, actually help. KiCad is open source, nothing prevents anyone from forking it, or making a PR so everyone can benefit. If anything, I’m grateful, it’s unfortunate a few just aren’t, and are ready to slap the free chocolate ice cream off the table because they want the free vanilla froyo that’s not being handed out anymore.

          2. Amen to that.

            I used XP through around 2018. I hated Vista, and 7, 8, and so on were way too bloated. Windows 10 was a “bloat reduction” release (MS has a problem with continually adding features no one wants until they reach a certain threshold of angry customers complaining about bloat, then they have one release that cuts the fat before starting the cycle over) that was worth my effort to use (but mostly only for gaming and very casual non-productivity stuff). I got to see a lot of things dropping XP support when I was still using it, but I never whined about it, because I understood that using an ancient version of Windows was my choice, and I wasn’t entitled to any special treatment merely because I made that choice.

            As far as tinkering goes, if people are tinkering in Windows, any Windows, that’s a personal problem. Windows 3.1 and 98 were good for tinkering (but DOS was better). XP was kind of alright (again, I used XP through 2018, so I know from experience). Real tinkerers use Linux though (which is what I used for tinkering since ~2002). Windows hasn’t been truly good for tinkering since Windows 98 or 2000. And open source projects rarely drop support for older versions of Linux, unless there’s a major version change in the kernel itself, and even then, sometimes you can compile it yourself, and it will work.

            Anyhow, what it comes down to is that if someone is sore that KiCad dropped support for XP many years after MS dropped support for it, and close to two decades after it was released, they don’t deserve to use quality open source software, and their choice not to use KiCad is completely valid self punishment for their horrible, rude, and toxic entitlement.

        1. You also didn’t need to express them. If you don’t want your opinion to be subject to public scrutiny, don’t share it.

          Also, you don’t get to go around telling other people what they do and do not get to talk about. If they want to tell you about bloat, that’s their prerogative, just like it is your prerogative to whine that KiCad no longer supports an ancient OS that hasn’t been supported by its creator in almost a decade, as if you somehow have a right to the free labor provided by its developers to have your own personal desires met.

          1. No, that’s not how it works.
            When people express their opinions or feelings (about tools or systems they use or anything more personal than that) there is no need to tear down what someone likes and instead suggesting they adapt to what you prefer.
            You can just say what you prefer without adding ideology to it (unasked for switching to Linux is an example).

            For example when someone feels nostalgic about an era, and someone else shits on it as a response, that’s not just expressing opinions, it’s being completely tone deaf and entitled, because you think your experience matters so much more that it should be the experience everyone has, once they see your view.

            That does not mean you get your way with what you want (asking for features/work with supporting previous systems), but the “convert to the good side” messages are toxic as well.

            Win10 and Linux have each their own downsides, that have been discussed enough already. People who always advocate for the newest also enable people who decide about changes to get their way, and not all of them do it for free at all.

            And yes, people should give back and invest, and it happens way too little, also for Freeware, but being toxic as a reaction is not a good response, nor only focusing on majority opinion.

        2. Well, turns out there still is API for all your direct port access in Windows 10. The article on their site about parallel port was last updated on January 24th. On related note, Mach3, a very old program, still can use parallel port to operate CNC machines by sending dir/step pulses to stepper motor controllers. So the problem is not the OS, but rather it’s you.

          Aside from older CNC machines, I don’t see any use case scenario that would require connecting a PC to any DIY gadgets. I certainly never done it before, except for some exercises in use of USB HID and CDC on PIC18F45K50. Besides, if you need a GPIO access with PC level of horsepower, you use Raspberry Pi. Or you switch to a bigger uC, like something from ARM family and write efficient code that can do whatever your PC did…

        3. Nobody “sabotaged” XP support.
          You still can use the same KiCAD version on XP as you always have.
          In contrast to proprietary software, free software does not just stop working.
          Today is February, 14th, known as “I Love Free Software Day”.
          Give free software love and try KiCAD on Linux.

        4. I do somewhat sympathize with Joshua’s love for XP. As far as WIndows go, it was pretty decent and I too held on to it far longer than I really should have.

          But as others have said – older versions still runs on it, so we’ll have to live with that, or move on to newer, not always better, things like the rest of the world.
          In my case XP -> Linux, haven’t looked back.

          In the case of Kicad, I’m very very happy that the limited dev team wouldn’t waste a single development hour on something as badly deprecated as XP support.

          But actually, you know what mr. Joshua? Due to the wonders of FOSS, all source code is available. If you are really motivated, you could attempt to contribute some XP support yourself – or rally others like-minded to man up and get it done.

          If not.. well you and me and our Feelings for a Windows version long lost to the oceans of time, are left with using the old versions. Tough luck.

    2. On the other hand, it is nice they have worked to add Apple M1/M2 support. Support for proprietary platforms is often important to gain user base, even though for many open-source developers they are not the favorite task to work on.

    3. Since Windows XP was out of support by Microsoft in 2014, and KiCad V5 would still run on it when released in 2018 then I don’t think you’ve got a lot to complain about. You’ve had plenty of time to migrate to either a newer version of Windows or another alternative (Linux, MacOS etc).

      1. I don’t think leaving win XP behind caused to many problems for people – as most people were only running the 32bit version anyway.

        What annoyed me more with some software was them leaving windows 7 behind, which to this day is still probably the best version microsoft have made. The only reason I moved on was a critical piece of software I needed wouldn’t run on it – which was insane as there was nothing groundbreaking with win 10.

        I’ll be even more upset when people start locking their software to win 11. There is not technical reason to do it, as there wasn’t from 7 to 10, but I bet a few do..

        1. I loved win XP …. at home, on a computer that one could run as administrator… At work as a systems mgr for a company where all new desktops went to the 2 CAD/CAM groups (with older stuff recycled to sales and mfg.) the issue of making a wide variety of CAD/CAM software at $5k to 50k a seat run on the new security model of XP Without running as an admin was a PITA. Had to find every registry key used by each program and adjust permissions on each (problem key) the minimum amount required to run. Then there were os and program updates…
          Good thing MS permissions and resultant set permissions were/are so logical and clear…HA!

        1. Really? All I use is Linux ;) . But you are right, there are many users that aren’t tuned into the wonders of the Linux world — yet. :) Win 7 was the last M$ OS I used at home before the final move to Linux. Never looked back.

          I’m looking forward to start using 7.0 in my KUbuntu LTS systems. No hurry though. To bad they do support the simple .appImage format like freeCad, InkScape, etc. where you could be on the ‘latest’ immediately.

          1. After many attempts to ‘switch’ from Windoze to Linux, I now run both.

            There are many apps that are just not available (and don’t have alternatives) that I run on ‘doze. The suggestion “switch to linux and that will solve all your problems” is really naïve!

            I also have software that will only run on older ‘doze versions, so I have to stick with the older OSs just for that reason, even if I don’t like it (and its’ getting seriously hard to find hardware that will support older operating systems). VMs are pretty good, but don’t solve everything.

          2. I understand. In my use case there is no piece of software from the Win World that is a must have or couldn’t be done with a Linux version, so I was free to move to Linux several years ago. Never looked back. Office apps are easily handled by Libre Office for example. Firefox handles all the internet browsing experience. VLC media. Thunderbird email. All the languages I use for programming are available and more.

      1. +1

        As someone who used DOS and Windows in most of their desktop versions (not server) and still does (I also kept XP until it was no more viable, I even used W98SE with KernelEx to run XP apps) while also having only Linux on gaming desktop and running Windows apps/games in Wine on Linux, I’d like to ask Joshua:
        In 2018, you couldn’t use current Chrome on XP. You couldn’t use current Firefox. Not even Opera. Even Microsoft’s own Edge wouldn’t run there. Even Pale Moon dropped support 2 years prior. How were you making PCBs on that XP machine? Datasheets printed on paper and running offline or running outdated buggy software and bragging about how everything goes to hell?

  3. I tried to use KiCAD on few occasions, but I found it a bit “oldschool” with its handling of components and footprints. The whole software package felt a bit clunky. Now they added a CLI, something that should be delegated to troubleshooting, not a normal operation – now it’s so “oldschool” people will use teletypes with it and disco will raise again! You Maniacs! You blew it up!

    I’ll stick with DipTrace, thank you very much.

    1. I used KiCad a few times between 2010 and 2014 to draft PCBs that I actually had fabricated, and it was completely serviceable. “Oh noes, it doesn’t have every feature the expensive proprietary versions have.” I have no sympathy. If you have become so dependent on a little bit of “syntactic sugar”, that sounds like a person problem to me. I wonder why you even bother to comment, when you so obviously have so much disdain for the people who have put their time into this for free.

      I, on the other hand, very much appreciate the time and effort that has gone into this. I understand that proprietary PCB design software has some additional conveniences, but in my experience, they save little time, if you put in the effort to actually get good at the process. When I design PCBs, most of my time is spent working out the design, not putting into the software. A bunch of convenience features that save me time here and there with the CAD side of things ultimately only save a small fraction of time, and that is trivially minimized by learning to use the software efficiently. And once I’ve learned that efficiency, convenience features only serve to get in the way. (I have the same problem with writing code. I disable most “auto___” features, because I can type fast enough that they just get in the way.)

      Anyhow, no one asked you to switch to KiCad. No one asked you to comment. No one asked you what you prefer to use. If you know you aren’t interested, then why the heck did you even bother clicking through the links to get here and then wasting your time writing a completely worthless comment? Appreciating what you have doesn’t require you to tear down everything else. If you are only here to be negative, please leave.

      1. I wrote “a bit clunky”, not “can’t be used at all”. I did a whole project with it few years ago, and I didn’t enjoy the experience. I also used some other software in past 10-15 years, so I have some comparison. Basically there are two styles of such software: “Like a DOS” and GUI driven. The “Like a DOS” approach is like this: you place your components, you draw horizontal and vertical lines between them, you end up with schematic. Every time you move a component, you need to adjust your lines. When converting to PCB you have to manually select footprint/package for each component. These design decisions were made back when powerful PC had 640k of RAM and 10-50MB HDD. It saved on component database space and it made drawing engine easier to write. GUI driven software lets you select components with default patterns/footprints/packages attached already, then you click on pin, click on another pin and connection is magically drawn on the grid. And manipulating components doesn’t break it. That’s my preferred method of work, and reason, why I didn’t like KiCAD last time I used it. I didn’t like many programs that operated “Like a DOS”. Why half of the software clings to the oldschool? Force of habit. I didn’t like KiCAD because I use DipTrace, and this influenced my opinion. I use one “Like a DOS” program, MicroCap12, and I’ve got used to its clunkiness.

        Also, IIRC, CERN pays for development of KiCAD for their internal use. And I’m pretty sure their engineers learned on software older than me, so they don’t mind, how KiCAD works.

        I use plenty of FOSS software, and I noticed one thing: if it has any corporate backup or structure, like Blender, Open/LibreOffice, some Linux distros, it tends to be more user-friendly. OTOH if it is developed by few programmers in their parent’s cellars, UI tends to hate users.

          1. I went from Diptrace to Kicad. Mainly because I was afraid of the future of Diptrace and paying my money into a dead horse body… This was years ago and they are still in business.

            That said, Diptrace is an overall very nice experience. Especially creating footprints.

            Diptrace GUI feels more advanced than Kicad. I still remember my shock moment, when moving parts and they lost all connections and I needed to look up the special command to move with keeping connections, because, apparently, it is more normal to move something without its connections.

            For Kicad I would love to see some more intuitive tools. Like creating a pcb outline with a small assistant (enter dimensions, add edge holes and styles and then auto create everything for me). Or assigning net classes: Oh, I need to assign a class to that trace. Right click, add net class. Oh no, that net class does not exist, I have to add it. So go to “Schematuc setup – Project” (as by the hint). Where is that? Oh, they mean “Datei-Schaltplan einrichten”. And I get a default dialog layout that is, well, not well designed. And why can’t I edit both net class params (schematic + pcb) from this place?

            Don’t get me wrong, I think it is nit-picking on a middle high level. But Kicad could really need some usability experts do some magic with it.

      1. Go watch “Planet of the Apes”, the original, not the remake. Then read my comment again.

        I genuinely think that CLI in this day and age should be for troubleshooting and system recovery, optionally for server maintenance and configuration. For daily use, including CAD/CAM/CAE software people should use GUI assisted with few shortcuts. I explained in the other comment two different approaches for electronics design software, and why some software is the way it is.

        And I’m not allergic to CLI. I was exposed to DOS at the age of 8. I use CLI quite often, mostly for troubleshooting and configuring stuff. I can’t imagine using it daily, while I still can see GUI. Side note: I wonder how KiCAD would work with NVDA, including CLI. Would it permit a blind person design circuits and PCBs?

        1. You know, scripting is a thing. Some people might find it useful. Others have maybe not thought about it, now sees new feature and go “Hrm… maybe I could […]”
          If you’re happy with GUI point-and-click, congratulations – you don’t have do.

          To me, it feels like a win-win, no? A feature was added. Some find it useful and cheer, others don’t – and thus don’t have to cheer.
          Just shrug, mumble to yourself something about old-time Unix-beards :) and look for other features or improvements you might find more useful

        2. why are you so belligirent over software (features) you don’t want to or plan to use? people use the software in their preferred way; besides, it’s not like the gui doesn’t exist anymore or will not receive attention. let us be excited for a future of improvements rather be salty about the current state of events

        3. Even after reading it again (I saw both movies), you are still completely missing why there’s the CLI interface and spitting out nonsense.

          The CLI interface currently can:
          export data
          update symbols and footprints in a PCB project from library

          You know what that’s for? For having KiCAD on server and having automated system for exporting data so that people who don’t use KiCAD can grab the data. This can range from having your designs published online while being kept always up-to-date to reduce amount of work needed in open-source community to usage in commercial companies.

          You know, there’s usually someone who makes the HW, someone who makes documentation, someone who makes PCBs, someone populates the PCBs with SMD, someone with THT, someone services it etc. Those people need to share the exported data. Really, nobody wants the project. They need the exported data. And exporting the data as a manual task is cumbersome and tedious thing to do.

          While I do use standardised in-company Output Jobs in Altium Designer, it still manages to break with each new version of Altium or to just randomly f*** up with me every time. We even have data on managed SVN server. But if I could just commit project and get exported data automatically without me clicking for 5 minutes, that would be a dream. And KiCAD found a way to do that. And Altium which we pay something like €250k/year can’t even make single-layer PCBs correctly (longstanding and ignored bug on their tracker) not to mention it being practically automation-defying monolith.

        4. “I genuinely think that CLI in this day and age should be for troubleshooting and system recovery, optionally for server maintenance and configuration.”

          That’s breathtakingly narrow-minded.

          I’m glad you’re not in charge.

        5. You’d better stay away from designing anything, at all.

          CLI is mandatory, without CLI automation is nearly impossible. GUI must be built on top of CLI and should never allow anything that you cannot do in CLI. Otherwise there will be functionality that cannot be automated (or you’ll have to use some really dirty tricks to automate freaking mouse clicking).

          1. You cannot build a first-rate GUI on top of a CLI application; a GUI’s interaction models don’t lend themselves to being bolted on to a CLI program. (When this done, the CLI tends to limit the interactivity of the GUI.)

            Regardless, a CLI most certainly is not a prerequisite for robust automation. There are countless examples of automation APIs that don’t have a CLI at all.

        6. Some people/teams – way too few, actually – have streamlined project flows that automate a lot of manual clickery. I’m one of those people. Up till now the only way to do some of it was via Python scripting in PCB, and by re-building eeschema with whatever APIs one needed exported to Python. I really like the fact that Python running *inside* of PCB is no more a requirement to automate a lot of typical work.

          As a professional, when I have an EDA project I’ve modified for a new revision etc., I want all production files and accompanying documents to be generated automatically, reducing drudgery and possibility for manual mistakes. *Anything* that makes this automation easier should be welcomed, and I certainly welcome it.

          Yes, the automation I use has a GUI front-end that enables testing things out and so on, but in the background it uses KiCad CLI to do a lot of heavy lifting without resorting to workarounds that were necessary in prior KiCad versions.

          When I “release” a board, there is a simplified STEP file of the 3D board assembly that is built using several FOSS tools to simplify the geometry so that SolidWorks and similar CADs don’t choke on complex geometry when adding PCB assemblies into the mechanicals. That’s just one of many examples. For some manufacturers I can do production submission via point-and-click from *my* gui, but I sure don’t want to need to use KiCad GUI to do parts of this process.

          Also, I can get all the board release work done on CI servers. Just push updated KiCad files via git, and the rest happens automatically, including stuff like mechanical interference checks where the PCBA 3D model is intersected with a bounding shape that the mechanical people use to ensure it fits, etc. If I was to click for all of that, I’d go insane. It’d take a day to correctly do what takes 10 minutes after a git push, and what doesn’t require much if any effort once it’s set up.

          Not only should anyone who is professional about what they do and about not wasting time on error-prone “paper pushing” welcome any feature that makes more features automatable, but they should be actively advocating such developments.

          KiCad CLI as I see it is not primarily for use by humans, although it can be certainly used that way. It’s for use by automation, and there it’s essential. Dissing CLI – to me – indicates no automation experience/mindset, and that’s a big problem unless one enjoys mindless bureaucracy that makes engineering process error-prone and annoying to say the least. Our brains can and should be focused on better things.

          The only way I’ve ever accessed KiCad CLI was via Python Tk gui front-ends, and those also work without the gui based on saved work profile. The whole “CLI is so backwards” argument is a non-sequitur in this case. The entirety of the CI build process is “CLI” – it happens on servers and is touch-free, just wait for an email/message that the build is finished and whether it failed or succeeded.

    2. For hobbyist users, kicad-cli is probably not that important.
      For professional users, such as my company, it is just great, because we might be able to automate certain processes on a server.
      Think of git push to the repo, automatically create a BOM and send it to another developer who checks it.

      1. And for hobbyists, it’s wonderful because you can write a simple script exporting and zipping up gerber files out of projects-to-be-ordered – making sure you don’t accidentally order a tad-too-old version of your PCB just because you forgot to ‘one last time’ open and click through the File=>Plot flow for all five PCBs you just did!

        1. This is exactly the use case that came to my mind when reading about this: automating pcb file output so it’s consistent and once I get it working right, it works right every time without me having to remember stuff.
          I have a specific workflow for boards we send out to fab, and a different workflow for boards we build with our in-house pcb fab equipment, and they’re quite different, and having that automated would be a big time and mental effort savings.

          1. I have a creator that lets me select and export gerber files, and I only had to set default values once. The other creator lets me export NC drill file. Then I select all files, right-click and select “Add to Archive” – this opens another creator for zip/rar archives…

      2. Interesting.

        I _always_ script REAL DRC checks. In Python.

        And, well, y’know, I view it as a normal operation.

        Putting that sort of normal operation INSIDE the tools could be goodness.

        And there will be more utility scripts available soon, and it will be glorious.

        Get back to me in a year and tell me that you never use anything that uses the scripting interface “in normal operation.”

    3. Lol wut? CLI is pretty much mandatory. You should not require a freaking GUI to generate an up to date BOM and set of gerbers – your CI should do it every time you push your changes to git. And DRC checks should run without any freaking GUI on any merge request, obviously.

  4. I have been using EAGLE for a long time, which means that my electronic knowledge is based on EAGLE.
    Even now, I occasionally run KiCAD to check projects made with it, if needed.
    However, how much effort would it take for me to fully transition to KiCAD?

    1. i used to work with eagle only, but as you know free version had a lot of limitations like board size, layers and ic number. I tried using kicad and didn`t liked it. Some things were way different than eagle. And then i needed to do a bigger project and did not have access to paid version of eagle. So i opened up kicad again and at end of a day i was getting used to it. After a week i was like who need eagle then you have kicad :D

    2. This is a very good question. I haven’t used Eagle. I’m cheap, and I like to support open source software (even if all I can afford to do is use it), so I generally look for open source alternatives from the very beginning. Hopefully someone else here is able to provide more information.

      That said, I have learned both open source and proprietary options in other contexts. Keep in mind that if it took significant effort to learn what you already know, it will probably also take significant effort to learn something new that is for the same thing. This doesn’t mean the new thing is worse. It’s just how it works. I learned SolidWorks in college, and it took a few months of off and on use to learn FreeCAD after that. Having already learned drafting principles did help a lot, but it didn’t make the transition easy. I’ve watched other people switch from Maya to Blender and Photoshop to GIMP, and it’s a learning curve there as well. It’s easy to complain about differences as if they somehow make the new thing you are learning worse, but different isn’t necessarily bad, and sometimes it is even good. And if you learned the original software in college or an educational setting, remember that you had professors/teachers there to help you. I will likely be harder doing it on your own.

      Here’s what it comes down to for me: I just make the choice to do it, and then I put in whatever effort is required. I don’t try to judge one piece of software based on another unless I’m sufficiently skilled in both to minimize experience bias. If you do that, you’ll just end up being one of those bitter people who whines on forums that they can’t understand how anyone can use one piece of software when the other is so much superior, and everyone else will be cringing at you.

      If you aren’t willing to put in whatever effort it takes, you don’t have to even try. If what you are currently using works for you, there’s no shame in deciding it isn’t worth your time. I have my reasons for favoring open source software. I don’t expect everyone to agree with me. And if you don’t want to put in significant effort to switch, you are probably wasting you time if you try to. I will tell you this: It’s really gratifying when you do put in the effort and are successful! I can tell you from my own experience that SolidWorks is definitely superior to FreeCAD, but SolidWorks is very expensive for commercial use, and now that I’ve put in the effort to learn FreeCAD, I can do most things I need to without significantly more time and effort than SolidWorks would require. The truth is, SolidWorks is a smoother experience, and it can do some visual and analytical things FreeCAD can’t, but I can handle a mildly bumpy experience, and I don’t need the visual and analytical things for the work I’m doing. Would I be happy if I got an engineering job where SolidWorks was provided? Sure. Would I be disappointed if I got an engineering job where I was expected to use FreeCAD? Not at all. (I’m actually a Computer Scientist who took ME classes for fun, so I will probably never get either job, but for my personal projects, FreeCAD is perfectly servicable.)

      Anyhow, I hope that helps? I guess it’s a bit rambling, but this is way more complicated than just “how hard is it to transition”. It’s never easy, especially with highly technical stuff that takes a lot of effort to learn. The question is: Are you willing to buckle down and do the work if it does get hard? If not, just stick with what you are already using. Personally, I found KiCad to be a bit challenging, but I didn’t have any prior experience with PCB CAD software. (I did have some experience hand drafting PCBs.) But that was back in the late 2000s and early 2010s, and it sounds like most of the parts I found challenging (foot prints, for example) have been dramatically improved. So just, don’t expect it to be identical or even very close to Eagle, and be ready to Google things you can’t figure out. Heck, maybe even look for a walk through tutorial that assumes you don’t have any existing PCB CAD experience, and start with that. (Beginner tutorials are far less likely to miss things that might not be intuitive if you have prior experience with something else, in my experience.)

      1. I started with Autotrax (Protel) back in the ’90s.
        Went through all versions of Protel/Altium up to recently, and the licencing restrictions (and licencing headaches) just seemed to get worse every year.
        Last year (2022) I started a design in KiCAD 6, and I didn’t look back!
        It took me about a week (full time) to transition to where I was full-bottle on KiCAD, but *so* worth it!

      2. What you say makes sense.

        I moved to Linux from Windows around 2000, when I got tired of coming home and watching a purple gorilla (Bonzi Buddy) swinging across the screen.

        Never looked back.

        Cadence Allegro _claimed_ to support Linux, but it was expensive and buggy (to the point of continually crashing and losing work).

        KiCad works and keeps me away from Windows.

        So sometimes, it’s about the platform rather than the tool.

    3. I don’t know eagle, I’ve never used it.
      The thing I know is I was anxious when I first used Kicad, because after reading how-tos on Internet, it seemed everyone complained about how it was made (it was v4 at the time). But after one day I had my first PCB (that I actually sell), and what appeared to drawbacks for people around seemed to me was a clever way of doing things.

      So, pick a simple project (so you don’t have too much schematic and footprints to create) and give it a try ! :)

    4. I’m also running Eagle for quite a time, and tried switching to KiCad multiple occasions (v4, v5 and v6). I will try v7 later on.

      What I experienced that KiCad has some strange workflows which seems to me outdated:
      – moving between the schematic and board is cumbersome and not automatic. If you forget to update the board things will get messy.
      – The assigning of footprints to symbols is also counter intuitive to me; it is easily to combine a wrong footprint with the symbol.
      – Partial moving of part in the PCB wont move the traces as expected. I like to route a part of the design and move that around.
      – no ‘standard’ keymapping or easy shortcuts to quickly move around,

      To be clear that I really tried, I was designing an 68020/68030 accelerator card with memory for the Amiga in KiCad. But after struggling for more then a day on the PCB side, I went back to Eagle. Too much counterintuitive stuff and quirks for me.

      I wish they focus more on a more smooth experience, then adding all the more fancy stuff.

      1. It’s not that things are “outdated” or “counterintuitive”, it’s just that they’re very different from what you’ve already learned, and it’s extremely hard to go back to being a beginner when you’re already extremely fast and competent at doing the same tasks in the other tool. Unless you’ve got a rock hard justification for switching then it’s *entirely reasonable* to decide it’s too much work for not enough reward even if it looks like people are enjoying the grass on the other side.

        Hell, every time I need to use MacOS I find it excruciating, and that’s supposedly incredibly “intuitive” and “user friendly”… :D

        1. IMHO they got some basics wrong. I know they came from two separate programs way back but does that need to be still visible after years of development. they get from far

          How hard can it be to automatically reflect changes on one side to the other? Nor have a ‘default’ set of footprints attached to a symbol? I would not call this outdated

          I have a semi rock hard justification for bigger sizes or more layer, but it won’t cut it for now.

          1. You can define a default footprint. Just very few people make their symbols with defined footprints because they want to give the designers the freedom to choose what they want. On a weird part like a chip socket, that can only have one footprint, it makes sense to add that as a default, but the large majority of the time you might as well not add any footprint so that the layout person won’t mistakenly build around the wrong footprint because it’s automatically stuck into the layout.
            I use Altium, Cadence, Kicad, and gEDA on a regular basis. None of those have automatic updates from schematic to layout or layout to schematic. Again, this seems to be because they want to give you explicit control over the process, so you can make changes in one and then have the program show you the consequences of those changes before committing them to the other side. I spend a lot of time reoptimizing connections in layout to get tighter loop areas, and sometimes make some big mistakes in doing so, and if the program silently swapped schematic connections, I’d have a harder time realizing I’d made a mistake.

          2. I eagerly follow KiCADs progress and maybe one day it will reach the point where I feel i can use it; but the fact that the different aspects of the program don’t really feel integrated at all to me is one of my biggest problems. Changes in the PCB should automatically be reflected in the schematic and vise versa. In an environment where different people are doing schematic and PCB layout it isn’t as big of a deal; but I am a one man shop.

            KiCAD after all these years still feels like a collection of very loosely integrated programs, and that isn’t compatible with how I work. I keep hoping they will do a sufficient overhaul that I can think about switching over. We sadly aren’t there yet

          3. Automated and forcible linking between PCB and the schematic sounds like hell to me. One would have to tip toe around that and be very careful.
            The ECO process in KiCAD and Altium Designer are less about clunkiness and more aboput control and preventing mistakes.

            I have also heard complaints from (nowdays former) EAGLE users how annoying it was to fix the automatic link if it broke.

            I’m not sure how the automatic updating would reliably handle different variants or in general larger more complex designs.

            I very much do like the Variants in Altium. With those I don’t need a separate project for every variant of a product or project. And I don’t have to keep some part of it, like a DC-DC converter separately up to date across multiple files if I change it.

    5. Coming from Eagle after the subscription debacle i made a little learning project with an ATMega, a display, some level shifters and stuff and the whole PCB took me like eight hours to shift my mind from what i learned in Eagle to KiCADs way of life. Now i don’t want back.
      And if it’s good enough for frigging CERN of all places it’s good enough for me. <3

    6. It’s definitely a awkward adjustment; switching between any EDA packages means unlearning the weird quirks of the old tool in order to learn a whole new bunch of new quirks. KiCad’s been systematically addressing a lot of it’s own quirks the past few years, so you’re certainly better off now than you were back in the v5 days.

      The biggest hurdle is probably coming to terms with how it handles symbols and footprints – iirc EAGLE binds them together into a semantically unique part, but they’re quite independent in KiCad – you build the schematic with symbols, and then you manually assign footprints to each instance. Sometimes that means manually configuring a part that only has one symbol and one footprint, sometimes you still need to choose the correct symbol out of a bunch when a part has different pin orderings for different package sizes, and sometimes it means you can just use the same R or C symbol countless times in a design and choose different footprints for every single instance.

      (That’s changed slightly with v7; there’s now the ability to set up a connection to an external database that you can use to create concrete part definitions which bind symbol, footprint and whatever metadata you want which you can then select from while designing).

      1. I’m currently working on a project where I need to get a prototype out in very little time. Even for parts with standard QFN/whatever packages, I got all of my footprints/symbols/3D models from SnapEDA and similar sites. I know this isn’t the recommended way of doing things, but the symbols DID come linked to their respective footprints – so FYI, it is certainly possible to work this way if you want to.

    7. i started with kicad 5 in school, transitioned to using eagle premium in a professional setting, used kicad 6 for a personal project. transitioning to kicad is relatively easy, the structure is fairly similar to eagle. eagle is abandonware; it’s slowly being replaced by fusion electronics. i dont want to deal with autodesk and i want to remain in control of my own files, so the moment kicad is at or close to feature parity with eagle i’m dumping autodesk for good

    8. I switch 2 years ago after 20 years. Muscle memory can be a problem but once I got past that, it was smooth sailing. Ignoring the obvious things like >2 layers, unlimited board size and >2 schematic sheets, so much of KiCAD is far more logical. And once you get past the utterly different component library system, having footprint separate from symbol makes life a lot easier. You don’t have to go back an edit a part just to add a new footprint. I love KiCAD!

      I still have several current boards in Eagle and hate having to fire it up to do things like change a part (chip-a-geddon sucks). It feels like visiting my 100 year old grandfather in the memory care unit.

  5. It’s still a manual process, you have to identify all the parts and add them to the schematic, place their footprints appropriately on the pcb, and then as you draw traces reassign the nets on the pins and tracks as necessary to allow you to complete the connections as shown on the image. Kicad’s DRC won’t allow you to connect random pins together; the pins and the track all have to be assigned to the same net. So as you find pins you are blocked from hooking up, you can jump back to the schematic and draw a wire or add the appropriate label to merge the nets.

    Potentially you can use scripting to reassign nets in the pcb editor, and push that information back to eeschema, but that’s still just simplifying the process of manually creating the schematic, it doesn’t automate it.

  6. As a long time professional Altium user, I look at these releases every now and then, and usually it’s stuff I’ve had for a while on Altium, and there’s too much stuff missing for me to consider it possible to swap…. buuuut… I’m kinda jealous of that pack and move, and the finish trace stuff.

    Actually, that database linking of parameters might have removed one of the biggest roadblocks to a lot of companies swapping over.

    KiCad keeps getting better, and Altium keeps irritating me more, so keep at it guys! If I ever had to swap to freelance, or making boards for my own needs, it’s nice to know there’s something out there I could produce good boards with.

    1. KiCad does all that I used to use Altium for (more in fact).
      What made me finally switch away from Altuim is the headaches with the licencing.
      I don’t know if Altuim has moved to the “pay per year or lose your right to use” model that Autodesk and others (Adobe?) seem to be adopting, but it seems all commercial software vendors are going to go that way before long.

      By the way, wouldn’t you be miffed if you were one of the persons to buy MicroCap licence just before they released it for free!

    2. I learned on Altium but after being forced to learn KiCad I actually found that I prefer it. It’s so lightweight that I can fly through the windows and menus whereas Altium tends to bog down and crash from time to time. For one-off stuff the library system is actually faster and easier to use in my opinion compared to Altium’s integrated libraries. Once or twice when it didn’t have a feature I was looking for I was able to script it up or literally just edit the PCB file directly in a text editor (crazy I know but it’s nice to have that option). When you factor in the licensing and price difference… it makes KiCad an easy choice in my use-case.

  7. The reverse engineering fucntionnality is great. I’ve yet to learn to use KiCAD (it’s on my todo list) but this functionnality alone made me donate to the project. Congrats to the devs!

    1. “killed eagle”? Nice bit of hyperbole you got there. They changed the licensing, and it is fine to dislike that. I am not crazy about it either, but since I use it professionally I don’t mind paying. If I could like KiCAD I would donate at least the same amount. But the program is honestly better than it ever has been, and the pace of improvements is a lot better than what CADSoft was able to achieve imho

  8. KiCAD website says 7.0 is released but installation docs are for 6.0 via PPA. Watch out or your’ll likely not get 7.0.

    https://www.kicad.org/download/ubuntu/

    is:
    Click ‘Add…​’, and enter the PPA address: ppa:kicad/kicad-6.0-releases and then click the ‘Add Source’ button.

    should be:
    Click ‘Add…​’, and enter the PPA address: ppa:kicad/kicad-7.0-releases and then click the ‘Add Source’ button.

  9. In my two recent year-long contracts on aerospace (aircraft lighting) projects, I worked with KiCad and Altium respectively. It is too close to call for me to say which is better, ignoring any price differences. Altium has been the package used in most of the companies I have worked for in recent years, but KiCad is a strong candidate.

  10. Oh poop. This looks like I’ll have to learn KiCad after all. I’ve steered away from it because Eagle has existed, but looks like the bitmap background is exactly the kind of feature that would make reverse engineering pcbs much easier task than it is now. I’ve been using basicly almost 3 different programs to get nice and clean gerbers. This would allow just drawing over the scanned board. And since the silkscreens are also in the background, verifying the correct component selection seems to be a breeze.

  11. Professional Altium user here, too.

    Whenever I have to use KiCad to support a customer, I am constantly shocked at how much basic functionality is missing. Bulk editing components, snapping to more types of things, various rules… it’s simultaneously an impressive piece of work, and yet woefully incomplete. I want to like KiCad, I really do, but IMHO it’s just not there yet. Can you accomplish most anything in it? Yes. Does it make it easy to do so? Not really.

    Why are you jealous? Altium’s PCB editor has track autocomplete. From the manual: “Ctrl+Click to instruct the interactive router to attempt to automatically complete the current route. If it does not auto-complete, it does not mean the connection cannot be routed. It could be that the distance is too far or it could be that the termination point is on another layer.”

    That’s in addition to various related features, like Route>Auto Route>Connection.

    Similarly, Pack and Move is the same thing as “Tools>Cross Select Mode” in Altium.

    1. Pretty much every branch of engineering today requires some software engineering/coding skills. A lot of what you’re talking about is a couple dozen lines of Python away, especially in the PCB editor on KiCad. Competency requires that you’re not only aware of [your favorite EDA system] plugins, but you work on them and develop new ones for your needs, tweak existing ones, and so on. You’ll *never* get *exactly* the feature set that would make you 100% productive on *any* tool. Masters in their craft can and will make their own tools – usually small, specialized ones, that vastly improve quality of life at work.

      So: lack of features is worth talking about – you should file feature requests for what you’re missing so that there can be discussion about it. On the other hand and at the end of the day: adding little things in Python etc. to KiCad or any other EDA is part and parcel of being efficient. KiCad will get better. But the users are also something to learn here.

Leave a Reply

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

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