Arduino Projects: Digital IC Tester With Embedded Truth Table

Bhaskar Jyoti Borah is studying physics at Tezpur University, Napaam. He has received INSPIRE scholarship under DST scheme. He has also won The Optical Society Best Scientific Model award at South Asian Workshop on Optics and Photonics-2015, organised at IIT, Guwahati & Rajib Biswas is M.Sc from Dibrugarh University, Dibrugarh, and a doctorate from CSIR North East Institute of Science & Technology, Jorhat. Currently, he is working as assistant professor in department of Physics, Tezpur University, Napaam


Construction and testing

A single side PCB of the transmitter unit is shown in Fig. 4 and its component layout in Fig. 5. One can use this PCB as Arduino shield with Arduino Mega ADK board using 12V power supply at CON2. Otherwise, Arduino Mega ADK board can be interfaced with the PCB using cable connectors and power supply from 12V/1-amp adaptor.

Fig. 4: PCB pattern of the arduino based digital IC tester
Fig. 5: Component layout of the PCB
Fig. 6: Flow chart explaining the basic working process
Fig. 7: Entering the number of pins in auto-search method
Fig. 8: Displaying the result in auto-search method
Fig. 9: Entering IC number
Fig. 10: Basic information about the IC
Fig. 11: Option for truth tables
Fig. 12: Observed truth table for the first NAND gate
Fig. 13: Result of manual-checking method

As shown in block diagram (Fig. 2), the MCU is interfaced through an LCD, a keypad and an IC ZIF socket. The flow chart corresponding to the basic working process is shown in Fig. 6. As shown in the flow chart, this prototype is equipped with two methods for checking a particular IC. Both of these are elaborated below.

table-4As different ICs come with their own specifications, checking process for each may vary. Here, we take an example of a common NAND gate IC 4011, whose truth table is shown in Table IV.

Auto-search method

In this process, the number of pins of the IC to be checked is entered first. The device then starts manifesting all possible input signals to the IC and takes back its response for each possible input. If a response matches the output of a particular IC in its database, then it declares that IC as good (Figs 7 and 8).

Manual-checking method

In this method, the IC number is entered first (for example, 4011 as shown in Fig. 9). On continuation, basic detail of that IC is displayed (Fig. 10). At the start of the checking process, an option for truth table is provided for the user (Fig. 11). For viewing the truth tables, this option must be selected. At the next stage, the MCU initialises the signal-processing task.

In case of this specific NAND gate IC 4011, the MCU provides 5V supply to pin 14 and 0V to pin 7. As this IC has four NAND gates, each of these is checked one by one. The MCU provides the necessary combination of inputs to each gate as per the truth table (Table IV) and takes back outputs from the IC (4011) as its input.

Then, by comparing these observed results with expected results as per IC specifications, the MCU yields its conclusion on that particular gate (Fig. 12 shows the result for the first gate along with the corresponding truth table). Finally, the number of good and bad gates is displayed, in addition to the overall condition of the IC (Fig. 13).

Download PDFs and component layout PDFs: click here

