Discussing hardware revision control at The Amp Hour podcast


Our co-founder Kyle Dumont joins Chris Gammell in episode #505 of The Amp Hour Electronics Podcast to talk about revision control for hardware projects. Allspice takes Altium projects and makes it easier to see changes and do design reviews for new designs. They also discuss the nature of revision control and what makes it difficult in hardware situations.


The diff tool at the time of the episode. Show here is a schematic from open source Archimajor project.


Conversation


Kyle and Chris covered a wide range topics during the episode, from Kyle's background in EE and work at iRobot to the future of hardware development and unit testing. There were many interesting questions, so here are just a few of our favorite ones:



What's the inspiration behind AllSpice?


AllSpice comes from a deep desire to make hardware development look more like software. Having worked in product development both at a large company as well as a startup, Kyle felt there was no good solution to manage hardware projects in a modern, agile way. His standard workflow revolved around emailing zip files. When trying to use GitHub, he run into many roadblocks around git's feature limitations for electronics files. Cornerstone features like doing a diff wouldn't work for schematics or PCBs as they did for code. Kyle founded AllSpice with his classmate Valentina in graduate school, while both attended the new MS/MBA program at Harvard.



What would you tell a new hire for using Git?


The base of git is a distributed revision control system. Unlike Subversion (SVN), another revision control system used in hardware, git holds the entire history, and only tracks the incremental changes. It is a systems that allows teams to be more agile and collaborative. Many electrical engineers do firmware as well nowadays too. For them, using git for hardware makes a lot of sense, since they're most likely using git for firmware. It allows them to operate in the same type of environment for both sides of their job, in an interface that's intuitive.



What's another analogy between software and hardware development?


While hardware has its intrinsic complexities that need to be accounted for, many of the software development principles do transfer. For example, pull requests (PRs) in software server a similar purpose to design reviews or engineering change orders (ECOs). PRs though are quickly done online on a daily basis for things big and small, while design reviews and ECOs tend to be long waterfall-like processes that happen to infrequently and involve zip email attachments, in-person meetings and countless slides with screenshots. There's a huge opportunity to, similar to software, make design reviews and ECOs digital, automated, and asynchronous to speed development cycles.


Hear the rest


Listen to the full conversation in episode #505 of The Amp Hour Electronics Podcast.