Warning: Long post ahead. There is a “bottom line” towards the bottom....
Just wanted to give a tremendous thanks to the KiCad team!! A number of years ago, we had some major projects lined up and had purchased some new seats of Altium. The incompetent crooks at Altium (which we had been using and recommending for many years, including introducing their products to numerous Universities as well as to our own customers) screwed things up so badly that we were unable to use the new seats for many many months, and no amount of emailing or calling them helped. Their sales director for our region at the time even told us through one of his underlings that they didn't have to compensate us in any way because he knew we'd HAVE to renew again the next year.
HE WAS WRONG!
At that point we ended our relationship with Altium, forever. We immediately moved to KiCad, as well as one of Altium's competitors, who was more than willing to give us a significant discount and actually had a competent customer service department. I personally had had experience with GEDA at the time, which I still love, but at that time it seemed that significant resources had chosen to back the KiCad project. Also, KiCad had gotten just far enough along that, especially combined with FreeCAD, it proved to be capable enough for us to save the day and complete our projects successfully -- all with KiCad and FreeCAD. Didn't even need to use the seat of Altium's commercial competitor that we had purchased.
Of course back then there were numerous issues and inconveniences we had to learn and adjust to, and FreeCAD was also changing rapidly with a huge learning curve, but after a couple of months of very hard work, it was possible to establish an extremely capable, efficient and reliable workflow. Being able to have full control to customize nearly every aspect of the development tool chain via scripting, plugins, etc. has proven to be a huge advantage over the constrictions Altium had forced on us for all of those previous years. And not having to deal with the tremendous cost of Altium – often wasting many hours dealing with their ridiculous bugs and crashes, with no power whatsoever to influence them to add new features, was a surprisingly excellent stress-reliever. Sure KiCAD had plenty of quirks, but there was so much more we could do about those issues than we ever could have with Altium.
Were/are there things Altium is capable of that KiCad wasn’t/isn't -- yet --? Of course, but KiCad’s development pace has been so much faster than I expected, that it has enabled the completion of some quite complicated and extensive projects. And it’s great that our customers can use the same software that we use – without having to pay exorbitant fees and restrictions for the privilege of doing so.
Being cross-platform is a huge plus, too. Not having to deal with Microsoft licensing – in fact, at this point not having to deal with any proprietary licensing at all, relieves stress levels as well. We even have bootable USB sticks you can plug into just about any computer to boot Linux and run our complete dev toolchain. Try that with Altium.
The other pleasant and heart-warming surprise was the discovery of the power of the KiCad forums and user networks. Nearly any issue that came up was readily resolved by just reading, or on occasion, asking, on the forums. There are extremely bright and helpful folks there who spend countless hours helping to improve KiCad and help its users in any way possible. The same is true with FreeCAD.
A quick aside about FreeCAD: Yes, it can be really intimidating at first – especially if you’re not comfortable with true parametric design, and/or don’t have a lot of experience using CAD tools. It is also undergoing rather rapid development in a wide variety of areas, and there are many experiments with different branches of development, which all can be confusing and concerning to newcomers.
Make no mistake, however – FreeCAD is extremely capable, and can compete in many many areas with the big boys out there. For anyone needing a seriously powerful, reliable mechanical CAD tool that also doesn’t lock in all of your design files to hostile proprietary file formats, has extensive scripting capabilities, and pretty seamless integration with KiCad, FreeCAD is worth the time and effort. If you find it crashing on you frequently, don’t give up – once you’ve learned its ways (almost always “ways” that are simply best-practice CAD design principles), it is actually a remarkably reliable design tool. And yes, it will take a substantial amount of time to get really comfortable with. Robust parametric modeling isn’t something you just learn in a day or two – even with the most powerful CAD tools out there. But there are many “pros” who complete commercial projects with FreeCAD every day, and prove it’s absolutely capable of a huge array of design tasks.
Another consideration regarding the time one invests in complex tools like these is that with the proprietary tools you have no control whatsoever about the ultimate direction their management might take in the future. As many folks using the “free” proprietary packages have discovered recently, your tool might be bought, phased out, dramatically increased in price, severe changes in licensing, etc. Who would ever want to go through what Eagle users have? Many of them even got to PAY for that “service”! And what do you then do with all of the data you’ve generated with those tools?
With KiCad, FreeCAD, and so many other powerful open source design tools available, there may be (or not so much) an additional time investment in the beginning to learn the use of the tools, as well as get them customized to maximize workflow efficiency, but the bonus is that they’ll be there for you for as long as you need them – even if their development project were to die, you’ll still be able to build from the source code if necessary, and your data won’t be locked up in a file format that you don’t have access to. Not to mention there are no licensing restrictions that prevent you from packaging up your entire dev environment in virtual machines/containers that can serve as backup snapshots that can be usable indefinitely.
Of course, just because a tool is open source DOES NOT MEAN that it’s a great tool, or that it will do everything you need. But there are more and more open source tools available these days that compete very closely with their commercial competitors. And, many of the open source tools are leveling the playing field at what I believe is an astonishing pace.
KiCad, along with InvenTree, K-nTree, Interactive HTML BOM, RF plugin, StepUp plugin combined with FreeCAD, plus a few others allow me to now laugh at how sick I felt when Altium jerked us around, with us paying many thousands of dollars for the privilege of being completely screwed and possibly ruined. NEVER AGAIN! Must admit, though – in the end they did us a great favor! Scary to consider how much time, money and terror that painful lesson cost, though...
The fact that Digi-key, LCSC, and other distributors are putting resources into supporting KiCad, and more and more manufacturing houses are also seamlessly supporting it, means the picture is getting better every day for a highly efficient, reliable development/production process.
Another great thing about KiCad is that if anyone has a feature/bug they’d like to see addressed, it’s incredibly easy to file the bug or request on the list the developers refer to. Try that with Altium – they simply don’t care about the little company or individual, because as they made abundantly clear to us:
Either you have enough resources to sue us, or we don’t have to listen to you – at all.
This is something I think all small businesses would do well to be acutely aware of. If we hadn’t been able to rapidly come up to speed with affordable/capable alternatives to Altium, we surely would have lost important customers, and might have even had to deal with lawsuits. This can be the utter destruction of a business, and you know what – ALTIUM DOESN’T CARE! They fully admit that they think they have you locked in, and that you’re very unlikely to leave them because they pretty much own all of your data, locked up in their proprietary format.
When I see folks complaining about KiCad, FreeCAD, or other similarly capable tools I can certainly understand at least some of their frustration. But there are easily accessed, numerous ways to get help, and if you are desperate to get a feature implemented, you can always work with the developers and offer to pay for it. It might actually be far cheaper to pay KiCad devs for needed features than to pay for proprietary products – especially in the long run.
Another piece of advice I’d toss out to new adopters of these tools would be to keep up with the vast wealth of information on the user and developer forums. Make sure to peruse them daily, if at all possible.
OF COURSE DOCUMENTATION WILL LAG! Those of us who depend on these tools want new features/bug fixes released as quickly as possible – we don’t care nearly as much about the documentation always being kept precisely up to date, because it is so simple to just check the forums, tutorials, and GASP – actually ask politely for some help. I think you’ll find the KiCad forums far more accommodating and far less likely to delete any critical posts when compared to the freak show I witnessed on the Altium forums back in the day.
After having been forced, for a variety of reasons, to rely on so many proprietary tools over the years, I am so excited and relieved to have access to such power – not just the power of the tools themselves, but the power of being free from asinine, uncaring corporations, and the power of being free to customize the development toolchain and workflow to best suit our needs. I’d much rather give KiCad, FreeCAD, and other open source projects my money, than to repeat the terrifying, expensive, and potentially ruinous experiences with the greedy corps.
Bottom line: It takes arguably more work up front, but tools like KiCad, FreeCAD, ARM dev tools, Blender, Darktable Luxrender, JupyterLab, Linux itself, and so many more, are easily capable of being used professionally to produce quite complex commercial products. People are doing it every day. And the hundreds or thousands, of people-hours you might invest in these tools won’t be wasted because they’ll likely be here for you well into the future. And, even if they’re not, there will always be ways to fully access and utilize the data you’ve created with them. Plus you can help in so many different ways to make these tools even better.
So, when you’re frustrated, and feel the urge to moan about issues you’re facing, it might be worth asking a few questions, like: Are these issues stopping other folks from getting their work done? Are there any forum posts, tutorials, code repository tickets, or other resources out there that may be helpful? Is it worth considering you may have to take a slightly different approach to how you use the tool, and that they new approach may even have some advantages that you aren’t able to recognize yet? Have you politely asked on the forums for help? And possibly most important: Have you thought about the most constructive, polite, respectful ways that you might be able to help the situation??
And, yes, it’s always good to check the documentation before reaching out to avoid both wasting your own time, but also the very precious time of the developers and other users who try to help others. Even if the docs might not be as up to date as you think they should be...
If instead, people decide to complain without regard to the fact that others are successfully just getting the job done, or ignoring the wealth of resources available, or aren’t willing to do the least bit to help out and make the situation better, then it’s probably best that they are ignored, because this just wastes everyone’s time and leaves a stench about that no reasonable person wants to deal with.
These are great times for powerful open tools that are rapidly leveling the playing field. It is truly a miraculous time to be alive, so get away from the stench, and breath the crisp fresh air of exciting new possibilities and – enjoy the fact that even you can make beneficial contributions – no matter who you are!
Freedom to all and to all a good day!