Arduino Based Digital IC Tester Using MATLAB

By Saikat Patra and Shibendu Mahat

31453
Advertisement

Testing of digital electronic systems generally involves applying a set of test stimuli to inputs of the device-under-test (DUT) and analyzing responses of the system using a response analyzer. If the DUT generates correct output responses (also called the golden response) for all the input stimuli, the DUT is regarded as fault-free. Those DUTs that fail to meet the golden response are regarded as faulty or defective. This project describes a digital IC tester for testing 74xx series digital ICs using a MATLAB graphical user interface (GUI) drop-down menu based approach. Block diagram for testing a device is shown in Fig. 1.

Block diagram for testing a device
Fig. 1: Block diagram for testing a device

MATLAB acts as the test stimuli generator to the IC, which is the DUT. The GUI initiates communication with the Arduino and provides a user-friendly and interactive approach to conduct the test. The MATLAB source program (ic_tester.m) acts as the response analyzer and displays test results on the front panel of the GUI.

Authors’ prototype of the Arduino based digital IC tester and the MATLAB based GUI front panel are shown in Figs 2 and 3, respectively.

Authors’ prototype of the digital IC tester
Fig. 2: Authors’ prototype of the digital IC tester
MATLAB-based GUI for testing the ICs
Fig. 3: MATLAB-based GUI for testing the ICs

Digital IC tester circuit and working

Circuit diagram of the Arduino based digital IC tester is shown in Fig. 4.

Circuit diagram of the digital IC tester
Fig. 4: Circuit diagram of the digital IC tester

As mentioned earlier, MATLAB is used to apply stimuli to the DUT (74xx series digital ICs) and also record the response of the DUT to stimuli. It then compares the response of the DUT with the correct/golden response to test whether the device is faulty or not. For a digital IC, the correct response is given in the form of a truth table. Acting as a response analyzer, the MATLAB verifies each and every possible outcome according to the truth table of a particular IC.

74xx series ICs that can be tested by this project are 7400, 7402, 7404, 7408, 7432 and 7486. Truth tables for these ICs are shown on the next page.

Software

1. Arduino IDE 1.6.5 is used to program the Arduino. The GUI application program has been developed in the R2014a version of MATLAB. The procedure to install the ‘Legacy MATLAB and Simulink Support for Arduino Package’ is described in ‘Controlling a Robotic Car Through MATLAB GUI’ DIY article.

2. After correctly setting up the path for the package, open source code files (ic_tester.m) of this project. Keep both the source code files in the same folder. Edit COM port (in the line a=arduino (‘COM19’)) with the port number in your PC where the Arduino Uno board has been installed. Run the file and click ‘Connect’ button to establish connection between MATLAB and Arduino Uno board. After successful communication is established, select proper IC from the drop-down menu and click ‘Test’ button in the GUI to test the IC.

Download source code


Saikat Patra is passionate about electronics and MCU-based embedded system applications.

Shibendu Mahata is an M.Tech (gold medallist) in instrumentation and electronics engineering from Jadavpur University. Currently, he is pursuing Ph.D from NIT, Durgapur. He has keen interest in MCU-based real-time embedded signal processing and process control systems

Advertisement


23 COMMENTS

    • The author Shibendu replies:
      Our program will work only for the 74xx series. Since the 4xxx
      series has different input-output pin configuration, hence, you have
      to modify the program by configuring the i/o pins of Arduino as per
      the pin configuration of the 4xxx series. Similarly, the test circuit
      also needs to be changed accordingly.

    • Hi Ashfaq all the informtion is provided in the article. Please reply, if you need any specific information about the project.

  1. Hello Sir,
    The code required for Arduino is not given.
    Can you please share Arduino code?

    Thanks and Regards,
    A. D. Kale

  2. hello , i used all the information and all the circuit is right but when i click connect it give me error , can you reply me very urgently please

SHARE YOUR THOUGHTS & COMMENTS

Please enter your comment!
Please enter your name here