During electronex, I've made some notes on good designs shown below. These are good tips in general to keep in mind.:

  • Low BOM cost does not always lead to low product cost. Don't forget cost of setup/testing/design etc...

  • Must design for testing in the beginning of the design process or it will be harder to test later on.

  • Built in self test can be useful in the right circumstances, so reserve some extra gpios/adc if possible for it.

    • Increase in BOM cost
    • Decrease in production cost. Less test equipment/processes.
    • Decrease in field servicing cost. Self-diagnostics if test parts left in after production.
    • ATE and service can be simplified for functional testing. Leading to reduction of ATE cost and services up to 95% for a cost of a minor BOM increase.
    • Does require additional software in device firmware.
    • Cost can be zero if done opportunistically. (Example given, is selectively turning on modules to check power draw)
    • Cost can be minimal if located in test fixture.
    • Needs test points for the automatic test equipment
    • Need to manage ESD and potential fault so design care required.
    • e.g. Successful Endeavours had an example where they had a test rig that was fully passive. The test logic was done via spare gpio in the device MCU. This avoids the need to create a separate MCU or codebase to maintain the test rig. Test code was left in the MCU. Its their policy decision that its okay to do so.
    • Reserve GPIOs for timing test in software. This requires preplanning with the software teams to work out what are the critical parts of the software that needs to be monitored via external test equipment.