I know we have some folks here who are into robotics or general tinkering. I occasionally dabble in hardware, but I quickly get out of my comfort zone. I like the freedom to press "undo" or type "svn revert", or make a branch to try out a new idea. When I'm hacking hardware I feel like I don't have that same easy lifeline to get back to a known good state, and that can make me reluctant to experiment.
So my question to you all is whether there are good solutions to this problem? Do I need to learn to keep better notebooks? One problem I have with notebooks is somehow keeping the hardware-related notebook in sync with the project's software, when there's a microcontroller involved. Are there any other tricks for doing "hardware source control?"
what is hardware?
At one level, it may be components connected with wire in a specific setup, usually with a wiring diagram, perhaps with a parts layout, PCB layout, bill of materials, etc. All of these can be put into SVN or GIT. Even photos of the patch cables as you debug it can be controlled by a version control system.
And of course, what we often think of as hardware is actually a microcontroller with firmware. The firmware source code can obviously be kept in SVN, I'd argue that it *must* be kept in something like SVN