Download source code: click here


  1. I’m interesed me in the “IC tester” and I’m having two problems.
    A rebound problem on numeric keys (visible on the video demonstration posted by the author on the Net).
    And another problem: all circuits with open collector outputs (7403-7406-7409- etc …) I can test are found bads by the tester while most are surely very goods.
    I just check in your issues from February 2016 to November 2016, if a correctif was released, but it seems that not.
    Thank you for your attention and advices
    Serge COUPET

    • please describe the ‘rebound problem’ you have noticed in the video. I am not able to understand your question.
      About your second issue, please check your connections. To work with my code (with NO modification), you must have the connections exactly as per the circuit diagram. If you change any connection, you must modify the code.
      If you experience compilation error, try using old version of Arduino IDE (preferred version: 1.0.5)

  2. Helo my name is Ronald I was looking the digital IC tester, end I wuld like to make one to my uses,
    I have one arduino board mega 2560 . but Idont have the firmware code to programing the arduino board if you have code please you can sand me this link [email protected]

    • All recuired codes are available at the end of this article. You can download it.
      If you experience compilation error, try using old version of Arduino IDE (preferred version: 1.0.5)

  3. Here’s the reply from author Bhaskar Jyoti Borah:
    Please download the proper libraries available in the efy website. It contains all the required files for both lcd and keypad. Use older version of Arduino IDE (preferably 1.0.5).

  4. I would like to introduce myself as a undergraduate engineering student from Tamilnadu. while  I am in the search for my project work I got an opportunity to see your article on EFY regarding Arduino based IC functional tester. I was impressed with the article and as a continuation with that interest towards the Arduino I got some doubts. if u could spend ur valuable time to clear my doubts, it would be the greatest help for my upcoming project work….
    Is it possible to check the Mux / Demux, Encoder / Decoder , half adder / subtracter and shift registers.

  5. Digital IC detection was the easy part, analog IC’s offer a complication that far exceeds anything you have here. The Ic’s this device can test have been all but phased out in favor of the logic of cheap microcontrollers. Granted, the digital chips are still used in a minimal way, as support to microcontrollers, to extend their abilities. They are mostly all SO, (surface mount) devices, that are more difficult to test, and so cheap that the cost of a device to test them, plus the time required to test it, make it not cost effective. If you can’t read the number on the part, toss it in the trash and get another.
    When you can successfully test 100 common analog IC’s, and fashion a way to test SO devices as well, you will have something worth the time it took to write about it. This is not something worthy of the level of education you have.

    • Thanks for your compliment. You may know that it’s not a patent. It’s simply a project work. I hope people like you will make it worthy by including support for 100 analog ICs as well as SMDs. I hope to see a patent from you in the near future. Good luck!

  6. I’m interesed me in the “IC tester” and I’m having problems.
    A rebound problem on numeric keys
    And where join number key.?

  7. can i use serieal monitor in arduino software instead of NOKIA 5110 display
    if so could you please help me with the source code…

    • You should be able to “fork” Bhaskar’s code on your own, adding serial commands. I plan to do this soon. I had an IC test set but sold it. I plan to glue dupont male-male 2.54mm patches from mega to 170 pin mini breadboard as test bed, modify code for serial monitor, and use Bhaskar’s concept to test logic IC’s prior to selling my stock before retirement. Kudos to Bhaskar for saving 150usd or more with DIY. Mega 256 clones cost about 16cdn in Eastern Canada. The secret to stay in small electronics business=cost control.

  8. Thank you M. Bhaskar Jyoti Borah for sharing your efforts with the electronicsforu community.
    I have build the shield for the Arduino Mega 2560 IC Tester using the PCB Plan published. Unfortunately there are two mistakes: 1) the Nokia 5110 Display stands on its head and it covered the ZIF Socket so I couldn´t stick in the device under test. I fixed it with double headers to get room for the test-device. Yet the Display was still head down. I took eight Dupont Line male to female to correct the state.
    2) In doing so I recognized the resistor for the backlight goes to minus. This doesnt work. I connected the Resistor R22 to plus and the backlight worked.
    Now all works well and I will test the limits of the Arduino sketch

  9. Sir, I am doing project digital ic tester with embedded truth table since 2 months , I did not get any result till now. Please help me sir

    • I work with Arduino IDE 1.8.5 and Windows 10. The Programm works but the results are limited. See the comment from JoeMass Dec 18 17. Nevertheles, learnt somethig new. Thank you. Michael

  10. I have made this project but Don’t suggest anyone doing this because circuit is complex and code is just not working my whole effects and money wasted ??

  11. My project doesn’t work. When I give 12V to it, it says welcome and in the right bottom corner skip and nothing else happened. I have etched the layout from this website, checked the PCB withput errors and then soldering the parts. nothing work, only welcome and skip appears in the display. My Arduino Mega 2560 R3 was programmed with Arduino IDE 1.06 and a second try with Arduino IDE 1.82. Result is the same. Help me please!!! Thx


Please enter your comment!
Please enter your name here