Component Tester - Test Almost Anything !!

163,676

816

360

Introduction: Component Tester - Test Almost Anything !!

About: A New York City based creative technologist who loves designing pretty PCBs and playing around with LEDs ❤️. I am currently pursuing my master's degree in design and technology from Parsons School of Design.

Being an Electronics student or hobbyist, you may have thought of getting a tester that could test almost anything "THE ELECTRONICS COMPONENTS, OBVIOUSLY!!"

Now what if I tell you that you can have one and that too made by yourself under INR 600 only (USD 10).

Coming upon COMPONENT TESTER so it can test almost everything, obviously not the power components because they require more current and power which our AVR Microcontroller couldn't handle !! Oh yeah, I forgot to tell you guys that we would be using an ATMEGA328 for our build !!

Yes, the same microcontroller which an arduino uno uses...!!

So, here's what our Component Tester can test -

1. Resistors

2. Capacitors along with their Equivalent Circuit Resistance Value (ESR)

3. Inductors

4. BJTs

5. FETs

  • MOSFETs
  • JFETs

6. Thyristors

  • SCRs
  • DIACs
  • TRIACs

7. IGBTs

8. Diodes

no the list doesn't end here.... it can test Voltage upto 50V, it has a FREQUENCY COUNTER and a FREQUENCY GENERATOR TOO :D

you can also detect the IR Codes by simply putting a TSOP Sensor on its test pins.... isn't that great :D

and yeah one thing i forgot to tell you guys it doesn't only detect the components it displays their respective values and properties too !!

No, don't thank me for such wonderful thing thank MARKUS F. the maker and developer of Component Tester and Karl-Heinz who developed the firmware for it.

Let's Start the build and you'll explore much more on the way to build your own..!!

Step 1: Order Stuff for Build !!

with some basic components and tools you will be ready to build...!!

Electronic Components

  • 1x 1nF (102) Ceramic Capacitor
  • 1x 10nF (103) Ceramic Capacitor
  • 4x 100nF (104) Ceramic Capacitor
  • 2x 22pF (22) Ceramic Capacitor
  • 2x 2.2uF, 50V Electrolytic Capacitor
  • 2x 1N5819 or any other Schottky Diode with current rating of 1A
  • 1x 7805 - 5V Voltage Regulator
  • 1x LM336 - 2.5V Voltage Reference Diode
  • 1x 10uH Inductor
  • 1x BC547 Transistor
  • 1x BC328-40 Transistor
  • 3x 680 ohm Resistor with 0.1% Tolerance (1% Tolerance would also do)
  • 3x 470k ohm Resistor with 0.1% Tolerance (1% Tolerance would also do)

NOTE: For 1% Tolerance and 5% Tolerance(not recommended but works with less accuracy) 680 ohm and 470k ohm resistors you need to make some changes in code and try to have all resistors indicating same value on multimeter.

UPDATE: For those who are having problems in finding 0.1% or 1% tolerances. You can use 5% tolerances. Just buy 5-7 resistors of 5% tolerances and find out 3 resistors having same value on the multimeter. I made another one for you guys with 5% tolerance resistors and changes the value of resistors in code and that worked too :)

  • 2x 3k3 ohm resistor
  • 2x 27k ohm resistor
  • 1x 100k ohm resistor
  • 1x 33k ohm resistor
  • 6x 10k ohm resistor
  • 1x 470 ohm resistor
  • 1x 15k ohm resistor
  • 1x 2k2 ohm resistor
  • 1x 200k ohm resistor
  • 2x 1k ohm resistor
  • 2x 10k ohm preset (Variable Resistance)
  • 1x 8MHz Crystal Oscillator
  • 1x ATMEGA 328/328p with Socket
  • 1x 16X2 CHARACTER LCD
  • 1x Rotary Encoder w/ Button Module and KNOB
  • 1x Red LED (you can use any colour I chose Red as it it used to denote POWER)

Hardware Parts

  • 1x 16 Pin Polarized Header Cable - Relimate Connectors
  • 3x 3 Pin Polarized Header Cable - Relimate Connectors
  • 2x 4 Pin Polarized Header Cable - Relimate Connectors
  • 1x 9V Battery Connector
  • 6x Banana Jack Connectors (Female)
  • 3x Banana Jack Connector Cable (with Male Heads)
  • 1x Enclosure Case (I used a plastic Switch Board Enclosure Case/ Plastic Project Box)

