USB curve tracer for NPN transistors


Dilshan Jayakody documented his USB port base NPN transistor curve tracer project:

Curve tracer is an electronic test instrument to analyze the characteristics of transistors and other discrete semiconductors. In this post we construct USB base curve tracer to analyze properties of NPN transistors. This curve tracer is build around Microchip’s PIC18F4550 MCU and it use simple Windows based GUI application to plot captured data of a transistor.
In this design PIC18F4550 MCU is used to establish USB connectivity, perform voltage readings and control current/voltage flow into the test subject. To minimize the cost and to make it simple, we use R2R ladder circuit to generate discrete collector-emitter voltage levels for the transistor on test. In each scan session collector-emitter voltage level get increase from 0V to 7.5V in 256 steps. In this design, “tracer” scans the transistor for 7 base current levels which are in between 7µA to 60µA. In viewer application collector-emitter voltage levels are plotted on x-axis and collector current is plotted on y-axis.

More details at Dilshan Jayakody’s blog.

Project files available at

Join the Conversation


  1. PIC-based, Windows .Net application, hosted on the (malware vector) SourceForge site. Note, all the source archives are in .7z format. At this point the mountain got too steep to climb, and I gave up. But if you’re in that PIC/Windows/.Net groove, this is probably worth a look.

    1. I can understand your sentiment with regard to Windows/.NET as well as SourceForge. But what is the problem you seem to have with the 7z format?

      1. @elli,

        “But what is the problem you seem to have with the 7z format?”

        [It has been a long time since I looked at this subject, so any updates and/or corrections are welcome…]

        1. AFAIK, while 7-Zip’s specification IS open source, the original application is still Windows-only and must be downloaded and installed. .7z support is NOT included native in Windows, unlike the .zip format. So if you publish in the .7z archive format, there will be a significant number of Windows users who will need to install an additional application to un-archive the distribution file(s). This is dangerous because so many applications are being distributed these days by third-party Web sites that attempt to install malware on your machine. The malware comes bundled with the download. To avoid installing the malware with the downloaded application, you either need to notice a difficult to spot opt-out option; or in the case of covert embedded malware, your anti-virus must catch it in-time.

        2. On linux, 7-zip is typically not installed natively with the large majority of distributions (e.g., it isn’t native on an Ubuntu or Ubuntu/Mint install). The original 7-Zip application p7zip for Linux is command-line only, and x86 only. There may or may not be binaries in your distro’s repository and if there are, they’re likely out of date. After installation, you call the Linux 7-Zip application with (if memory serves) ./7z or ./7za. As far as I know, gzip doesn’t support the 7-Zip format (it doesn’t on my Mint Cinnamon 17.2 machine). I have heard that the Gnome file manager (GNOME Files, a.k.a. Nautilus) does support .7z archives, but not in all distributions.

        3. The (arguably) 10-20% claimed compression advantage claimed by 7-Zip over .zip is really not worth the baggage 7-Zip carries with it unless you’re distributing huge files to storage-limited machines over dial-up – and/or have another reason to use the format.

      2. Personally I tend to use ZIP because it is build into almost all OSs. So Wasylij Pupkin can extract it without any tools.

      3. I just took a look at a Linux Mint Cinnamon 17.2 machine. Help in Archive Manager for GNOME says the by default it supports Tape Archive Files compressed with 7zip (.tar.7z). But it does not say it supports 7zip stand alone files (not wrapped in a Tar ball). It says Zip files are explicitly supported stand alone and wrapped in an archive. I don’t have a 7zip file handy right now to test it. As an alternative It might be possible to install the Windows 7zip GUI binary in Wine – I dunno. Integration with File Explorer may be a trouble maker…

      4. To handle 7z files, Archive Manager needs the p7zip-full package. I don’t know what distro you are running and whether its default installation would include p7zip-full, but i guess it is not installed on your box.

      5. Create, open, view, browse, extract of a 7z archive all work on my Linux Mint 17 installation.
        Windows users should install 7-zip and avoid the OS own brain damaged ZIP support.

        IMHO 7-zip compression (7z and the *unix xz) will be around basically forever, might as well learn to use it… After more than 50 years of data compression research, it uses the best techniques for the best balance of performance and compression ratio. It’s miles better than basic ZIP. The base 7z code is also in public domain, no one can entice you into vendor lock-in like the WinZip folks.

  2. Rumburak, while i don’t disagree with your preference, i have to say that 7zip is not exactly a brand spanking new archive format and neither is it esoteric. Considering that for all popular platforms there are both GUI and CLI tools for creating and extracting 7zip archives, the argument in favor of ZIP because it is “built-in” is for most users insignificant. Although, i’ll give you that if you are one of the few still dealing with old OS (such like DOS) running on somewhat resource-limited platforms, then a “simple” archiving format like ZIP is probably preferable…

    1. Adding to my comment above, there are a few other scenarios where ZIP might be preferable such as sending stuff as an ZIP archive attached to an email to some people which are not “computer literate” or are not able to easily and quickly install software (such as in an enterprise environment). So yeah, i can see why ZIP might be preferred by some people. With regard to the situation here, i don’t see any issue with using 7z as the archive format for the source code package. Hence my question to Dronge what kind of problem he has (assuming it is not some kind of pet peeve against 7zip in general…)

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.