Introduction: AVR Transistor Tester
Recently Gearbest shop gave me the opportunity to write about another product which they sell.
So, I chose to continue my exploration in analog field of microcontrolers with another project:
M12864 DIY Transistor Tester which can be purchased at the price of $16.99 with free shiping (at the time I write the article).
Before going further I would like to make some remarks about this project, why I chose it (and why I find it very interesting).
First of all little history:
- Ideas behind this kit is started in 2009 by Markus Frejek as a thread on a forum: http://www.mikrocontroller.net/topic/131804
- also an article on same site: http://www.mikrocontroller.net/topic/131804
Later (in 2012) Karl-Heinz Kübbeler started to work on the project.
- Thread and new software versions: http://www.mikrocontroller.net/topic/248078
- And another article about new features of the TransistorTester: http://www.mikrocontroller.net/topic/248078
So this project continued to be more known, it was implemented in various forms over the time. Some enthusiasts have made it on breadboard, some have designed their own PCB's, single or dual layer; with thru-hole or SMD components... and so on.
Also, over the time, have appeared variants with with graphic display (like this kit).
Now (going back to this kit), I'm glad I found a ready-made variant.
Since I found out about this project I was curious to know "How Do They Do It" ...but I have not had time to build it from scratch. So this kit gave me the opportunity and motivation to experiment and study further.
I must say that there are other 3 versions right in the Gearbest shop:
- With ATmega328 an 16x2 LCD: M328 Transistor Tester DIY Kit - WHITE AND RED - $13.91
- With ATmega328 an 16x2 LCD(slightly different from the above): M328 DIY Multifunction Transistor Tester Kit - BLUE AND RED - $12.92
- With ATmega8 an 16x2 LCD: M8 DIY Transistor Tester Kit - BLUE AND RED - $12.92
Obviously there are ("in the wild") many variations of this kit, but I think you get the idea. You can search "AVR transistor tester" on any major search engine and you will see what I was saying...
I chose this option because I was also curious to try the module display included (128x64 pixels); to see what libraries are available and how actually work.
Step 1: Unpacking
At this step I put some pictures to have an overview about what is this kit.
It should be mentioned that PCB is very well done and markings are very clear; so we didn't need schematic.
However I will put it here, along with manual.
Step 2: Passive Components
Now let's get our hands dirty.
Passive components are easy to identify on PCB. But we must be careful to markings:
It's easy to make mistakes with these color-coded resistors. So it is better to identify each resistor with a multimeter/ohmmeter.
Capacitors are also easy to identify, but for some capacitors values are not printed directly (even if PCB markings corresponds exactly with component markings):
- 100nF are marked 104 (10 x 10000 pF = 100,000 pF)
- 10nF are marked 103 (10 x 1000 pF = 10,000 pF )
- 1nF are marked 1nJ (J means tolerance± 5%)
Step 3: Semiconductors
We observe that semiconductors are not exactly the same with those in the original project (from www.mikrocontroller.net):
- S9014 instead BC547
- S9012 instead BC557
- TL431 instead of LT1004
- HT7550 instead 78L05
I attach datasheets for these components (just in case).
Step 4: Sockets
Sockets and one rotary encoder.
Step 5: Battery Connector
... and spacers for LCD mounting.
Step 6: Display
Display module is a 128x64 pixels LCD with ST7565 controller.
Another mention worth doing at this step:
I already experience how to use this module (and ST7565 controller) in other projects; to see what libraries (Arduino and non-Arduino) are ready to use. And to get an idea (generally) about this family of LCD controllers.
I intend to test and study these libraries:
https://github.com/adafruit/ST7565-LCD "There are two 'versions' of the LCD library - one is straightup avr-gcc and the other is an Arduino Library. They're essentially the same." -from readme
https://github.com/thaletterb/ST7565R_AVR328P_Libraryuses parallel mode ... I think it can be adapted to work in serial mode.
https://github.com/svn2github/transistortesterGitHub clone of SVN repo svn://mikrocontroller.net/transistortester/
Step 7: Done
Now the tester it's ready and manual recommended to go through some steps to calibrate.
I will not go into details with with this procedure that is well presented in AVR Transistor Tester 128x64.pdf attached to this step (pages 4 - 6). Anyway it is good to keep handy the two objects that can be seen in Figure 2:
- The twisted wire is made to connect all three test ports toghether.
- 220nF capacitor used in calibration is already included in the kit.
It is important to note:
Components that could be measured are not only transistors !!!
Resistors, capacitors, potentiometers, inductors, diodes, LEDs, BJT transistors, FET transistors, thyristors, and more...
Why do I find it so important? Because studying how to measure the characteristics of these components (and this because though this project is open source) we can learn in depth about electronics in general :)
Step 8: One Step Further
Therefore this kit is not "true open-source" (i.e. we do not have design files for PCB, or exact source code for firmware); Because is so close to original project, we can use it as open source, we can modify firmware, learn and hack. And we can benefit from the low cost of mass-product kit.
So I put a short extract from CheckPins.c as an appetizer ... also a selection from schematic where all the magic is done.
Full source code (and other goodies) here:
- GitHub clone of SVN repo : https://github.com/svn2github/transistortester
- and original SVN repo: svn://mikrocontroller.net/transistortester/
From here I have two(three) directions that I'll follow:
- I will try to compile a version that fits exactly this hardware;
- I will try to experiment with stand-alone (generic and/or home-made hardware), to test and study in depth the techniques used in this project;
- And yes .. I will use this kit also to test some components... :)
I hope you liked it.