Some PCBs are simple enough that you don’t need multiple designers working on a large team. Design files basically come in two forms: the initial project files, and the final project files once the design is complete. The way my team works, we often receive some design files from a client to help us get started, and we have to manage everything ourselves after that. Any project can get very complex, and the PCB design team needs to track revisions throughout a project.
Why worry about tracking hardware revisions? In the event you ever receive changes to product functional requirements, major changes are made to your product’s architecture, or you’re ready to finalize the design and prepare for fabrication, it’s best to clone a project at its current state and begin working on a new version. Keeping track of all these design changes in a PCB design project takes the type of tools for hardware version control for PCB designers you’ll find in Altium 365™. In this article, we will discuss hardware version control best practices and version control numbering best practices.
What goes into hardware version control and when should you use it? What does it take, for that matter? The software world has been using version control for electronics ever since Linus Torvalds created Git in 2005, and useful hardware version control systems have struggled to catch up until only recently. Hardware version control provides a simple way to keep track of older electronics version control of a PCB design project, encompassing everything from schematics to fabrication documents and mechanical drawings.
A version control management system is responsible to track hardware changes and managing successive changes to any collection of information, including PCB design data. In my opinion, version control for electronics is a necessary feature to take advantage of when possible, especially if your team works on complex PCB design projects with multiple collaborators. The best version control systems for hardware development provide some important functions and pieces of information:
Version control systems can track all of these data and revisions on a local server, or in the cloud with a managed server. This gives you access to earlier versions of a project, either to rollback/clone a project in a previous state, or to simply download the old project data for other purposes.
Whether you’re tracking revisions on software projects or PCB design data, you may need to roll back to an earlier project version for a number of reasons. If you do plan to clone a project within your version control system, here are some times when you should consider cloning a project.
Customers or an engineering team may change your product’s functional requirements for any number of reasons. When there is a change, it is a good idea to clone the project in its current state and apply revisions to the cloned project. By forking the project to a new version, you can always revert back to the previous project if the new functional requirements are abandoned.
You should always sanitize your BOM before you begin a new design, especially before beginning a new PCB layout. Even if you looked into component stocks early, the supply chain can change quickly, and it’s possible that important components have gone EOL, LTB, NRND, obsolete, or out of stock.
If this happens with an MCU, FPGA, or other specialties IC, the replacement component may contain an entirely different pinout. Here, you can clone the current project and place the new component in the new project. In the event the old component becomes available, simply roll back to the old project. I’ve found this is useful when a client is a dead-set on a component like an MCU that they can’t source, but they still want a manufacturable board with sourceable components. You’ll definitely put a smile on their face when you hand them both versions of the project.
Once you’ve released your design data to your manufacturer (and if you paid the NRE charge), they may make some changes to the layout or output files. I always make a copy of the finalized project before releasing it to the fabricator, and then I tell their team they can make whatever modifications are needed. They’ll normally send back a set of design files with any required modifications applied directly.
In the image below, Altium Designer makes it easy to clone a project on the Altium 365-managed content server without going through my web browser. I already have the project entered into version control and synced with the files in my Altium 365 Workspace, but I can easily clone the project and save a new copy to my Workspace; there's no need to download and re-upload the cloned project. I could also use this cloned project as a new variant, reuse it in a new design, or use it as a backup as needed.
There are many other ways and reasons to use hardware version control for your PCB design projects. No matter which task you need to complete, you need to use a world-class data management system that integrates directly with your PCB design software.
Version control is a simple, yet powerful concept that more designers should consciously embrace. When I was first getting started working with a remote team, each designer would track their own series of project revisions on their local computer. In some cases, the client would handle these tasks using a proprietary system. These solutions are inefficient, and third-party solutions won’t integrate with your PCB design software.
The same version control processes used for software can be used for hardware version control with Altium Designer® and the Altium 365® platform. Design teams can create a productive and collaborative PCB design workflow by bringing designers, end users, and manufacturers into the development process. Everyone on your team will have access to supply chain data, commenting features, and data-sharing tools to help streamline PCB design collaboration.
We have only scratched the surface of what is possible to do with Altium Designer on Altium 365. You can check the product page for a more in-depth feature description or one of the On-Demand Webinars.