Guest post by Matthew Venn, a full-time inventor and maker. As well as making cool stuff like the polargraph energy monitor, maze puzzle box and snowflake simulator, he is a great science communicator, designing and delivering science workshops to thousands of children worldwide. https://twitter.com/matthewvenn
While I was developing the electronics for my energy drawing robot, I ran into a weird problem. On the lab bench the electronics and the motors were working fine – but every now and then at home the robot would lose its place and start drawing off the page. It was super-annoying because every time I took the circuit back to the lab it would work again!
When we’re working on a project and we know there’s a new challenge to solve – some tricky mechanics, a different painting technique, a new ingredient to add – we’ll usually try solving it in a low-risk situation, where failure isn’t a problem. Then, when we’re happy it all works, we give the project its real launch. What we’re aiming to avoid is failure after we think we’ve finished – ‘but it was working before!’
Prototyping is an interesting field because in a way, we want things to fail: we want to shake it and break it and test it until we’re sure all the bugs are out. But in other areas of life, people mostly try to avoid failure. I think learning is all about staying on the cusp of failure – not too much to be completely frustrating, but enough that we’re out of our comfort zone.
James Dyson famously made over 5,000 prototypes for his hoovers. But it’s not just about getting better at what we do, and therefore making better products; mistakes along the way can lead to interesting new ideas in their own right. Check out musician Matthew Herbert’s manifesto of mistakes.
We’ve all experienced the frustration of a thirty-minute task that turns into a day’s work! To avoid this I break a project down into smaller tasks, then try to identify how risky and time-consuming each of those individual tasks are. I’ve found that it’s important to be able to identify the riskiest part of the project and have the discipline to start on that first; once the hardest part has been dealt with, we can move on until the whole system is working.
My main field is electronics. Using a new microchip always carries a high risk factor: sometimes they work as expected, but often they take a huge amount of work to get working right. To help counter this I keep a timing and risk spreadsheet for projects complex enough to need one. I make a note of the estimated risk factor and time for each task, and then multiply the time by the risk to help me get an overall estimate of time.
If you’re using any software, learn a version control system like git or svn. These tools make it cheap to try large changes and then keep or throw away the results. They can also enable collaborative testing with people in remote locations.
How can we fail better?
An important thing to remember is that prototyping is a process, and as with any process, we can improve on it with practice and awareness. What do you always fail at? What could be better? What are you always repeating? What is frustrating? As you work, make notes on what you’re learning, so that if it’s a month or year until you return to the project you can still benefit from the mistakes you’ve just made.
Prototyping is changing
Prototyping in the electronics and mechanical world is changing for the enthusiast. I think the two most important changes are the speed with which we can create and test mechanical objects, and the modularity of electronics.
Laser cutting, 3D printing and home CNC have really taken off, with many small machines available to those with a modest budget. The benefit of being able to create a physical object and manipulate it with your hands is hard to overstate.
Even if you don’t have access to these technologies, the turn-around time and low cost of some laser-cutting shops is now such that within a few iterations you could be holding a new product in your hands. One project exploring this is Stuart Child’s SNIJect, which looks at the difference between iterative design with and without access to a laser cutter.
The Arduino wasn’t the first prototyping electronics board, but one thing that really helped it to succeed was the standard (although idiosyncratic!) form factor of the I/O pins. This enabled people to build ‘shields’, which allows hardware reuse. Take a look at http://shieldlist.org/to see how far this has gone! For most embedded projects it’s now possible to just buy the shields you need, plug them together and write the software.
The open source/hardware movement has now fully taken off, and we can reap the rewards of all the hard work that people have put in over the years. Amazing things are created, documented and shared on sites like instructables andthingiverse
So how did I fix my robot? I realised that what was changing from lab to home was the power supply; the lower-quality wall wart I had at home was introducing problems in my circuit. Working this out taught me that to fully test a prototype I need to simulate as closely as possible its end environment (including power supply). Sometimes it’s not enough for a prototype to work on the bench; we need to simulate the target environment too.
And this is what prototyping is all about: deliberately trying to make the mistakes early, when they are easy to solve – then learning from the mistakes that make it through. If you’re not making mistakes, you’re not learning.