One task that I’ve seen grossly under-estimated (and have under-estimated myself) is the time that it takes to construct and debug prototypes. This blog has a few tips on saving time (money) during the build and debugging of a prototype.
Douglas Hofstadter illustrates the difficulty in estimating the time that it takes to accomplish a complex task in in his book, Gödel, Escher, Bach: An Eternal Golden Braid. “Hofstadter’s Law” is as follows:
It always takes longer than you expect, even when you take into account Hofstadter’s Law.
Every engineer, programmer, industrial designer, and project manager knows this, even if they’ve never had a name to pin to it.
It is typical for more off-the-shelf components to be present In a prototype than in a design that’s closer to production. This is done to save time and money. Another thing that gets done for the purpose of saving time and money (but often doesn’t) is corner-cutting.
Corner-cutting during the design phase can seem like an easy way to save time. It can also cause problems down the road when you’re building (and subsequently, debugging) your prototype. Such corner-cutting is often justified with “We’re only making one and we’re only going to use it once and then we’re going to throw the whole design out and start from scratch.” Not every prototype design decision that follows a sentence of this sentiment is a bad one, but many are. So beware of these pitfalls.
Outsourcing the construction of a part or subassembly has its advantages. It forces you to put enough detail into your design documents that the part/component can be built by somebody else. This steers you clear of designing while simultaneously building, which can be a disaster for your budget. It can also save you from the all-too-frequent problem of allowing documentation of what was built to become an afterthought in a (possibly) already-over-budget project. Your design deserves excellent documentation. This tip also puts the cost of construction into your materials budget instead of using expensive engineering time. In my own experience, time budgets are a bigger risk for exploding way beyond what was expected than materials budgets.
Wiring harnesses are a great example of subassemblies that can be advantageous to outsource. “Building wiring harnesses is always easy, I’ll just build the wiring harnesses when I have the boards. Drawings for our wiring harnesses are an unnecessary use of time for a prototype” is a thought that occasionally follows the “We’re only making one of these…” sentence. I’ve fallen victim to this myself. I give credit where credit is due to my colleagues, Peter Kazakoff and Kenneth MacCallum, who gave me the idea to include this piece of advice.
If you draw up the wiring harness ahead of time with connector part numbers, wire UL ratings, total wiring harness length, etc., you can outsource the design to a third party that specializes in building wiring harness. They can often build a wiring harness for less cost and they’re likely to have exactly the correct crimp tool for your first choice of wiring harness connectors. It’s a good idea to check with the company regarding which connectors they already have tooling to support.
This method of “make a well-thought-out design and outsource the manufacture” applies to mechanical parts and PCB assemblies as well.
When designing electrical systems for prototypes, it’s often tempting to “just” take a bunch of off the shelf parts and wire them together or (worse yet) “just” solder some complex circuitry together on a perfboard.
Designing a custom PCB while being cognizant of the fact that it will likely be hand-modified can save huge hassles. Many people will say (and I’ve made this mistake) something to the effect of “but I know that I’m going to need to debug my system and I know that I’m going to have to make electrical changes. I should build something that doesn’t commit me to a particular schematic”.
In my experience, if the very likely (nearly inevitable) hand-modifications to a custom PCB designed for a prototype are necessary have been considered during design, then cutting traces and kludging on additional parts may be messy, but often no more difficult than modifying something that’s been wired point-to-point or soldered together on a perfboard.
Another advantage of using a PCB is that you can often design it to use strictly off-the-shelf cables instead of custom wire harnesses. In this case, check out Kenneth’s blog article I Hate Wires and Christian’s article Prototyping electronic systems: Tips for avoiding rework for more information on why PCBs can save a lot of pain, time and money in the long run, despite their upfront design cost.
“Oh, I’ll just solder this directly to the PCB instead of using a connector to ‘save time’”. I recommend avoiding this. It may save time in design, but not being able to disconnect things costs a lot of time in the debugging process. Using proper connectors and all that jazz also helps keep things neat. Keeping things neat leads to less stressful debugging, and in the long run, happier clients.
“But we’re only ever building one of these and I don’t think that’s the most cost-effective approach for a one-off”. In some cases, this is true, but in even more cases, your client tells you that you’re only building one, and then they ask you to build another. The next time that you’re “only building one” of a particular assembly, take a moment to ask yourself: “Am I really certain that we’re only going to build just one?” This tip can prepare you for the predictable surprise of a client asking for a second (often identical) assembly.
I hope this article has given you ideas for planning your next project. If you have additional thoughts on how to save time during the build process, I’d love to hear them.
Kristofor Dolberg is a StarFish Medical Electrical Engineer. He often writes on designing PCBs. Kris is a graduate of the University of Victoria where he was part of the ECOSat team that won first place in the Canadian Satellite Design Challenge.