KiCad as alternative to Altium and other paid software

Most of what you write is already known by the KiCad developers.

A database connection has been mentioned several times. Recently Partkeepr was mentioned (again)?

V5.99 a simplistic implementation of a padstack is implemented, where pads can be turned off for layers where there is no track connected to a via, bu a full pad stack is indeed not implemented yet.

https://crowdfunding.lfx.linuxfoundation.org/projects/kicad
https://cernandsocietyfoundation.cern/projects/kicad-development

There is also commercial support for KiCad, and you can also sponsor specific features at:
https://www.kipro-pcb.com/

Blender is currently a much bigger project then KiCad. Until about 6 or 7 years ago KiCad was a quite small and still “hobby level” project, but development is speeding up significantly and it’s now growing into a professional EDA suite, but it still is not completely there yet, some of the “expected functionality” is still missing. According to https://fund.blender.org/ Blender get about EUR135000 per month of donations, while donations for KiCad probably average out at just a few thousand EUR per month.

I haven’t used buses myself, but did you know that buses were considerably enhanced early in 5.99 development? It’s not well documented yet, but you can find something in Post-v5 new features and development news.

https://gitlab.com/kicad/code/kicad/-/issues/6941#note_478012446

It’s unclear how much you know about KiCad’s capabilities. It’s possible to create atomic parts which have all fields prepopulated. In KiCad you do it by copying a symbol into your own library (or creating a new one). Add the fields and their contents and save the symbol. They just aren’t dynamically populated from a database (if that’s what you mean).

https://gitlab.com/kicad/code/kicad/-/issues/2402

This you can already do. Remove the Mask layer from the copper pad and create a new Aperture pad with the Mask layer.

Slow? IMO it’s pretty fast compared to much of other Open Source. It’s very difficult to say anything definitive about this, you should have some hard data and know what you actually compare.
Paul already gave pointers to monetary support and feature development.

Blender may be the flagship of sponsored Open Source development so it’s a bit unfair comparison. 3D design is probably much more popular amongst Open Source enthusiasts than PCB design. But KiCad is certainly going forward.

3 Likes

In my personal opinion KiCad is probably closest to Autodesk eagle (version 9) regarding feature set. It has still some way to go to catch up to altium.
But even this feature parity with eagle is good for the community overall. It ensures that autodesk needs to continue to invest into improving eagle which drives innovation. Maybe both eagle and KiCad will catch up far enough to altium for them to need to start improving again within a few years.


One major step into this direction will be the full altium import feature when its done. This would allow companies to switch to kicad much easier for some of their projects. This can potentially reduce the number of people who need altium licences and is something that can be done much earlier than getting full feature parity.

1 Like

Good analysis, Bo.

My questions is the other way round: Is Altium a replacement to KiCad?

I have no experience with Altium. I have only played with a 2013 version for a while. Nothing against Altium or any other package.
We switched from OrCad to KiCad in 2005 and we have completed many commercial boards since then. With fine pitch footprints and big BGAs too.

Sometimes I needed a workaround or a hack to get what I wanted. Maybe it took more time to make a project than it would have taken with another tool, I don’t know. I can concede here.

I would add a feature that would make my life easier: I want to be able to edit a corner of a zone and assign its coordinates. Now, I need to zoom in a lot and set a fine grid.
KiCad may have some quirks but one can solve most issues with a bit of effort.

1 Like

…except that Eagle disappearing?.

To me it looks like they are currently working on giving fusion a pcb design workbench. Sounds quite innovative to me. After all getting a parametric 3d design tools feature set for designing PCBs might just be beneficial to users.

If they pull this off then i suspect that this will open up a lot of doors to their users. So it might be quite important to get parametric features into KiCad to keep up with them. (I seem to remember there were plans for getting parametric tools at least for the footprint editor)

Yeah having some background with solidworks, the lack of parametric drawing tools drives me batty. I often resort to making my footprints as dxf and use the various hacks to import then.

3 Likes

Altium has i steep learning curve, that’s true. It’s also much more feature rich. But most of the time you don’t use most of the features.
To be effective in Altium it’s good to rely on the shortcut keys. The list of shortcuts is huge but also very effective. The support for making panels (if you mean combining several PCB to one assembly unit like 2 x 3) is very strong in Altium and in my perspective very intuitive. Panels can be addressed in both gerber editor and PCB editor. PCB editor is the preferred way I thing.
I have not seen any panel support in KiCad.

