In my recent review of the Digilent Analog Discovery Pro ADP3450 USB/Ethernet Mixed Signal Oscilloscope, I was rather captivated by the capabilities of the Tracer and Impedance modules within Digilent WaveForms which are able to use the oscilloscope and waveform generator channels to perform some of the functions of a curve tracer and impedance analyser. As I do not have such instruments to hand, having this limited capability would be very useful. Unfortunately, the set-up of sense resistors and probes can get quite messy and time-consuming. The original Analog Discovery 2 had a Transistor Tester module which made things a "plug-in" affair, but the ADP3450 doesn't, so I decided to design and build one. I had already alluded to the PCB in my detailed review (Chapter 7) but unfortunately, it did not arrive in time for the posting of the review. Now that the boards have arrived, I can spend some time to let you know all about them!
The PCB Design
The way the ADP3450 can perform tracing tasks is in part due to two sensing resistors which are used to convert currents into voltages. Depending on what is traced, you might need one or two sense resistors. The application expects resistors in a decade sequence, so 1/10/100/1k/10k/100k/1M are expected values. There is nothing too complicated about the board itself - it's merely built as a measure of convenience, so I didn't spend much effort to make a neat schematic.
As drawn, the labelling of the terminal block is mainly for PNP/NPN BJT Transistors, however, these can be translated to the PMOS/NMOS MOSFET connections and diode connections as well for the Tracer module. I decided to provide that in a legend on the PCB silkscreen for convenience. To select the various sense resistors, I used a 8-channel DIP switch, specifically Grayhill 78B08ST (9479082) as they were in stock and relatively inexpensive. They would be sufficient as there is only going to be small currents flowing through the test setup - the wavegen outputs aren't exactly beefy. For the BNC connections, I chose AMP/TE-Connectivity 5-1634503-1 PCB mount 50 ohm jacks (1020980), matched with Multicomp Pro 50-ohm BNC to BNC 1m cables (2911072). The main choice for 50 ohm is not because impedance is critical, but more-so to be nice to the input jacks on the oscilloscope which probably are 50-ohm type with the smaller centre pin. The test contacts were assigned to generic 5.08mm terminal block footprint, although perhaps wires with test hooks would be easier to use. For the terminal blocks, I used three Multicomp Pro two-contact blocks (2008019).
The PCB was laid out to be relatively compact, but not quite as compact as it could be, as I wanted it to be nicely spaced for easier construction, cable connection and installing the unit into a case of some sort. The silkscreen is used to note all of the necessary connections and resistances. You might be wondering why there is a zero-ohm selection - this is because there are tests where the Rb/Rg resistance is to be bypassed for a direct connection. Instead of making it different for the Rc/Rd/Ra, I decided to put in a zero-ohm selection even though it is not needed. The traces are made on the bottom, but as since there is no real price advantage to a single-layer board, I made it dual layer and had the top layer as a ground plane alone. Manufacturing was by JLCPCB as I usually do - they're cheap and relatively efficient and the new lower-cost economical postage to Australia brings the cost of each board to about AU$1.63 each including shipping which is an absolute bargain. As usual, I chose the black PCB with white silkscreen due to the superior finish.
Once the PCB arrived, I realised that there seemed to be a bit of an issue with the way that KiCad handles silkscreening. From the preview, it seemed the component designators which I had manually moved to the F.Silk layer didn't actually make it in the final plot. As I didn't check, this leaves the BNC connectors and resistor footprints unlabelled. A potential minor inconvenience, along with the switch label being a bit too close to the footprint so it is obscured slightly by the DIP switch. For a first attempt, I think I got off fairly lightly. I populated it with some through-hole resistors from my collection - mostly 1% resistors with a few 5% resistors for values which I don't have. Perhaps I could make it a lot smaller if I chose to do it using SMD resistors.
The Enclosure Design
While the board alone would work just fine, I don't fancy having the PCB scratching up the desk or the top of the unit. As I recently started with 3D printing, I decided to design a base to hold the module. Another feature of the base could be to label the BNC connectors with their connections to allow for easier use.
As I don't have much in the way of software, I decided to use Tinkercad for a quick design. The channels are labelled for use with the Tracer module, but the unit can also be used for the Impedance module as long as the W1-C1-R-C2-DUT-GND connection mode is used. In that mode, the W1 connection still connects to W1, while C1 and C2 connections are swapped. The DUT will be connected across the Collector (DUT) to Emitter (GND) connections. The PCB would nestle inside with labelling around the outside and clearance underneath the board for the through-hole component legs. The corners would be secured by screwing down with M3 screws - the holes in the corner are made to be 2.9mm diameter so it should be possible to have the screws cut threads into the holes. It won't be a high-tensile-strength connection, but it should be sufficient without the need for any special hardware.
As first prints are not always successful, I decided to use a left-over reel of filament so about 60% was printed on one roll with the remainder from a different batch resulting in a slight difference in tone visible on the side. The PCB fits in there snugly, even though the design should have about 1mm clearance. The holes were close enough to get the screws in, but were probably about 0.3mm too close together - this may just be down to the calibration of my 3D printer. The printing of the letters was a bit poor, perhaps down to my print speed, resulting in the loss of a stroke on the "4" on "Ch4". Regardless, the result is still very satisfying.
Testing
Hooking everything together is a mess of cables with the cables "dragging" the board around due to its stiffness and weight. But it works just fine, as I trace out this NMOS:
I also managed to grab an old NPN BJT and the traced result matches the expected gain (25-100).
Conclusion
The Tracer and Impedance capabilities of the ADP3450 with Digilent WaveForms can be quite useful, but the set-up can be quite time-consuming. Making this rather simple break-out allowed me to simplify the set-up to make testing a lot more painless. The PCB was very inexpensive, although with a few minor deficiencies in silkscreening. I managed to design a simple base to hold the PCB to prevent scratching the table when the board gets dragged about. Even that managed to fit just fine on the first print, even though it was a little off for dimensions.
If you'd like to build your own, I've attached a ZIP that has the PCB manufacturing files and the STL file I used to print the base. No guarantees as to whether it will fit perfectly or work for you, but it certainly seems to work for me! Parts can be had from element14, although it might be elevated to the next level if it were redesigned to use SMD components or to find some special board mount male connectors that could match with the ADP3450's front panel right away to eliminate the need for cabling mess. I know such connectors exist, but they are not easy to obtain. I think I'm happy enough with this as it is though ...