Component Tester in a Keychain
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 BUILDPCBWay 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
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.
- Download firmware files from GitHub.
- 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.
- To begin calibration, short the three probes together.
- When it says "Selftest?" , Long Press the button for 2 seconds.
- 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.
- 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
asmagill121 1 year ago
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.
zeeshan112233 1 year ago
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.
k1200s 1 year ago
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!
arnablue 1 year ago
But I'm willing to use 124*32 OLED...
Is there any chance to edit the firmware...?!!
efin1983 2 years ago
pshmshyrksh 2 years ago
pontianuswarae1 2 years ago
expertpk1 3 years ago
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
amenoera1 3 years ago
Have a question please ,
What is the changes needed if i will build it using atmega168 TQFP
amenoera1 3 years ago
baweja_akshay 3 years ago
Yes, you can build it with atmega168 but it may be unstable.
Yes, it supports voltage reading and ir decoder.
ajoyraman 3 years ago
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.
baweja_akshay 3 years ago
I have posted a version with Arduino UNO. I think you should check it out. That might be useful to what you are trying to do with an Arduino Nano.
https://www.instructables.com/id/Component-Tester-UNO-Shield/
ajoyraman 3 years ago
D-Undercover 3 years ago
baweja_akshay 3 years ago
MennoLabs 3 years ago
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.
baweja_akshay 3 years ago
I have only fully assembled ones in stock. Sorry.
MennoLabs 3 years ago
Going to make some more to practice working with the stencil.
Rocky2222 3 years ago