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>Why do we need a 8MHz oscillator if atmega 328 has its own 8MHz clock?</p>
<p>With internal Oscillator I had timer issues I wasn't getting what I expected the capacitor values and everything dependent on timers wasn't coming out correct so when I switched to external oscillator things worked out pretty well that's why.</p>
<p>Ok, I see. Thank you</p>
<p>made it and compressed it due to some copper traces and component <br>footprint are thin and wont fit on my intended case. Thank you for this <br>awesome instructable.</p>
<p>hi! nice pcb layout... can you send me pdf copy... :) thanks a lot... leandrost@arnet.com.ar</p>
<p>hi! nice pcb layout... can you send me pdf copy... :) thanks a lot... cesarvigosantosjr@gmail.com</p>
Sir can you send me ypu sprint file....plz<br>Mikaela.imadina@gmail.com<br>Thank you sir
<p>Sir, do you have the circuit design in eagle, because I need the PCB to be small as yours. I would be thankful if you can send me your eagle files :)</p>
<p>I didnt use eagle. Only on SprLay__t. Pls send your email so that i can send it. </p>
<p>My email : drago.dragoski@gmail.com . Thank you very much sir!</p>
<p>sent.. follow this detailed instructable, youll be fine</p>
<p>hi. can you send for me please? </p><p>softwarekardo@gmail.com</p>
<p>Hey ! that looks great :D Version is coming next month I finally finished it it's even smaller just 5cm by 5cm ;)</p>
<p>we steel wating for that bro!!!!</p>
<p>im wait it</p>
<p>where does the frequency voltage connector go..</p>
<p>xtras.c:586: warning: 'Min' may be used uninitialized in this function</p><p>R.c:582: warning: 'Command' may be used uninitialized in this function<br>IR.c:581: warning: 'Address' may be used uninitialized in this function</p><p>i tried to compile it but i get these messages.should i ignore it and burn the hex file onto the chip.Thanks.</p>
<p>can someone please give me the hex file at domdomgin@yahoo.com</p>
<p>Hi all</p><p>I have successfully uploaded the code to the ATMega328p using my Arduino as an in-circuit programmer. Uploading was done via the tester's on-board ISP plug.</p><p>Please see my Instructable at </p><p><a href="http://www.instructables.com/id/Arduino-UNO-as-AtMega328P-Programmer/">http://www.instructables.com/id/Arduino-UNO-as-AtM...</a></p><p>I used the following commands:</p><p>make all</p><p>avrdude -c arduino -p m328p -P com1 -b 19200 -U flash:w:./${NAME}.hex:a -U eeprom:w:./$(NAME).eep:a</p><p>make upload</p><p>avrdude -c arduino -p m328p -P com1 -b 19200 -U lfuse:w:0xfc:m</p><p>avrdude -c arduino -p m328p -P com1 -b 19200 -U hfuse:w:0xd9:m</p><p>make clean</p>
<p>how to make the code for Arduino???</p>
<p>STEP 1</p><p>------</p><p>Install AVRDude. </p><p>See http://www.ladyada.net/learn/avr/setup-win.html</p><p>STEP 2</p><p>------</p><p>Download and UnZip the attached ComponentTesterPgm.zip file . Remember your unzip directory.</p><p>The directory will include four files</p><p>1 - _program.bat</p><p>2 - _readme.txt</p><p>3 - ComponentTester.hex</p><p>4 - ComponentTester.eep</p><p>STEP 3</p><p>------</p><p>Set up your Arduino as a programmer. </p><p>See http://www.instructables.com/id/Arduino-UNO-as-AtMega328P-Programmer/</p><p>STEP 4</p><p>------</p><p>In the unzipped directory, double click on _program.bat.</p><p>The Command Prompt window will open, and programming of the ATMEGA328p will start.</p><p>When completed, the Command Prompt window will close.</p><p>STEP 5</p><p>------</p><p>Your ATMEGA328p is now programmed, and ready to be installed into your project.</p>
<p>I am totally grateful to you !!! I will do it with your instructions!!! Thanks!!!!</p>
<p>that looks great :)</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>
Hi<br>What is R23 for?<br>And there is two input voltage? It couldn't had just one 12V input?
<p>hi. can you send for me please?</p><p>yonskc@gmail.com</p>
<p>Hi, is there no code to use the arduino software and an arduino to program the atmega?</p>
<p>when i tested the capacitor the system has been off. why???</p>
<p>Hi Baweja, I have a question. Can i use a 16MHz crystal oscillator?</p>
<p>can you provide a Arduino Files?? OR how to upload in arduino IDE?</p>
<p>hello</p><p>we really appreciate your idea.can u please provide us with the source code. in the zip file given by you the code is not available properly :)</p>
<p>The code is also available on dropbox link given above</p>
<p>Hi, could you give me the dawnload link of program that i need to combile the AVR code ,and thank you :)</p>
I m still waiting. .....
Hi akshay bro......what about your next version of component tester.??????
<p>Hey bro, What software you used in uploading the code.? can you post a link? Thankyou so much</p>
Waiting your next advance version of component tester...
<p>This is a very nice project , I wonder if there will be a MagPi2 version in the future?</p><p>Also the accompanying PCB add Firm (pcbway.com) could sell PCB s for a `good price: That certainly would boost the number of enthusiastic people :=)) TYVM</p>
<p>How much values of capacitor you can test with this version? can it test more than 3000uF?</p>
have you participated in the infosys tallenge contest<br>could u plz help in knowing how to vote
<p>yeah I did !! voting is not yet started by Infosys</p>
Thanks, do u know exact date for voting
<p>Thank you Its so useful!</p>
<p>great work brother :D</p>
<p>Very nice job, I&acute;m currently trying to make one but i still dont get how to connect the encoder, may i get a diagram plz? </p>
<p>I am looking forward to version 2</p>
sorry for the delay in version 2 there are still some connectivity issues I'm trying and troubleshooting them.
<p>Hi I still waiting for the hex file can you put it on line.</p><p>Thank you. from Brian</p>
sorry for the late reply<br><br>the hex files are already there in the Dropbox Link above. :)

About This Instructable




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