Free Trials

Download a free trial to find out which Altium software best suits your needs

Altium Online Store

Buy any Altium Products with few clicks or send us your quote to contact our sales

Downloads

Download the latest in PCB design and EDA software

  • PCB DESIGN SOFTWARE
  • Altium Designer

    Complete Environment for Schematic + Layout

  • CircuitStudio

    Entry Level, Professional PCB Design Tool

  • CircuitMaker

    Community Based PCB Design Tool

  • NEXUS

    Agile PCB Design For Teams

  • CLOUD PLATFORM
  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • COMPONENT MANAGEMENT
  • Altium Concord Pro

    Complete Solution for Library Management

  • Octopart

    Extensive, Easy-to-Use Component Database

  • PRODUCT EXTENSIONS
  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • See All Extensions
  • EMBEDDED
  • TASKING

    World-Renowned Technology for Embedded Systems Development

  • TRAININGS
  • Live Courses

    Learn best practices with instructional training available worldwide

  • On-Demand Courses

    Gain comprehensive knowledge without leaving your home or office

  • ONLINE VIEWER
  • Altium 365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    The most powerful, modern and easy-to-use PCB design tool for professional use

    ALTIUMLIVE

    Annual PCB Design Summit

    • Forum

      Where Altium users and enthusiasts can interact with each other

    • Blog

      Our blog about things that interest us and hopefully you too

    • Ideas

      Submit ideas and vote for new features you want in Altium tools

    • Bug Crunch

      Help make the software better by submitting bugs and voting on what's important

    • Wall

      A stream of events on AltiumLive you follow by participating in or subscribing to

    • Beta Program

      Information about participating in our Beta program and getting early access to Altium tools

    All Resources

    Explore the latest content from blog posts to social media and technical white papers gathered together for your convenience

    Altium Online Store

    Buy any Altium Products with few clicks or send us your quote to contact our sales

    Downloads

    Take a look at what download options are available to best suit your needs

    • Documentation

      The documentation area is where you can find extensive, versioned information about our software online, for free.

    • Training & Events

      View the schedule and register for training events all around the world and online

    • Design Content

      Browse our vast library of free design content including components, templates and reference designs

    • Webinars

      Attend a live webinar online or get instant access to our on demand series of webinars

    • Support

      Get your questions answered with our variety of direct support and self-service options

    • Technical Papers

      Stay up to date with the latest technology and industry trends with our complete collection of technical white papers.

    • Video Library

      Quick and to-the-point video tutorials to get you started with Altium Designer

    Best Practices in Hardware Version Control Systems

    Zachariah Peterson
    |  October 21, 2020
    Best Practices in Hardware Version Control Systems
    Whenever you collaborate with a remote team, you need to track revisions throughout a project’s lifecycle with a hardware version control system.

    Some PCBs are simple enough that you don’t need multiple designers working on a large team. Design files basically come in two forms: as 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 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 hardware version control tools you’ll find in Altium 365™.

    What’s in Hardware Version Control?

    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 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 versions of a PCB design project, encompassing everything from schematics to fabrication documents and mechanical drawings.

    A version control management system is responsible for tracking and managing successive changes to any collection of information, including PCB design data. In my opinion, version control 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:

    • Chronological list of revisions to a project. Any added or removed design documents, changes to PCB design data, commit dates, and any comments on design revisions be viewable in chronological order. 
    • Who made the changes. The user responsible for making and committing changes listed in the revision history should be listed alongside each revision. 
    • Created PCB project releases. Anytime a project release with output files is created, the release should be viewable and accessible in the revision history list. 
    • Ability to download or clone each revision. The ability to clone a previous revision of a project as a new version is central to version control. 
    Hardware version control for PCB design
    Whenever you collaborate with a remote team, you need to track revisions throughout a project’s lifecycle with a hardware version control system.

    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.

    When to Clone Projects with Hardware Version Control

    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 where you should consider cloning a project.

    Functional Requirements Changes

    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.

    Components Changes

    You should always sanitize your BOM before you begin a new design, and 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 specialty 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 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.

    Preparing for Fabrication

    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.

    Hardware version control
    Altium 365 makes it easy to clone a project from directly within Altium Designer. Simply select this option from the Projects panel.

    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.

    Altium 365 is the Future of PCB & Hardware Version Control

    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.

    About Author

    About Author

    Zachariah Peterson has an extensive technical background in academia and industry. He currently provides research, design, and marketing services to electronics companies. Prior to working in the PCB industry, he taught at Portland State University. He conducted his Physics M.S. research on chemisorptive gas sensors and his Applied Physics Ph.D. research on random laser theory and stability. His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental sensing and monitoring systems, and financial analytics. His work has been published in over a dozen peer-reviewed journals and conference proceedings, and he has written hundreds of technical blogs on PCB design for a number of companies. Zachariah currently works with other companies in the electronics industry providing design, research, and marketing services. He is a member of IEEE Photonics Society, IEEE Electronics Packaging Society, and the American Physical Society, and he currently serves on the INCITS Quantum Computing Technical Advisory Committee.

    most recent articles

    Back to Home