The drawing capabilites is poor in any EDA/PCB software I know of. You don’t find these in Altium either.
What I find missing/poor support in many PCB software is locking features. You want to be able to lock any critical feature. You also want to be able to lock hole layers.

Yeah, I don’t think it’s smart time investment to recreate solidworks/freecad in kicad. But a solid dxf importer, where for example you can click on closed regions and have them automatically converted to pads, would be great.

1 Like

This is accurate. Several of us are quite experienced with Altium and other commercial tools. The limiting factor right now is developer time. The good news is that many of the things you mentioned are on the roadmap (and some already exist in nightly builds, such as harnesses – but not documented yet, as mentioned)

2 Likes

KiCad is a one project - one pcb tool.

Anyway, combining different pcbs it is possible. Although it’s not easy and prone to errors.

I wuold use this feature only with finished boards and I would not use refill zones afterwards.

With pcbnew standalone mode there is the option “Append pcb”. The netlist and the schematic bond will be lost. It could be kept with a lot of effort.

Footprints can be locked. I cannot check if in v5.99 other elements can be locked, such as edge-cuts or tracks.

Right now there is KiCadStepupMod for Freecad where you can import a design, modify the board edge and push it back.I don’t think I have ever modified a kicad board in kicad since I found this. I’ll draw a crude outline and push it to freecad to fully constrain the board outline.
It can do footprints as well

I think some basic constraint for board design in kicad would be good as presently is it not pleasant … but neither is Mentor Xpedition or others :slight_smile: who tend to do the board outline in another package and export the outline as DXF

2 Likes

You have been able to lock tracks and vias for a while. Locking graphic shapes just got added.

3 Likes

Tighter and more efficient integration with FreeCad (as well as improvements to the DXF importer) probably makes more sense for the project than developing our own mechanical CAD tooling significantly, although there are some minor improvements in our editing/drawing tools planned for the future.

1 Like

I haven’t used buses myself, but did you know that buses were considerably enhanced early in 5.99 development? It’s not well documented yet, but you can find something in Post-v5 new features and development news

-Look interesting I will check this.

It’s unclear how much you know about KiCad’s capabilities. It’s possible to create atomic parts which have all fields prepopulated. In KiCad you do it by copying a symbol into your own library (or creating a new one). Add the fields and their contents and save the symbol. They just aren’t dynamically populated from a database (if that’s what you mean).

-Yes I know of this. This was the old method in Altium and it still works in both packages. With that method you need one symbol copy of every resistor and capacitor value for example. Not very practical.

solder mask
This you can already do. Remove the Mask layer from the copper pad and create a new Aperture pad with the Mask layer.

-Exactly, this is what I had to do when I imported my QFNs to KiCad. And it works, the generated gerbers are the same. The process is time consuming and complicated though.

100% agree.
I can think of 3 options for mechanical improvements:

  1. Integration with Freecad following the way started by KiCad-StepUp
  2. Develope KiCad own mechanical tools
  3. “Copy-paste” Freecad code into KiCad, as Freecad is open-source.
    In my opinion approaches 2 and 3 are a waste of time, resources and effort.
2 Likes

The FreeCad stepup mod is fantastic and yes further improving this would seem a more sensible approach. However, it does rely on people learning a new tool, knowing such a tool exists and being able to get said tool. I think the biggest limitation is its inability to handle custom pads, but a group effort should resolve that

some basic improvements to the outline wouldn’t go amiss though

2 Likes

In my opinion any serious PCB designer needs to be familiar with a mechanical CAD tool. FreeCad is one option, but nothing stops someone from using a paid/commercial mechanical CAD tool alongside KiCad. I have yet to see a PCB design tool that provides an extensive sketching/constraints system like can be found in every mechanical CAD tool. So, I agree with @pedro that developing our own would be a waste of effort: we should just make it easier to interact with mechanical CAD tools, and make special effort to make the interaction with FreeCad easy since we have the opportunity to work with FreeCad developers (and plugin developers) to improve the links in both directions.

Edit: one exception to the above is the cases I’ve seen where a mechanical CAD tool decides to bring in PCB design as a feature (such as the direction Autodesk is going). This is a valid approach, but likely not the right approach for the open-source world.

3 Likes