The Case for Modular Design.
by Jon M Quigley
I sit in awe at the variety of things that can be built with Lego. One is bound only by one’s imagination. However the wonders of modularity are much more than kids play and business and engineering can learn considerable from these ideas.
Even before I was playing Lego’s with my son, I was an embedded engineer for a company that developed industrial process control products. I worked there with Rick Byrum (founder of Raptor Performance). The experience allowed me to work with both hardware and the assembly code, mostly Intel and Microchip products of microcontrollers and the obligatory 7400 series accessory chips. The company we worked for was rather small. Their product offering was customized to meet a variety of manufacturing demands. It seemed as if every day a new variant for the product would be required. Working with Rick, we set about a plan that would allow one core set of hardware and embedded software to be used to meet this wide variation in product permutation and expectations. The product had one enclosure, with one operator interface, however, the inside would be populated with electronics and software defined by the customer demands. Portions of the printed circuit board were populated depending upon the customer order and the same was true for the software, parameters were adjusted to enable features. That included analog outputs controlling switch mode power supplies. We found considerable savings in self-imposed “standards” that made adapting the product further much easier. Additionally, the reuse of tried and demonstrated hardware and software reduced the risk to future product iterations. In an earlier model (prior to the convergence on one base design) we found a particular input transient that would generate a latch-up condition. This learning on the way was used in the convergence reducing this risk of occurrence to all incarnations of the product rather than managing this change across a variety of hardware and software platforms.
Using common parts and subassemblies reduces lead times and risks to the larger project. For example, consider the reuse of the power supply section for a product that will be exposed to a similar set of stresses as the present product. The power supply for a microcontroller family will have a similar set of performance requirements such as:
• allowable ripple voltage content
• maximum operating voltage
• minimum operating voltage
A product that has been out in the field and in known applications provides us with first-hand knowledge (via our customers) on how the product is used and performs. With a core platform we learn from one product that can improve the modules of other products using that module. Essentially we are constantly learning and improving all of our product quality from these interactions. Specifically, we are talking about warranty costs, as well as return and service information. In a single core design we are more readily able to make one set of adjustments to a variety of our products.
Recycling or reusing parts of the design shorten the product development cycle and minimize the impact upon manufacturing including the material handling (storage of parts). Additionally, the deficiencies found in one product (sub assembly or module) can now be corrected and easily considered for application in the other product incarnations. In other words, we update our other products to include this change improving those products quality along the way also.