Introduction: USB Component Tester

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 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. Following that, I redesigned the Component Tester to size of a keychain.

Since makers, engineers and hobbyists have a computer around our work-desk always. So I thought to myself why not build a component tester that could be used as a USB accessory which allow us to test the components. I have designed a software to go along with the USB component tester that displays the required test parameters on display in a minimal design form. The test leads are colour coded and these colours indicate the pin configuration. The software supports three major OS platforms macOS, Windows and Linux.

Supported Components

  • Resistor
  • Capacitor
    • with ESR
  • Inductor
  • Diode
  • Transistor
    • BJT
    • UJT
    • PUT
  • FET
    • JFET
    • MOSFET
  • IGBT
  • Thyristor


PCBWay offered to step in and helped me to support this project. They also offered their PCB fabrication and assembly services for the build. 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. 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.


Bill of Material on GitHub (click the link to get a detailed BOM for the project)


  • Hot Air Rework Station
  • Magnifying Glass / Electronic Microscope
  • Soldering Iron
  • Solder Paste and Solder Wire
  • Tweezers
  • USBasp

GitHub Repository

Step 1: Let's Get PCBs Fabricated Before We Start

The PCB is designed to be the size of a thumb drive with male USB-A connector. The 3 Test Pads are exposed for soldering the test leds onto them. The dimensions of PCB are approximately 34mm x 17mm.

A huge thanks to PCBWay's Prototyping and Assemble Service for getting my boards fabricated and assembled. They offer great quality boards for a very low and affordable price. They also offer a variety of solder mask options to try. Currently, they are running an amazing offer for assembly service, you can get 20 boards assembled for just $30 with free shipping.

Step 2: Soldering the Components 🤨

Since I used the PCBWay's assembly service the PCBs look much cleaner and premium as compared to when I solder myself 😆

But if you are not using any assembly service you can solder it on your own using solder paste and hot reflow station. I'd recommend having a microscope or magnifying glass around since components used are 0603 packages and might be hard to solder without them.

Step 3: Soldering the Test Clips

Remember the color order since we'll be using that order in a moment, in my case TP1-TP2-TP3 are Black, Red Yellow.

Supported colors by the software are Black(B), Green(G), White(W), Yellow(Y), and Red(R) (more will be added soon). Our combination results in a color code BRY.

Step 4: 3D Printed Case (Optional)

I exported PCB design from Eagle to Fusion 360 and designed a case around it. The case is a 2 part design with snap-fit design. The tolerances are pretty tight so it cannot be opened easily.

You can download the files from Thingiverse.

Step 5: Setting Probe Colors in Firmware

If you have not used the same probe colors then follow the following instructions else skip to next step.

In file variables.h in firmware files, edit line 133

const unsigned char probe_colors_str[] EEMEM = "BRY";

Edit "BRY" to your own color combination we set in STEP 3.

Open Terminal in the same folder and run the following commands

make clean
make all

Step 6: Burning the Firmware


  • You will need USBasp to burn firmware files to the tester.
  • You must have AVRDUDE installed in your system in order for following instructions to work.

In Terminal/Command Prompt, navigate to folder's location with firmware 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 7: Desktop Application 💻🖥

The application auto connects to the component tester when a right port is selected by the user. The application is available for macOS 10+, Windows 8, and above and Linux.

For macOS users, touchBar support is also provided.

Download Application from GitHub

Step 8: HALLELUJAH! 🥳 Enjoy Your Component Tester

TAA DAA!! You just made yourself a USB component tester 🤩 Plugin 🔌 the components you wanna test.


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