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

  • 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 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 !!

<p>i am new to &quot;AVRDUDE&quot; do i need additional hardware to upload the program and which file do i need to upload</p>
<p>I was wondering if you'd done a performance test to see how much of the CPU is used(or free for other tasks!? What is the longest execution time for one loop()?<br> I need to know if there is time left over, that I could do other stuff with the Arduino.<br>Very nice project. Chuck full of experience could be gained, by reading and understanding the code. Very well commented. Thank you for sharing it with us.</p>
<p>I made one and it works like a charm. So firstly I should say thanks for sharing such a nice project.</p><p>Iam getting exact values for resistance measurement. But for capacitor104 it shows value as 4560pf. So how can I calibrate the cap values. Kindly reply. Thanks</p>
<p>Hi, Can disable the auto turn-off function on the code?</p>
<p>Hi Baweja, are you tried to measure an inductor? i dont see any in the pictures.</p>
<p>all ok but inductance as the same behavior as GustavoR93</p><p>thanks Baweja</p>
<p>Hi, are you using 8Mhz crystal?, i am using internal 8Mhz oscillator because i dont have an 8Mhz crystal.</p>
<p>hello, please how do i upload all the files in the zip file onto the micro controller?</p><p>i saw it up there that use avrdude .....but am new to programming so if someone can actually take me step by step on how to upload all the files.</p>
<p>what programmer do you have.</p><p>you need to unzip the files.</p><p>make a folder put all the files in that folder.</p><p>install avr dude.</p><p>connect the usbtiny programmer to your board.</p><p>make sure you change the programmer name in the makefile </p><p>right click in the folder and open command window.</p><p>type the commands which is mentioned in this tutorial.</p><p>it will work.</p>
Please can someone tell me the fuse bits..<br>
<p>You can see the fusebits in the file makefile for different oscillators:<br><br># ATmega328 / ATmega328P</p><p>ifeq (${MCU},atmega328)</p><p> HFUSE = -U hfuse:w:0xd9:m</p><p> EFUSE = -U efuse:w:0xfc:m</p><p> ifeq (${FREQ},1)</p><p> # internal RC oscillator (8MHz) and /1 clock divider</p><p> LFUSE_RC = -U lfuse:w:0x62:m</p><p> # external 8MHz full swing crystal and /8 clock divider</p><p> LFUSE_CRYSTAL = -U lfuse:w:0x77:m</p><p> # external 8MHz low power crystal and /8 clock divider</p><p> LFUSE_LOWPOWER = -U lfuse:w:0x7f:m</p><p> endif</p><p> ifeq (${FREQ},8)</p><p> # internal RC oscillator (8MHz) and /1 clock divider</p><p> LFUSE_RC = -U lfuse:w:0xe2:m</p><p> # external 8MHz full swing crystal and /1 clock divider</p><p> LFUSE_CRYSTAL = -U lfuse:w:0xf7:m</p><p> # external 8MHz low power crystal and /1 clock divider</p><p> LFUSE_LOWPOWER = -U lfuse:w:0xff:m</p><p> endif</p><p> ifeq (${FREQ},16)</p><p> # internal RC oscillator (8MHz) not possible</p><p> LFUSE_RC =</p><p> # external 16MHz full swing crystal and /1 clock divider</p><p> LFUSE_CRYSTAL = -U lfuse:w:0xf7:m</p><p> # external 16MHz low power crystal and /1 clock divider</p><p> LFUSE_LOWPOWER = -U lfuse:w:0xff:m</p><p> endif</p><p>endif</p>
<p>I made it works great!, except for inductance measurement, always show the same value. </p><p>I am using internal 8Mhz i don't have 8Mhz crystal.</p>
<p>hello, please i want to know overall block diagram of this component tester ?</p>
<p>how do you switch on the unit.also the start button goes to gnd not +5 am i right.</p>
<p>i tried everything but i get all squares.</p><p>im using atmega328p.</p><p>stk500 programmer</p><p>LFUSE FC</p><p>HFUSE D9</p><p>please can someone give the hex file and eep file.</p>
<p>Wait, can this component tester really test capacitors? You are not showing any being tested in your photos! I need to test 350vdc 25uf caps...</p>
yea it can test capacitors too I'll upload pics for capacitors too :)
<p>okay? Can it test 350VDC 25uf Capacitors?</p>
<p>thanks for not answering me</p><p>i have learn with my self and it work</p>
<p>hey that looks great.</p><p>I didn't logged into my account since many days so wasn't able to answer many here. </p>
<p>thanks alote </p><p>and i'm sorry for my latest comment</p>
it's okay no need for sorry :)
Waiting your next advance version of component tester...
<p>Hey,</p><p>sorry but there have been alot of issues with the second version of component tester trying to do that soon. I had many other projects along with the second version.</p>
<p>Hey bro, What software you used in uploading the code.? can you post a link? Thankyou so much</p>
<p>I used avrdude for uploading the code</p>
Hi<br>What is R23 for?<br>And there is two input voltage? It couldn't had just one 12V input?
<p>Yeah you can have one I designed two because i am using two powering modes. So didn't want to connect the wires in parallel on the panel and make things look a bit clean.</p>
<p>Hello</p><p>Can you please send me the schematic in Proteus? Eagle is really junk.</p><p>Thank you.</p><p>jack_heavy.metal@yahoo.com</p>
<p>I dont have proteus files only eagle files are available at the moment.</p>
<p>Hi Baweja, I have a question. Can i use a 16MHz crystal oscillator?</p>
<p>Hey</p><p>Yeah you can use 16MHz Crystal but u need to make alterations in the config file to make it work </p>
<p>where does the frequency voltage connector go..</p>
<p>hey,</p><p>I have labeled everything in pictures just look at those you'll know where it goes</p>
<p>Please you can send me the schematic and the pcb to prof.cesargonza@gmail.com, thanks</p>
<p>Sir, </p><p>schematic and other details are already attached in the instructable you can download from there.</p>
Fuse bits please someone.<br>Also the hex file and eep file..<br>domdomgin@yahoo.com
<p>type in make fuse in command line and you'll be fine it will make up all the fuses by itself.</p><p><strong>Note</strong> : type in make fuse while your micro-controller is connected </p>
<p>Will it work with ATMega8?</p>
it will but limited functionality
Thanks.<br>And can you please explain what have you done with the rotary encoder? I am quite not getting it.
<p>rotary encoder is used for scrolling through the menu.</p>
<p>Sir can you send me ypu sprint file....plz<br>Mashroty@gmail.com<br>Thank you sir</p>
<p>what's a sprint file?</p>
<p>The problem now.</p><p>i don't know how to program it by using tl866 minipro programmer </p><p>c </p>
<p>thank you for sharing.</p>
<p>main.c1312 ;fatal error open dependacy file dep/main.o.d no such fileor directory</p><p>i get this error in programmers notepad</p>
try doing using command prompt/terminal the makefile works fine on both of them

About This Instructable




Bio: your best teacher is your last mistake !! - Dr. APJ Abdul Kalam
More by baweja_akshay:Dot² - An Interactive Coffee Table Component Tester - Test almost anything !! 
Add instructable to: