Prototyping an Electronic Design
Prototype circuit boards are generally assembled by an electronics engineer rather than an assembly line worker or technician. During the design of the circuit, some portions of circuitry may have been tested by "bread-boarding" (making up the circuit in a makeshift form) or simulation (using SPICE, a circuit simulator). During prototyping the remaining areas of circuitry are usually tested in isolation, before debug begins on circuitry as a whole - this is sometimes done by assembling the PCB in stages, or by assembling the PCB with Integrated Circuit (IC) sockets. The testing itself is according to a plan developed for the design - the debug test procedure.
At AirBorn Electronics we build up in stages because There's no debugging harder than fixing a symptom that has more than one cause, - it's a lot easier to find faults one at a time.
What... don't these things work first time?
Usually they do... by the time the customer sees them. And many of our debugging tests are passed first time. But there's a law out there that says If you don't test something thoroughly, it'll probably fail later.
At AirBorn Electronics we have a good stock of electronics parts and materials available. As the prototyping proceeds, areas of the circuitry will be tested and this often involves building up small test jigs, for instance to mock-up an input device. As and when problems are found, the solutions are often tried on the prototype circuitry directly, by adding components or rewiring.
Prototype testing usually involves some verification of design parameters such as timing, temperature susceptibility and supply voltage variation.
We debug microprocessor circuitry on the target, in the operating environment, using specifically written Diagnostic Programs. Most other designers debug microprocessor circuitry using emulators, - you have to be quite sure of your code to go straight to the target. The advantage of Debugging on the target is that we debug using the real units operating characteristics early in the prototyping, and then when we have properly debugged the hardware we change to emulator or romemulator for software development. Again, it is about being thorough in our work.
As we mentioned previously, we always produce atleast two identical prototypes when testing a design. We can compare tests using those two boards, and quickly resolve if any problems are a design issue or a component failure. We may also produce mockups at some point in the prototyping process - mockups are non-functional PCBs used for physical sizing.
Usually a mockup will just have a few parts on it - as testing of where connectors are placed for instance - we usually produce mockups on bare laminates with no tracks. We have been involved with companies that have used full populated non-functional mockups with tracks as sales tools, but frankly it seems a bit duplicitous. Some companies produce a lot more than 2 prototypes - for instance 12 is not an unreasonable number if a number of programmers are involved with the product. Some companies go through several iterations of prototype - some may have up to 7 revisions before going to pilot run. Obviously, the more prototypes and iterations the larger the cost of the project - but it also gives the design team a lot more opportunity to smooth out any wrinkles in the design. It is all a case of balancing costs against return.
Time is a great teacher, but unfortunately it kills all its pupils -- Hector Berlioz 
Computer Folklore A novice was trying to fix a broken Lisp machine by turning the power off and on.
Knight, seeing what the student was doing, spoke sternly: "You cannot fix a machine by just power-cycling it with no understanding of what is going wrong."
Knight turned the machine off and on.
The machine worked.
-- MIT AI Lab "AI Koans"
[Tom Knight was one of the Lisp machine's principal designers]
Overview
Workshop tour
Coding
Design Test