Collabortive workflow

Hello everyone,

I am currently evaluating KiCAD as a potential replacement to the software Diptrace. I think that KiCAD is more popular then Diptrace and there are more options/features available that will be good in the long run.

Right now, I have myself and my partner that are the main engineers. We are wanting to know more about collaborative workflows so that we both can work on schematics/board layouts.

Ideally, it would be nice if there was a google docs (or live share) like thing that would allow us to work on the schematic/board layout at the same time. I think that Altium has something like that but Altium is too expensive. Might be a long a shot if KiCAD has that.

I was looking at inventHub and that might be a good potential for doing some collaborative work where we both can view the design files and comment as necessary. Price isn’t too bad.

But I want to reach out to the community to see what my options are in terms of collaborative workflows. If invertHub is a good option or if there might be something better out there.

What options do I have in terms of tools/plugins that can enable to do collaborative work? At the very least, it would be nice to have a tool for KiCAD where we can view schematics/board layouts and make comments and track changes. Is inventHub the only option or is there other tools out there.

If there are no “good” options then what would be a good workflow for doing collaborative work with KiCAD?

If you really want to do simultaneous editing of schematics and PCB, Gdocs style, KiCAD is not for you. To start, KiCAD doesn’t have cloud backed to achieve the file synchronization.
Altium colab. work is not as cool as one might think. Yes, they allow collaboration, but you won’t be editing the the same traces or moving the same components at the same time.
Just out of curiosity, what is the practical use case for parallel editing of the same schematics or same PCB file?
I never had the need. However I worked in the companies where I either had work on only schematics or PCB or just one project at a time.

Hello trancecat, thank you for the feedback.

Google doc style collaboration is not a huge gamebreaker. That would be the ideal case but willing to adjust based on options available. I am hoping that KiCAD can meet our needs. There are things about the program that I like (being able to do commercial work with open source and not paying 1000s of dollars for software is a very attractive feature).

Anyways, back to the question.

We are currently a 2 man shop hoping to expand in the future. We are looking for tools for doing collaborative work especially for the design review process. We like to do comprehensive reviews of schematics and layouts before sending it out. With Diptrace, we have to constantly kick the design files back and forth between each other and this has led to issues where certain things didn’t get updated because the lead didn’t have the latest version. As our designs are getting more complicated kicking the design files back and forth is getting cumbersome. It might “work” for now but long-term wise I don’t think it is a good solution.

During the design review process, it would be nice to be able to have both of us fix any issues we see. And having the file update accordingly. But I understand that this might not work as well as I think.

So really, it comes down to design review workflow. At least, if there is some way for us to comment on schematics or layouts and ensuring that all files are synced accordingly and we have the latest version. Also knowing what got changed.

I know that KiCAD is not the best with Git but comparing with Diptrace, KiCAD is better with Git source control so I like that option.

1 Like

So if there are any recommendations on plugins or services that can facilitate the design review process based on what I shared above, please let me know so that I can look into it further.

There is not something built-in to KiCad for doing design review markup (at least not right now).

It works perfectly fine for us to use external tools like Git, GitHub, and google docs for doing collaborative design review.

If you have a budget, https://cadlab.io/ is a commercial tool that may be what you are looking for.

Hello Craftyjon,

Thank you for your reply.

Yeah, I was looking at inventHub and cadlab. A small cost is acceptable if it is worth having the tool.

Most people professionally just use shared network folders and/or source control like git.

In our windows network, we even have VSS turned on so we can revert a shared network folder if somebody messes it up at the Windows server level.

Just an opinion, someone should be the owner of the design and nobody else should be editing the design but all feedback sent to them. Otherwise you get the “too many cooks in the kitchen” problem.

1 Like

Yeah, the shared network folder is a good idea. But the problem with Diptrace is that there is a lock file on there so only 1 person can view the schematic. I would imagine that it is similar to KiCAD.

Git source control is another good option. It “should” work with Diptrace. The only thing is that Diptrace saves their files in binary format. Not a problem for Git as it can still “track changes” with binary. What I like about KiCAD is the text based saved format so I can at least parse through and “read” the changes between versions. So that is nice…

I had a conversation with my business partner and we will most likely switch over to KiCAD. I think that KiCAD does have some tools for collaborative work (collab lab and inventhub) even though there is a small fee (I think that invent hub has a free tier which we can make things work with it). Also, we can do commercial work with KiCAD without paying fees and also we can easily expand for when we bring more people on to work with us. Also, having the python scripting is a very nice option to have and very attractive to us.

Just want to get the workflow down for doing collaborative work with KiCAD since we are switching over. Best to start off with good practices instead of developing bad habits and then having to switch later.

You can ignore the warning and both can view. Two people saving though may end bad. lol

Since it sounds like you are not scared of Git, I would definitely recommend that vs. using a shared network drive. Fewer things to go wrong, and more resilient to network problems. We have been using Git for version control of hardware designs in KiCad and Altium (binary format, like DipTrace) for many years. It is valuable even if you do not have the ability to diff and merge.

Nope, not afraid of Git at all. We specialize in embedded systems and using Git is required for our projects where we need to do firmware development

Now I see what you meant. As many people already mentioned, you can use git and many different tools for revision control. Same goes for library management. And with the new Kicad v8 you get db libs.
We use a standalone tool for review of designs, where we upload pdf’s for formal review and approval.
It would be interesting to hear about your experience with cadlab or inventhub. I have only positive things to say about cadlab.

@trancecat

Can you describe a little bit about the tool you use for design review? When you upload the files, does it get sent to other engineers within the organization?

We are looking to improve our design review process. Even though it is just us right now, we want to implement good practices now so that when we scale up, it will be easier to bring more people on board.

I have no experience with it but have you looked at Allspice.io - this is git based and claims to support KiCad.

take a look at how Altium is doing “CoCreate” for ideas…

The tool we use is SmartBear collaborator. We inherited it from our SW people.
The point is that we generate a PDF with schematics and some parts of the PCB(copper, silk and some other mechanical drawings) when we release a design for review.
In the collaborator we can upload any files we want, annotate the ones it can preview, have discussions and approve things for re-work and fixes made. It’s possible to invite people join the review. All the participants get notifications(email or whatever you connect). This tool allows very strict workflows, where certain people have to approve certain steps. So if you need very formal review not just for design verification but also documentation, QA and compliance – this is one way to do it.

@trancecat Thank you for that! I think that you gave me a few ideas on how we can improve our own workflow!

Thank you all who have replied! I will certainly be taking some time this week to explore the options and suggestions. I think that KiCAD can do what we are looking for to some degree even if we have to use external tools. But the fact that there are tools that support KiCAD to do this stuff is much better then the Diptrace software.

Flux is the poster child for collaborative editing. Anything else is better done with the file sharing or revision controls tools already mentioned.

Personally, revision control seems like a much more beneficial way to collaborate. KiCad’s text based files make this very powerful - changes can be reviewed, reverted and if you really need to, carefully merged. But still, I’d be relying on good engineering design, including hierarchical schematic sheets, to engender successful collaboration, rather than hoping simultaneous edits wont end in tears.