Diagnosing Embedded Boards - The Band-Aid Approach

Diagnosing Embedded Boards - The Band-Aid Approach

 


The role of hardware engineers include design, develop, debug, test and integrate. Testing involves following the steps written as per test procedure to see if the board is functioning as per design or not. While this looks straight forward, the actual trouble starts for the engineer when one of the test scenario fails. There are very talented engineers world wide especially in the hardware who can just give a solution to a problem without even looking into it. While on the other side of the coin, there are some who struggle to find the exact problem and struggle with the product timelines. Whatever may be the expertise and scenario, engineer at some point has to come with a solution to a problem. 

During debugging an issue the engineers use all kinds of tricks. Let us see what an engineer normally does:
  • Thoroughly look into the design and see if there is any issue with the design
  • Read the datasheets to understand the characteristics of the Electronic component used
  • Probe the signals
  • Check with the firmware team to understand if it can be solved by firmware
  • Talk to more experienced people and understand if they have seen such issues
  • Read through manufacturer forums or general forums to check for similar issues faced by others
Every engineer has their own style of working and approach to a problem. The point is whether the correct solution is found out or not. This is where the engineers decision leads to a Band-Aid approach. Band-Aid approach is nothing but an engineer comes up with a fix to an issue and ultimately it turns out to be a temporary solution and not a permanent one. The fix might not work for some time and the same problem might repeat after vigorous testing. The Band-Aid approach is just not limited to hardware and it can happens in firmware as well. Infact, there are more chances happening in firmware design. 

The major reasons for the engineers not able to provide a permanent solution some of the times is:
  • Not understanding the exact scenario when the problem is occurring
  • With a temporary solution testing few scenarios and declaring that the fix has worked

Example Scenario for a Band-Aid approach:

Let us assume an engineer is reading an analog input in a Microcontroller. The analog input shall be from a real-world sensor. Now, the requirement is designer has to read Analog signals over ADC and pass them over serial port. Many mistakes happen here and without considering the proper sampling rate, noise on the signal, improper filtering, considering improper sample count and not considering averaging before declaring are commonly seen. During testing if it is found that analog value is not exactly reproduced, then the designer might change few parameters while ignoring other causing errors at a later point of time.

Post a Comment

0 Comments