The 10 Considerations of Circuit Design

Why 10 considerations?  I've only written down 10 considerations, but perhaps there are other reasons.  Human beings have 10 fingers and 10 toes.  Ten is an even number that is divisible by 2 and 5.  Philosophers tend to like lists of 10 items.  Regardless of the number and the origins, here are 10 considerations that I've found to be useful.

  1. Read the datasheet completely from the first page to the last.  Important information is often given in small text and in footnotes.  Never skim a datasheet.
  2. Do not use a component in a design if the datasheet is missing crucial information or if the Errata is too long.  Always read the Errata before using a component in a design.  Can you as a designer deal with certain errors for the lifetime of the circuit?
  3. Consider the time and effort expended by the circuit assembler, even if that person is yourself.  Always design the circuit in a manner that is easier to assemble and repair.   Never place switches or mechanical interface components on the underside of a PCB or in a place where the component cannot be easily accessed.  Always compare actual components with a 1:1 drawing of the PCB to ensure that pins fit into holes or can be properly soldered on a PCB.  You should always have a printer close to the computer used to design the PCB, since a 1:1 drawing can be easily printed out and compared with components.

  4. Rate components for at least two times the maximum current, power or voltage; alternately, for large and expensive parts, ensure that the part is utilized for 80% of the maximum, or by another percentage indicated by a design standard.

  5. Select a microcontroller, processor or application specific integrated circuit (ASIC) that is well-supported by the manufacturer with adequate documentation including tutorials and application notes.  Do not use parts that are not recommended for new designs (NRND) since there is no guarantee that the part will be available in the near future.

  6. Write code to understand the operation and pin assignment of microcontroller pins before the circuit is designed.  Some pins may not work as expected due to errata; moreover, the electrical properties of pins shared with peripherals may provide unexpected surprises.  For example, analog ADC pins may have to be switched to a digital state before use, or vice versa.  Ensure that you as the designer are aware of these considerations before the PCB is designed.  If the code is too challenging to write for a given microcontroller or microcontroller family, choose another part.  Life is too short to work with electronic components that are challenging to use.   

  7. Do not re-use programming pins for peripherals.  The practice is to be discouraged since programming pins are often useful for debugging during device operation.   Also, ensure that one logic-level serial port is reserved on the device for debugging.  Printed debugging statements are sometimes easier to work with than registers listed in a debugger view window.
  8. Do not select components with long lead times or components dependent on conflict minerals.  Circuits are designed to be used and a long lead time is deleterious for development since some parts are often out of stock when you order them for prototypes.  Ensure that substitutes are available, and always remember that human life is more important than things.  A capacitor might work well, but the societal benefits of a circuit do not outweigh the fact that people were killed or abused to source the raw materials.  

  9. Calibration tasks should be automated.  Remember that an analog potentiometer can only be used to tune a circuit to a given extent.

  10. Do not show anger or resentment toward the system that is developed or tested.  Kindness and thinking through problems will be repaid by good functionality.