Component Tester in a Keychain

20K9453

Intro: Component Tester in a Keychain

Being an electronics engineer, I always wanted to have a portable component tester, which could test every electronic component out there. In 2016, I built myself a Component Tester based on AVR TransistorTester by Markus F. and Karl-Heinz Kübbeler. This summer, I thought, can it be made pocket-sized? Since my last version was quite big and difficult to carry around.

I started redesigning the PCB with SMD components and an OLED display since it is small, lightweight, and consumes less power. I wanted to retain banana jacks since they offer testing device a robust look and makes it more compatible. Say, I can use SMD tweezer probes for testing SMD components or say I can use alligator clips or anything else. I am no longer limited to plug in my part to the tester to test it.

After spending a few hours fiddling around the PCB layout, I managed to bring it down to as small as 58mm x 32mm (2.28in x 1.26in). Pretty tiny, right? To make it a fit as a keychain, I added a punch hole on the bottom right corner of the PCB so you can put in a keychain ring or a fancy lanyard. The tester boots up as soon as you power it up via USB C.

Once you connect the component, press the button next to the display to begin testing. Since it has only one button, it makes it easier to use and makes it look less complicated as an electronic tester, which may appear very complex to use at first to many users. Also, to navigate to the menu the user just needs to double press the button once a component has been tested or a "No component screen is shown".

I used 0805 package components for the tester since they are the smallest components one can solder by hand and can be eyes directly without a magnifying glass. I used solder paste along with a hot air reflow tool to solder in the components.

A HUGE THANKS TO PCBWAY FOR SPONSORING THIS BUILD

PCBWay offered to step in and helped me to support this project. They also offered their PCB services for the build. I got PCBs in premium matte-finished soldermask which just upgrades the overall build quality of the tester. They offer 10 custom PCBs for as low as $5 with a wide array of choices such as soldermask colors, surface finishes, and much more. The turnout time for PCBs was amazingly fast. I got my PCBs delivered in 3 days from the day I placed an order. They also examine each PCB design manually before manufacturing so you do not receive any defective PCBs. I recommend trying their PCB service if you need one.

STEP 1: Getting Your PCBs Fabricated

The first step in building the keychain component tester is getting the PCBs fabricated for it.

You can find the Gerber Files for PCB manufacturing under the files section or on the project's GitHub repo. I used PCBWay's Prototyping Service for getting my boards fabricated. They offer great quality boards for a very low and affordable price. They also offer a variety of solder mask options to try. I got my boards manufactured with Matte Black solder mask which makes the PCBs look very premium.

Alternatively, you can click the link to order PCBs directly from PCBWAY. You can also add an SMD Stencil from them for just $10.

STEP 2: Let the Soldering Begin...!!

The list of components in the supplies section above provides detailed information on components you need to order to get started with the assembly process. The components have a manufacturer's reference number so you can hunt the parts hassle-free.

I usually start by soldering resistors first followed by capacitors and then moving onto bigger components like microcontroller, buttons, OLED Display, etc. It makes life a bit easier.

⚠️ REMEMBER TO ALIGN MICROCONTROLLER'S DOT WITH DOT ON PCB (NEAR C6) BEFORE YOU BEGIN SOLDERING IT ⚠️

STEP 3: Let's Go Bananas

To add the banana sockets, lightly tin the base of PCB where banana socket goes into and slide in the socket as shown. Once you slide-in put a bit of solder between the little space between hex nut and the base. This will ensure a strong connection and give you better and more accurate testing results.

STEP 4: Uploading the Firmware

Hardware Setup

Using a USBasp programmer connect it to the ICSP header on the board. Refer the pinout for connections (Bottom Side of PCB).

Software Installation

⚠️ REQUIRED: You must have AVRDUDE installed in your system in order for following instructions to work.

  1. Download firmware files from GitHub.
  2. In Terminal/Command Prompt, navigate to folder's location with the above files and execute the following commands-

// Flashing .hex and .eep files to MCU

avrdude -c usbasp -B 20  -p m328p -P usb -U flash:w:./TransistorTester.hex:a -U eeprom:w:./TransistorTester.eep:a
// Setting fuses for MCU

avrdude -c usbasp -B 200  -p m328p -P usb  -U lfuse:w:0xe2:m -U hfuse:w:0xd9:m -U efuse:w:0xfc:m

STEP 5: Calibration

In case your tester says "Not Calibrated"

You will need two capacitors one with values >100nF and another one with 4-35nF.

  1. To begin calibration, short the three probes together.
  2. When it says "Selftest?" , Long Press the button for 2 seconds.
  3. Follow the instruction on screen. When prompted for capacitor >100nF. Plug it between pins 1 and 3. Following it will prompt for a capacitor with a value between 4nF and 35nF. Plug it in.
  4. The Tester will prompt as "Test Completed".

You have successfully calibrated the tester 🙌

STEP 6: HALLELUJAH! You Made One :D

TAA DAA!! You just made yourself a keychain component tester 🤩

Power the tester via USB-C🔋and Plug in 🔌 the components you wanna test.