Tools Required

  • Soldering Iron
  • Some Solder
  • A Single Layer PCB (because I home etched mine for this as it reduces unwanted signals and noises in the circuit and being it a testing circuit etching your own PCB is advised for getting accurate results)
  • Solder Mask (optional)
  • Some strong cutters (to make cutouts on you enclosure)
  • Screwdrivers and Pliers
  • and some ISO-PROPYL Alcohol or Acetone would work fine to clean the flux residue on PCB (It its necessary that you clean the flux or it may cause some unwanted errors in your Component Tester).

Let's Start the build !!

Step 2: Schematics and PCB Build !!

This is a self designed and home etched PCB...!!

I used eagle software freeware version for designing PCB. I have attached the PCB (un-mirrored) files below so you can download and etch them at home. For etching you can refer to other instructables on how to go about etching process using Ferric Chloride(FeCl3).

You can Follow GreatScott's series on how to etch PCB's using Ferric Chloride-

PART I :

PART II :


UPDATE : I've uploaded Eagle Files :)

Step 3: Applying the Solder-Mask Onto PCB (OPTIONAL)

If you wish to apply solder mask u can follow the below video on how to go about applying solder mask.

I have attached the pad mask so to resist application of solder mask on component pads.

Step 4: Drilling Holes on PCB

For drilling holes on PCB you can either use a hand drill or a electric drill / drill press.

Step 5: Soldering Components on PCB

Be careful while soldering the 680 ohms and 470 kilo-ohms resistor which are test resistors !!

  • Do not apply more solder on these resistors as that can induce some unwanted capacitance or resistance in the circuit.
  • Do not leave flux on the PCB after soldering components !! This may result in some unwanted values u see on display. You can use Isopropyl Alcohol and some Cotton Buds to clean the flux on PCB.

Step 6: Preparing the Enclosure...!!

I used a plastic project box as enclosure for my COMPONENT TESTER...!!

I drilled holes for binding posts and DC jack socket then used a hot knife to make cutout for 16x2 LCD.


NOTE : desolder the grounded leg of push-button on rotary encoder module and connect that to positive side of LED along with wires coming from the PCB

UPDATE : For LED_START header

  • PIN1 - LED Negative
  • PIN2 - LED Positive
  • PIN3 - SWITCH
  • PIN4 - +5V

Connect 2nd Pin of switch to LED Positive

Step 7: Uploading the Code to AVR

The code files are attached below as .zip file format so that you can compile an build code after making the necessary changes in configuration files.

Now open up config.h and make the following changes -

  • navigate to measurement settings and offsets
    • now in this section scroll to R_LOW and set the value of 680 ohm resistance you are getting on you multimeter try and choose 3 680 ohm resistance with same values showing on multimeter
    • now change the value of R_HIGH i.e. the value of the 470k ohm resistances you are getting on your multimeter be as precise as possible and try and choose 470k ohm resistances with closest values or same values showing up on multimeter.
    • change RH_OFFSET if you want or leave it as it is. RH Offset is Offset for systematic error of resistor measurement with Rh (470k)
    • change R_ZERO - Resistance of probe leads (in 0.01 Ohms).
      • Resistance of two probe leads in series. (Assuming all probe leads got same/similar resistance)
    • change CAP_WIRES - Capacitance of the wires between PCB and terminals (in pF).
      • 2pF for wires 10cm long
    • change CAP_PROBELEADS - Capacitance of the probe leads connected to the tester (in pF).
      • 3pF for about 10cm long probe leads
      • 9pF for about 30cm long probe leads
      • 15pF for about 50cm long probe leads
    • you can go through rest of values and play-around if you are familiar with AVR and coding. If not please do not alter anything else.

If you are facing problems opening .zip files I am sharing the Dropbox link to code -

DROPBOX_ComponentTester_CODE

UPDATE: If you are using usbasp programmer then you need not edit the Makefile else you need to goto line 54 and change

programmer = usbasp to programmer = <your programmer's name>

  • open command window in that folder where you have your code by holding shift and right click you will see an option of Open Command Window Here click that
  • type in make all
  • connect the Programmer with the ISP Header of Atmega328
  • type in make upload
  • then type make fuses
  • following to this type make clean

NOTE : I assume that you have avrdude pre-installed in your systems. if not youhave to download avrdude and install it before doing above steps.

Step 8: Assembling Everything As One Device

Before assembling just run everything and test one or two components so as to confirm everything is working fine.

Step 9: HALLELUJAH !! YOU MADE ONE... :D

So you made one component tester for yourself.... you can keep that handy on your workbench and use it to test your components more often...

