Tuesday, June 25, 2024

Arduino Based Digital IC Tester Using MATLAB

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.

- Advertisement -

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.


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.

- Advertisement -

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


  1. Dot indexing is not supported for variables of this type.

    Error in ic_tester_new>popupmenu1_CreateFcn (line 110)
    set(handles.text2, ‘String’, ‘Please select an option from the dropdown’);

    Error in gui_mainfcn (line 95)

    Error in ic_tester_new (line 41)
    gui_mainfcn(gui_State, varargin{:});

    Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)ic_tester_new(‘popupmenu1_CreateFcn’,hObject,eventdata,guidata(hObject))
    im getting these errors after running the code


Unique DIY Projects

Electronics News

Truly Innovative Tech

MOst Popular Videos

Electronics Components