Smart IC Tester

14,184

107

43

About: your best teacher is your last mistake !! - Dr. APJ Abdul Kalam

We all know what IC Testers do... but for those who don't - IC Testers are devices which are used to test Integrated Circuits by sending in Pulses as per their Truth Table. Generally, IC number is fed into IC Tester and a comparison test is made against that particular IC's Logic Table.

A smart IC tester is far more capable and better than a generic IC Tester, it has an ability to detect and check the connected IC along with a manual mode. Our IC Tester features a Touch LCD which gives a better user experience and easy to understand UI.

IC Testers maybe costly instrumentation devices but this one is just under ₹1600( ~$25), pretty cheap right ?

Step 1: Let's Shop Some Stuff !!

Electronics

  • 1x Arduino Mega 2560
  • 1x 20 Pin ZIF Socket
  • 1x 2.4 inch TFT touch Screen LCD with inbuilt SD Card Slot
  • 1x 4GB MicroSDHC
  • 1x 6-pin Extra Length Female Header
  • 3x 8-pin Extra Length Female Header
  • 1x Male Header Strip
  • 2x WS2812B (Optional)
  • 2x 100 nF 0805 Capacitor (Optional)
  • 1x 180Ω 0805 Resistor (Optional)

Tools and Additional Supplies

  • Soldering Iron
  • Solder
  • A Laptop
  • USB Cable to connect Arduino Mega 2560
  • MicroSDHC Adapter

Step 2: Designing the PCB

I designed a shield for all components to fit-in and chose the Arduino Mega as my micro-controller board since both the ZIF Socket and LCD can be put side by side giving the build a compact and portable look and feel. I used Autodesk Eagle for the PCB Designing part (I've attached the eagle files below).

A big shoutout to guys at JLC PCB for sponsoring PCBs for the project. Do check them out they offer $2 PCB Prototyping and Free Shipping on First Order.

Step 3: Shut Up and Solder

Once you have all the components along with the PCB, just solder them in place as shown and you are ready to go !!

Once you're done with soldering put-on the LCD Shield and Female Headers and this completes your assembly for IC Tester.

Remember - "If it smells like chicken, you're doing it wrong" ;)

Step 4: Code? Yes..!!

Open up your Arduino IDEs and Open up the code... You can replace my name with your own so it boots up with your name. You're free to play around with colour schemes as per your choice.

All code files are available on GITHUB

Step 5: Preparing Database... a Time Consuming Task

I've compiled up a basic database for Component Tester that includes basic ICs. The database is in database.txt file on GitHub. Copy this txt file on SD Card and insert it in the Touch LCD Shield.

Thanks to instructable user JorBi for his Instructable - Arduino IC Tester from where I got inspiration to build one.

Pattern -

$[IC Number]

[IC Name]

[Pins]

[Test Case 1]

[Test Case 2]

...

[Test Case N]

Sample Test Case-

Say I have IC-7426, a sample test case would be

0000HHG000000V

Here 0/1 would be used to specify Input and H/L (High/Low) to specify output and V is used to denote VCC and G is used to denote Ground. Follow order from Pin 1, 2, 3, ..... 7, 8, 9, .... 14 for above IC

Step 6: Fingers Crossed !! Testing It All Together

Let's Upload the code and boot the IC Tester.

FINGERS CROSSED !!


And it worked great !!

Step 7: Happy Testing !!

You are welcome to contribute to the project and database on GitHub.

Share

Recommendations

  • PCB Contest

    PCB Contest
  • Make it Glow Contest 2018

    Make it Glow Contest 2018
  • Big and Small Contest

    Big and Small Contest

43 Discussions

0
None
barrow4491

Question 8 months ago

The caps and resistor are for the leds, could you indicate what goes where

Jim

2 answers
1
None
icengbarrow4491

Answer 8 months ago

Look close I marked the single R spot Black and two Blue caps for you..

The way to figure it out, is the caps touch pin_1 which is the LED cut corner..

R2C.jpg
0
None
klightsiceng

Reply 2 months ago

Can someone tell me the correct orientation of the led because in one photo shows opposite from the other???

0
None
klights

2 months ago

Can someone tell me the correct orientation of the led because in one photo shows opposite from the other???

1
None
anthonyjclarke

Tip 3 months ago

One thing and for others that may find this... many of the LCD displays on Aliexpress / eBay us the SPFD5408 driver, so you need this OLD but working driver - https://github.com/JoaoLopesF/SPFD5408 and the only change I needed to make was as below :

// *** SPFD5408 change -- Begin

#include <SPFD5408_Adafruit_GFX.h> // Core graphics library

#include <SPFD5408_Adafruit_TFTLCD.h> // Hardware-specific library

#include <SPFD5408_TouchScreen.h>