UPDATE: You can see the menu for the tester which includes PWN Generation, Square Wave Generation, Frequency Counter, IR Code Detector, Calibration and Adjustment Menu by turning the rotary encoder left after turning the tester on.

UPDATE: I have redesigned a new version of the component tester that is super compact and can fit in your pocket or you can just carry it around like a keychain. Do check it out!!

Arduino All The Things! Contest

Runner Up in the
Arduino All The Things! Contest

Full Spectrum Laser Contest 2016

Participated in the
Full Spectrum Laser Contest 2016

21 People Made This Project!

Recommendations

  • Colors of the Rainbow Contest

    Colors of the Rainbow Contest
  • Barbecue Speed Challenge

    Barbecue Speed Challenge
  • Arduino Contest

    Arduino Contest

360 Comments

0
zeshanshakir081
zeshanshakir081

Question 2 months ago

How to reset fuses avr microcontroller atmega 328

0
Rabindra_Sharma
Rabindra_Sharma

Answer 5 weeks ago

Bro Follow Kevin Darrah in youtube he has a very goo dvideo to do using another arduino to preogram it

0
jmboerma
jmboerma

2 months ago

I have build the Tester hardware and it seems to work.
I get a blank display at power on of the tester.

I have a usbasp 2.0 programming device connected to my windows 10 computers usb port.

I installed avrdude which recognises the device usbap 2.0 device in device manager.

I try to get the "make" command running but that does not work inside a command prompt.
Any hints on what to do please?
Screendump of the commandbox:
C:\Temp\AVRDUDE>avrdude -c usbasp -p m328p
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF)
avrdude done. Thank you.
C:\Temp\AVRDUDE>make all
'make' is not recognized as an internal or external command,
operable program or batch file.

Kind regards, Joop.
jmboerma@hotmail.com

0
research3
research3

3 months ago

hii I wanna know what if we test a damaged component. Will it display it as a faulty component.

0
wh1teshadow
wh1teshadow

4 months ago

Hi mr baweja. How did I know the exact value of my 470k Resistor. My multimeter only shows value of about 0.47 at 20M scales. Thanks in advance

0
amenoera1
amenoera1

6 months ago

Does the new version “keychain” support voltage reading ? >> voltmeter ?

1
kadekgiri
kadekgiri

Question 9 months ago

hello i am from indonesia...
my questions is :
1.what is the function of LED START?
2.can I not used LED START in schematic?

0
wh1teshadow
wh1teshadow

Answer 7 months ago

Gak ngaruh bro, LED_START itu cuma fungsi buat menyalakan lampu LED indikator rangkaian.

0
rub850
rub850

Question 8 months ago

hola arme el tester pero no logro que funcione el programador rotatorio.Alguna sugerencia que debo revisar?

0
amathison
amathison

Question 9 months ago

Hi, how can active serial out to see in the usart, i uncomment the line "#define DEBUG_PRINT" but i just saw this when i test a BJT in serial port at 19200 bps:
"
@>
21
|
1
|
1
|
@<
"

at upper or lower bps just send garbagge.

Thanks

0
AbudHad
AbudHad

9 months ago

Acabei de entrar no grupo e me deparei com este projeto!!!!! Parabéns. Irei montá-lo!!!

2
Nahidul alam
Nahidul alam

12 months ago on Step 9

Inductor measurement result is not correct. what can I do now.

0
ydswd2003
ydswd2003

2 years ago

i've made it, but is extremly slow, any clue?

0
baweja_akshay
baweja_akshay

Reply 2 years ago

can you describe a bit more?

1
ydswd2003
ydswd2003

Reply 2 years ago

In the end, I used a copy of linux mint to upload the code to the AVR. Now the speed is correct, but the rotary encoder still does not work.
When I deactivate the rotary encoder from the config.h file, I can use the button to navigate through the menu, but only when I feed the circuit with the usbasp or 5v from the ISP pins. If I use a 9v battery or an adapter I have no response from the button or the rotary encoder!
very rare. If you have any clue, I would be grateful.
0
GustavoG5
GustavoG5

Reply 1 year ago

Hola, espero estes bien, tambien tengo el componentester lento, me guiarias como hacerlo por linux en VM?

0
sampi1967
sampi1967

1 year ago

Hi!
The size of the PCB file in pdf format is incorrect for me. Can someone send me the PCB file for Sprint Layout 5.0?

0
vahidghadirii1983
vahidghadirii1983

1 year ago

سلام دوستانتنظیم فیوزبیت این مدارتستر ب چ صورت هستش؟

0
roboelecir
roboelecir

Reply 1 year ago

Lfuse FC & Hfuse D9