Cheers 🥂

You can also buy a fully assembled component tester from my Tindie Shop

33 Comments

Just built this and it appears to be working -- I'll run more complete tests when I calibrate it tomorrow and can compare its results against a tester I've had for a couple of years that I trust.

But when installing the software, I get a verification error for the eeprom upload... like I said, it seems to work at the moment, and when I look at the "Show data" screens, the right font and graphics appear, but... I don't like unexplained things with my electronics 😁

This is the output I get:

% avrdude -c stk500v1 -b 19200 -p m328p -P /dev/tty.usbmodem1101 -U flash:w:./TransistorTester.hex:a -U eeprom:w:./TransistorTester.eep:a

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "./TransistorTester.hex"
avrdude: input file ./TransistorTester.hex auto detected as Intel Hex
avrdude: writing flash (31958 bytes):

Writing | ################################################## | 100% 38.53s

avrdude: 31958 bytes of flash written
avrdude: verifying flash memory against ./TransistorTester.hex:
avrdude: input file ./TransistorTester.hex auto detected as Intel Hex

Reading | ################################################## | 100% 21.13s

avrdude: 31958 bytes of flash verified
avrdude: reading input file "./TransistorTester.eep"
avrdude: input file ./TransistorTester.eep auto detected as Intel Hex
avrdude: writing eeprom (884 bytes):

Writing | ################################################## | 100% 44.49s

avrdude: 884 bytes of eeprom written
avrdude: verifying eeprom memory against ./TransistorTester.eep:
avrdude: input file ./TransistorTester.eep auto detected as Intel Hex

Reading | ################################################## | 100% 4.69s

avrdude: verification error, first mismatch at byte 0x0100
0x49 != 0x3d
avrdude: verification error; content mismatch

avrdude done. Thank you.

hi there,

i am making this tester and trying to upload program files to atmega328 below are my settings for avrdude

"avrdude -carduino -B 115200 -p atmega328p -PCOM10 -U lfuse:w:0xe2:m -U hfuse:w:0xd9:m -U efuse:w:0xfc:m -U flash:w:./TransistorTester.hex:a -U eeprom:w:./TransistorTester.eep:a"

while uploading i got error messege as below

"avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e950f (probably m328p)
avrdude: Note: flash memory has been specified, an erase cycle will be performed.
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file 0xe2 for lfuse
with 1 byte in 1 section within [0, 0]
avrdude: writing 1 byte lfuse ...
***failed;
avrdude: 1 byte of lfuse written
avrdude: verifying lfuse memory against 0xe2
avrdude warning: verification mismatch
device 0x00 != input 0xe2 at addr 0x0000 (error)
avrdude error: verification mismatch
avrdude done. Thank you."


please let me know what i am doing wrong.


Hi Mr. Baweja!
I'm trying to make one.
PCBs already ordered and gathered all the components (except the bananas which I'm still looking for at LCSC but don't have the part number).
Can you please tell me how to convert the source code to an .ino file so I can use it in Arduino IDE?
Thanks!
Hello, great project...
But I'm willing to use 124*32 OLED...
Is there any chance to edit the firmware...?!!
Hi Sir, Which ide did you use, which ide can I compile these source files, how can I convert them to hex?
hi dear sir, please put here ino file from your project tester.
how come this tool can find out the component it is measuring, for example resistors and other components?
Hi Mr. Baweja
I am new in the fields of electronics, but I am a software developer.
In the schematic diagram, I am unable to understand where the wire PC3, PD1, PD3, PD4 and Power_On goes.
I am sorry, it is a stupid question, but I am raw in electronic circuits.
Please clarify.

Thanks
Hello akshay ,

Have a question please ,
What is the changes needed if i will build it using atmega168 TQFP
Also does it support voltage reading like previous version ? And ir decoder ?
Hey,
Yes, you can build it with atmega168 but it may be unstable.
Yes, it supports voltage reading and ir decoder.
Great work! I want to make one.
I find that the arduino nano has the same basic configuration as your tester on the chain and a version could be built around this by adding the other components required. I fused both the .hex file provided by you and also a .hex file which was compiled from source using Atmel Studio. I looked for a response to serial commands. With Pin7 H/L there is no response at 9600-8-N-1. to VER.. etc. My current limitation is that without an USBasp the programming is via AVRISP. I am keen to get the nano version working. Any suggestions would be appreciated.
Thanks for this new build. I still want to make it with Nano. This should help!
Is this unit available fully assembled? At what price?
Would you sell one with just the SMD components on?
I have the OLED, switches, banana plugs etc and would be comfortable soldering them on myself. TBH I find the price for the complete set a bit steep.
Since the price is over €22 customs will add 21% tax, maybe import duties as well and charge something like €15 for that "service" being provided. Add shipping costs and you're looking at at least eighty euros getting this thing to Europe.
Hey
I have only fully assembled ones in stock. Sorry.
No worries, as you see, I was able to get one working.
Going to make some more to practice working with the stencil.
Great work.. thanks for sharing such wonderful.. information..
More Comments