// *** SPFD5408 change -- End

0
None
barrow4491

10 months ago

I have ordered five pcb and only need one, email me if you are interested.they will be at my cost plus postage to you ( I am in Australia)

5 replies
0
None
anthonyjclarkebarrow4491

Reply 4 months ago

I'm in Sydney with spare boards, let me know if anyone needs for cost of P&P

0
None
Buffalojoebarrow4491

Reply 9 months ago

I couldn’t pm you but if you have a pcb left I would take it off your hands? Cheers Kester

0
None
barrow4491Buffalojoe

Reply 8 months ago

I have a couple of boards left, where are you located so I can work out the postage

Jim

0
None
bob8080

Question 7 months ago on Introduction

Have you tried testing a 7474 or a 7475? I can't seem to get either
flipflop to test successfully. I wrote a very simple test pattern for
the 7475 and couldn't get the output stage to latch. I then moved the ic
to a breadboard and proved the IC was working properly.

Just wondered if you'd ever tested the 7474 with the database on Github.

Thanks,

Bob

3 answers
0
None
thuckabeebob8080

Answer 4 months ago

I had the same trouble with the 7474 ic, the function test_case() in the sketch test_function as is will only output one clock pulses to a clock pin and not to the other clock pin, the 7474 has 2 clock pins, the fix is to replace the function test_case with

the code below, also the tester will not test 4020 and 4022 ic the data file is wrong

boolean testCase(String test, int pins)
{
boolean result = true;
int clkPin = -1;

Serial.println("SignalIn : " + test);
Serial.print("Response : ");

//Setting Vcc, GND and INPUTS
for (int i = 0; i < pins; i++)
{
switch (test[i])
{
case 'V' : pinMode(pin[i], OUTPUT); digitalWrite(pin[i], HIGH);
break;
case 'G' : pinMode(pin[i], OUTPUT); digitalWrite(pin[i], LOW);
break;
case 'L' : digitalWrite(pin[i], LOW); pinMode(pin[i], INPUT_PULLUP);
break;
case 'H' : digitalWrite(pin[i], LOW); pinMode(pin[i], INPUT_PULLUP);
break;
}
}

delay(5);

//Setting Input Signals
for (int i = 0; i < pins; i++)
{
switch (test[i])
{
case 'X' :
case '0' : pinMode(pin[i], OUTPUT); digitalWrite(pin[i], LOW);
break;
case '1' : pinMode(pin[i], OUTPUT); digitalWrite(pin[i], HIGH);
break;
case 'C' : pinMode(pin[i], OUTPUT); digitalWrite(pin[i], LOW);
break;
}
}

// }

// Trigger Clock
for(int i=0;i<pins;i++){
if(test[i]=='C'){
pinMode(pin[i],INPUT_PULLUP);
}
}

delay(10); // keep it HIGH for some time

for(int i=0;i<pins;i++){
if(test[i]=='C'){
pinMode(pin[i],OUTPUT);
digitalWrite(pin[i], LOW); // set it back LOW
}
}

delay(2);

//Reading Outputs
for (int i = 0; i < pins; i++)
{
switch (test[i])
{
case 'H' : if (!digitalRead(pin[i])) {
result = false;
Serial.print('L');
}
else Serial.print(' ');
break;
case 'L' : if (digitalRead(pin[i])) {
result = false;
Serial.print('H');
}
else Serial.print(' ');
break;
default : Serial.print(' ');
}
}
Serial.println(";");
//Serial.println("\nCase Result : "+String(result));
return result;
}
0
None
baweja_akshaybob8080

Answer 6 months ago

That should've worked though I never tested 7474 or 7475 but the database is according to the tables listed in datasheet.

0
None
bob8080baweja_akshay

Answer 5 months ago

I've tried two different Arduino Mega 2560 boards and can not seem to get a 7474 or 7475 to test correctly with known good ICs. Could you please try this on your system? All other nand/and/or/nor gate chips test ok, but ICs that latch with a clock pulse don't seem to work for me. Thanks. Bob.

0
None
GunturP5

Question 8 months ago

can u give me solution for

lcd screen can't display the image and it only turns red

1 answer
0
None
JohnR494

Question 9 months ago on Introduction

do you have the source with part numbers for the materials used?

I would like to build this, but

1 answer
0
None
baweja_akshayJohnR494

Answer 6 months ago

Hey,
Sorry but I bought them from local market. So there aren't any specific part number list. But all parts are listed above. You can get them from sites like aliexpress or eBay

0
None
JmanNZ

Question 7 months ago

Hi

I have an issue with the touch scree. I cannot get past the Manual / Auto selection as if the touch is not calibrated or returning the wrong values. Any ideas to test this further

Thanks

Jman