Show by Label

Tuesday, December 19, 2017

Building Another Curve Tracer

As I mentioned in an earlier post, I sold my DIY Tektronix analog mainframe scope, and with it, my DIY 5CT1 Curve Tracer also described in yet another post.

Why I want a Curve Tracer
It's not that I use a Curve Tracer that much, but if you want to categorize or really measure the parameters of a discrete component, there is really no other tool that can do the job well. Of course, there are very simple tools and gadgets available that do a go-no-go test, and even can give you the current amplification factor. I have one of those too, but they are very limited in what they can do.  It's also fun to design something like this, as a mental exercise, which is why I do a lot of these things. I like to design and build Test and Measurement tools.

With that in mind, I started a new project to build my own Curve Tracer, not unlike the one I already had, the 5CT1. Information about the 5CT1 can be found here :

By the way, the 5CT1N (the N stands for no parameter readout, I modified mine to add that, which is why it is probably the only one in the world without the N suffix) is also known as the 7CT1N. That instrument is really a 5CT1N. The only difference is the adapter board that changes the mainframe connector from a 5000 mainframe to a 7000 mainframe.

The Scope of the Project and Why
In the course of looking at more modern designs (the Tek 5/7CT1N was designed in the 1970's) I found about 6 different implementations or architectures. One of the principle architectures uses an Arduino or another micro controller to drive the hardware settings and collect the data. They typically use a PC as the display, or an LCD/OLED type display. I skipped that architecture type because there is too much programming involved, both for the Arduino, and for the PC. There is a shortcut available, using another digital scope, and I'll discuss that later.
The other architectures I found are all variations on the same, traditional theme.

Apart from the Tektronix 5/7CT1N, 576 typesthree really standout.
One is the Heathkit IT3121. A Manual and schematic can be found in this archive :IT3121
Another one I'll call the Changpuak version, and details can be found here:  Changpuak
The last one is the ELV KS7000.  You can see a demonstration of it here : KS7000

The Heathkit and the ELV units were available as DIY kits a long time ago, and both kits are no longer available. The ELV 7000 is more modern and has a few nice features that to me are important. I'll cover that later. The Heathkit IT3121 is almost a copy of the typical (traditional) Tektronix Curve Tracers, which are, in my opinion, the de-facto standard in Curve Tracers, the 576 in particular. I used to know that beast very well. When I was at Tek, I used it a lot while hunting for bad or failed components for a number of years while I was repairing Tek equipment in the 70's. The Changpuak one is also well documented, and the most modern one, but to me, lacks some critical functions.

The Trade-Offs
Let's get down to the principle architecture, because there are some trade-offs to be made.
 Let me start with a super simple block diagram: (you can click on any of the pictures to get a better quality version) 
In essence, the DUT, let's use a transistor, (BJT) or a FET initially, is powered by a collector voltage source (VColl), that can be varied. The collector current (IColl) can be limited to protect the device. The Base or Gate is driven by a Step Generator with increasing steps in current for a BJT, or a voltage for a FET. Traditionally, an analog monitoring device, typically a CRT in a dedicated unit, or the CRT in an analog scope in the X-Y mode, shows the relationship of the Collector/Drain current vs the Collector/Drain voltage. The Collector/Drain current is a function of the amplification of the signal applied to the Base or Gate, which is expressed in Beta or hFE. If you're using a scope, one vertical channel is used to capture the collector current (using a shunt) and a second vertical channel monitors the voltage between the collector and the emitter. The voltage is used to display the horizontal axis and the current the vertical axis. Most scopes allow you to use one vertical channel in place of the time-base to get an X-Y display.

Here is a typical result, taken from my DIY 5CT1 in my DIY 5440 mainframe:

The top readout (100uA) is the Collector current (IC) per division, and the lower readout (2uA) is the current per step (IB) fed to the Base.
From these curves and the readouts you can deduct, calculate or measure the Beta or current amplification in the common Emittor Mode (IC is approx. Beta * IB), and look at the linearity, the voltage breakdown and temperature drift among a few others parameters.
Look here for an explanation of Hfe/hfe/Beta here : current-gain-hfe-beta

The Advantage of the Analog Scope/CRT
In the "old" days, the scope was an analog scope with a phosphor tube. The phosphor was relatively "slow", meaning that the trace glowed for a short period. This feature allowed the Curve Trace designers to use the mains frequency of 50 or 60 Hz. As you can imagine, the repetition rate of the X-Y trace is depending on the number of steps coming from the Step Generator. With a typical 7-8 steps, the repetition rate of the sweeping phosphor trace is 50 or 60 Hz, multiplied by 2 because of a diode bridge to get positive or negative excursions, and then divided by the number of steps. The more steps, the more the display starts to "flicker". The so called "re-trace", when the X-Y beam is rapidly moved from one place on the screen to the next, is so fast that the phosphor does not light up, or if, only a little. This feat was thankfully used by the Curve Trace designers, it made for a relatively clean picture.

A downside of this design was that the used half sine wave for the collector supply, as coming from a mains transformer, showed a trace that was "thicker" or with a higher brightness at the top of the sinewave, or at the end of the horizontal axis, when the beam travels slower. The 5/7CT1N uses a triangle waveform, so this effect is absent, as you can see in the picture above.

Pitfalls of Digital Scopes
With the advent of digital scopes, the X-Y display feature changed dramatically. Gone are the days that you could deflect a single beam in a CRT to the X-Y axis coordinates at will. Digital scopes sample both the horizontal and the vertical channels and when done, display a calculated X-Y display from whatever was captured in the data acquisition memory. It's no longer real-time and it also results in fairly to very fuzzy display, because the "trace" is really a scattering of data points, not a line anymore. This display method knows nothing about retracing, so it displays everything captured, with the same intensity. There's no hiding anything anymore. Gone are the advantages the "old" Curve Trace designers relied upon.

I recently purchased a Rigol DS2072A, and although I really like the scope in normal operation, the X-Y display in the default mode is disappointing if you're used to a cathode ray tube. It's not full screen, because that would make the scattering even worse, and the refresh rate is depending on the rate of acquisition.

Here is what I mean:
I used the following two signals that are fed into the two scope vertical inputs. As you can see, the traces are pretty clean, no glitches, aberrations or noise, etc. that are obvious.

If you now select the X-Y display mode, you get this:

Note the much dimmer waveform level between the two screenshots. Furthermore, this is a fuzzy display due to the scattering process of all the collected samples, and this is under almost ideal conditions. If the signals are smaller, the noise will increase and the traces are getting even more fuzzy. With my Rigol scope, the "dimness" of the trace can be changed by the WaveIntensity setting, which by default is set at 50%. (you can see the result of that adjustment close to end of this post)

On an analog scope using a phosphor CRT, you would not see the vertical lines on the left and right. These are the transitions from one step to the next of the 2nd (blue) input channel. Too fast for the phosphor of a CRT.

To get this X-Y display, I had to tune the repetition rate of the step generator and the triangle waveform generator, to get rid of the annoying "flickering" of the display, caused by the acquisition repetition rate...

What can be done to improve this
In order to try to overcome the limitations of a digital scope as a capture and display medium, we need to take that change in architecture into account in the design for a Curve Tracer. Note that this is true for any sampling method, and that includes AD convertors with a processor like an Arduino, or feeding signals directly to a PC through a Sound Card digitization, etc.

As a matter of fact, because I was so disappointed in the Rigol X-Y display, I turned back to my DPScope II, a very simple but powerful and inexpensive digital scope front-end connecting to a PC through a USB connector. Details can be found here : DPScope The X-Y mode for the DPScope will not use scatter plots, but use trace lines. The traces are sharp but remember that a digital system shows everything, so the display is rather busy (no hidden re-traces).

Because of the non-real-time sampling of a DSO, the display no longer "flickers" due to the mains frequency, but this is replaced by the acquisition processing rate. The only cure is to go away from the mains frequency timing relationship so we can increase and tune the frequency to optimize the refresh rate of the used scope. This will require some experimenting because all digital scopes are different in that respect. Factors like sampling speed, memory depth, processing speed etc. all play a role.

When you abandon the mains frequency as the driving factor, you can also change from a half sine wave to a saw-tooth or triangle waveform. I experimented with a couple of different wave-form's, using my Function Generator, and I decided to settle on a triangle waveform. The major reason is that the synchronization of the step generator  with the triangle waveform is easier to realize. This is important because as I alluded to earlier, the digitizing method of a DSO is much less forgiving on timing differences and glitches or aberrations at these change-overs, and will display all that.

Another decision that needs to be made is how the triangle waveform fits into each step of the step generator. You can imagine that you could have one rising edge on step one, followed by a falling edge on step two, followed by another rising step on step 3 and so on. This will insure that there is only one single "trace" per step, because when there is the slightest difference in the slopes or timing, you will increase the fuzziness of the horizontal display "trace". I also experimented with a complete triangle waveform per step, and although it did not seem to add to the fuzziness , I selected the single ramp per step as you can see from the screen shot a little above. The ELV designers used that method too. It's actually quite simple to change that to a full triangle waveform, so I can always change it if I want to.

The Importance of the Step Generator
The take-away from all this is that the Step Generator design is much more critical than in the previous (analog) designs before.

Using the ELV design as the Blue Print
The ELV KS7000 comes very close to fulfilling my requirements, unfortunately, that design was made at a time when FET's where not main-stream, and adding that capability to the design seems to have been an afterthought, and in my opinion, rather poorly implemented.

Furthermore, the Achilles-heel of a re-build of this particular design is made difficult because of the special transformer that was designed for this instrument. I already went through something like that with my 5CT1 re-build, where I also had to call in help to produce a special transformer. Luckily, the ELV challenge can be solved by using multiple transformers.

The KS-7000 description and schematics are available on-line, unfortunately, it's all in German, and you need a German address to satisfy the ELV demands on their website before you can purchase and download the two articles. I managed to purchase and study the documents, but I'm not going to publish or send it to anyone, so don't even ask, please!

Although I based my design for a large portion on the KS-7000, I added enough changes so I can hopefully show my design here without causing issues.

Simulation and Verification
At this moment I should probably mention that I used LTspice to simulate 5 different designs before I settled on the ELV one. I also build a prototype of  a couple of circuits to learn more about the pitfalls in the real world, and I actually build the complete ELV design as a working prototype.

Here is a picture of the 4 major components:

The box in the upper left corner is a simple adjustable supply I use when I bread-board, and it is used to power the Step Generator with +/- 15V DC. This supply needs to be floating from the rest as you will see later.  Below it is the Step Generator, already with my changes and redesign. Below it is the Triangle Waveform Generator and the simplified Collector supply regulator. The collector supply output voltage can be varied with the potmeter below it.

Upper right is the power supply for the Triangle Waveform Generator (+10V and -5V). I'm using LM317 and LM337 for these supplies to be able to change the voltages in this prototyping phase. The Collector voltage itself was coming from one of my Lab supplies.

Lower right is the circuit for the X and Y amplifiers that interface to the scope input channels.

When I took this picture, the boards were not inter-connected to each other anymore. When they were, it was quite a display of wires and the whole thing looked like a giant spiderweb.

The Actual Design
Let me start with the Collector/Drain supply. It is actually quite simple, and only supplies the unregulated Collector/Drain voltage.

In the original design, a single transformer was used that supplied 2 x 40VAC at 1.2A each for the Collector/Drain supply. Using a relays, the transformer winding's were switched in parallel or series, creating 40VAC at 2.4A, or 80VAC at 1.2A. This results in a DC voltage of 60V or 120V, more than enough to supply the maximum triangle output of 100V DC. Two more winding's (2x15VAC 200mA and 2x12VAC 300mA) on the same transformer were used to supply the step and triangle circuits themselves. I'll cover that next.

In my own design, I will use a transformer that I salvaged from an old printer for the Collector Voltages. The two separate winding's are different and cannot be switched in parallel, but I can create two different voltages that I can switch by using a relays. I seldom if ever need high currents for my DUT's, and if so, I can modify my design by adding another transformer. To create two voltage levels, low for most DUT's and a high voltage for special DUT's, I created a roughly 30V DC (unloaded) supply using one winding, and about 104VDC supply using the other winding. The 104VDC is just above the highest voltage of the capacitors I could purchase, they are 1.000uF/100V, so I used two of them in series. This halves the capacitance to 500uF, but at least I'm safe with the maximum voltage. Hopefully 500uF is enough for 250mA.

Because of the constraints the selected enclosure poses, I had to split the Collector supply in two parts. 

Above is the main section, with the 230V AC receptacle, fuse and main switch. From there it goes to the transformer with the two separate winding's. The high voltage section is located on this board, but I only had room for the bridge rectifier for the 30V supply. The output of this board has the common (-CS), the lower 30V and the total voltage of 130V and those connections go to the next section. The R/C snub networks across the transformer winding's are selected with the use of a very nice tool, called the Quasimodo Test Rig.
I build the SMD version, details can be found here: Quasimodo-test-jig

The second part of the collector supply is on a separate board. To the left are the outputs from the first board. The 30V supply gets filtered a little better by using a 1,000uF cap, followed by a 0.6 Ohm resistor and than the main filter capacitor of 3,300uF. This setup provides a better filter and reduces the initial current surge.
Note the "bleeding" resistors across both raw supplies. They make sure the rather high voltages are discharging relatively quickly.

What is important to note at this point is that the positive side of this Collector supply (CS+) will be "tied" at Ground level, and the negative side (-CS) therefore is varied by the Triangle Waveform Generator circuit. This is analogue to the way DC lab power supplies work when the controlling logic needs lower supply voltages. This is also known as the H-P/Agilent method. I use that same method with my "new" lab power supply described in one of my earlier posts.

The relays in the circuit is used to feed the Triangle Waveform generator with two different voltages and current capabilities. The switching is done automatically, more about that later.

Because the two winding's I'm using for the Collector supply have different current ratings, I use a slightly modified circuit from the original ELV design, to create two different Current Limiting values, that are also switched automatically. The Current Limit circuit on the Triangle Waveform board is set by a potmeter that creates a voltage between 0 and 1VDC. I picked that value because I had shunt resistors that could be used. To create a little headroom, I used 0.9V for my shunt resistor calculations. This allows me to always get the maximum current the transformer is able to supply.

I did not have the specifications for the salvaged transformer, so I first measured the unloaded secondary AC voltages and then loaded these two winding's one by one with varying power resistor sizes. I determined the maximum current to be when the AC voltages dropped to about 75%. The maximum current was then calculated by dividing the resulting voltage with the used resistor value. This is obviously not a science, but a practical approximation, which to me,  for this particular application especially, is good enough.

Using the above method, I found that the 30V winding can supply about 750mA, so I selected a current shunt of 1.2 Ohm. That resistor value will create a voltage drop of 0.9V at 750mA. The high voltage winding can only supply about 250mA, so that needs a shunt resistor of 3.6 Ohm to create the same 0.9V drop. I didn't have that value, so I concocted a shunt value of 3.5 Ohm by using two resisters in series. In reality the actual value is a little higher and ended up pretty close to 3.6 Ohm, which is good enough for me. When the circuit switches from the 0...30V range to the 0...130V high voltage range, these two current shuns are also switched.

To create a more stable Collector supply output and improve regulation, even when there is no DUT connected, a Constant Current Sink circuit is used to load the supply output with about 8mA, regardless of the voltage output level. This is the circuit around the TIP117.

Diode D8 protects for polarity changes and glitches, and C6 prevent oscillations of the Triangle Waveform CS supply. Note that C6 must be a 250VAC version, it gets the full load of the collector supply.

At first I wanted to use a simple switch on the front panel to switch the output from 0..30V and then from 0..100V. While playing with the circuit, I found that this is not very practical. When you're testing a DUT, you really want to have a continuous Collector/Drain voltage that can be set by one potmeter. The original design automatically switched the transformer winding's from parallel to series, and so I copied that part of the circuit and made some adjustments.

Here is that voltage/current switch circuit:

The output of the Collector/Drain supply (-CS) is fed to a trimmer that can be used to set the switch-over voltage. This triangle waveform is rectified, limited and fed to the input of an Opamp. As soon as the tripping voltage (I use 30Vp-p) has been reached, the OpAmp switches state and turns on the warning LED located on the front panel. The same output also goes to a clamping and low-pass filter and a Darlington transistor turns the relays on that switches the output voltage from 0..30V to 0..120V and back. The hysteresis is set by the 1M resistor and that results in about a 3V difference to avoid jitter of the relays while you move around the 30V mark.

The original ELV circuit is a little crude in my opinion, because the designer used a whopping 100uF capacitor (C17) to keep the circuit from oscillating when the Current Limit gets into effect. The result of this large time constant is that it takes a second or so for the relays to activate when you increase the CS supply. So, for a second or so, while you continue to  turn the potmeter, the output clips, and then the higher voltage kicks-in. Going from high to low, this is not so much a factor. Unfortunately, at certain voltage settings and current limit values, the circuit still oscillates and switches rapidly between the two winding's. For the moment I left this circuit as is.

Note that although a use a 12V relays, I use the +10V as a supply. The relays I already had in my stash is happy with that and seems to switch fast enough.

The Triangle Waveform Generator and Collector/Drain Supply
Because we cannot use the mains frequency as a basis for the collector voltage and steps, we need an oscillator to generate the triangle waveform.  This circuit will also drive the synchronization with the Step Generator, and in addition will take care of the Collector/Drain supply voltage adjustment and current limiter setting.

Here is that part of the design:

This portion for a large part follows the original design. Let me go through through this circuit a step at a time. The upper left portion comprises the triangle waveform generator. It uses two CMOS gates to precisely control the starting and stopping points so the triangle will be symmetrical. Remember, this is rather critical for digital scopes. The most left trimpot will set the zero Volt level. C9 determines the waveform frequency and this may have to be adjusted for the particular scope you're using. There is more about that toward the end of the post. The output of the buffer/amplifier U3.2 feeds the Collector/Drain voltage amplifier and current regulator.

The Step Generator is synchronized by the circuit around the two lower CMOS gates. Each output pulse triggers a step transition.

The Collector/Drain voltage regulator is build like a variable power supply. Instead of basing the output voltage on a stable reference voltage for a DC supply, it is now using the triangle waveform to drive the output. The Darlington series transistor is biased with a resistor and that base current can be "taken away" by the output of the two opamps. The top one regulates and limits the current set by the CL potmeter, and the voltage is set by the lower opamp that is fed with the triangle waveform added to the output signal through the voltage adjustment potmeter. If you care to look at my posts about my latest Lab Power Supply, you'll see striking similarities.

Here is the remainder of the circuit:

Upper right shows the power supply for the circuit. Because I did not have the LM7810 nor the LM7905 regulators, so I used the LM317 and the LM337 to create both supplies. They are mounted on heat sinks. A larger heat sink is needed for the series transistor, the TIP150. The raw supply feeding the +10V is tapped and goes to the XY-Amp board, together with the -5V and the CS- supply.

The voltage switch that drives the relays on the Collector Supply board is located on the Triangle Wave Gen board.

The Step Generator
This is the most critical portion of any Curve Tracer. It is the heart of the instrument and to a large extend determines what devices you can measure and with what precision. This portion of the Curve Tracer has the most changes or additions relative to the very basic ELV Step Gen design.

Here is the first portion of that circuit:

Let's go through this circuit a step at a time as well.
In the upper left, there is an optical connection where the trigger pulses come in from the Triangle Waveform generator. This optical separation is important to be able to "tie" this circuit to either the positive side of the Collector/Drain Supply, or at the negative side. This switching sides allows us to handle N- and P-type devices. Obviously, to do that, the whole Step Gen circuit has to be floating from the rest of the curve tracer circuits, which is why a separate winding on a power transformer is used to create the +/- 15V and the trigger pulses are coming through an optical switch.

Initially, I experimented with several ways to create a step generator, and I almost went completely discrete by using the 5CT1 step generator circuit, because of the versatility and precision. After some experimenting and modifying the original ELV design though, I was able to get the same 5CT1 versatility using a CMOS 4040 counter version together with a CMOS 4028 BCD-Decimal counter and a number of OpAmps.

The trigger pulse entering the circuit is going to a 4040 counter chip, that produces divide by 2 counter outputs. We'll use only three of them, to create 8 steps (0..7). The 4040 is supplied by the +15V supply, so the output signal is about 14V. A simple R2R D2A convertor is used to create the individual steps. To create equal step values, the value of the resistors R2R ladder is important. I used two SIP resistor networks because they have the required precision, and are thermally coupled. Loading the output of the R2R convertor output will change the step levels, so I use a separate buffer to create a low enough impedance to also use rather low Ohm value trimmers that can be used to calibrate the steps precisely. The calibrated steps will be 1.5V per step, or 10.5V peak to peak for all 8 steps. After this adjustment, the signal goes to another Opamp that is used to change the polarity of the steps, needed for N- or P-type devices. This overall polarity switching is a little complex because several things need to change. I use a relays on this board, and that gets activated by another tumbler switch located on the front panel.

I'll cover the number of steps selection circuit around U9, below.

The next portion of the Step Gen Board deals with the amplification and selection of the step waveform, the Volt/Current Amp.

Voltage/Current Amp
The output of the Step Gen section goes to a Voltage/Current amplifier and attenuation circuit. I spent quite some time to get this right. In most designs, series resistors are used in combination with a rotary switch to create the required current steps for BJT's. In most of those designs, they use another switch to select the voltage steps, needed for FET's. As mentioned earlier, I was used to the 5CT1 design, where a single switch was used to go from current to voltages, and with the same ratio values. It makes the front panel indication so much easier. What I mean is that one selection could be 10uA in the current mode, and when going to a FET, it would be 10mV (a factor of 1,000 x in Volts, because that is more appropriate for FET's).

The above circuit does that, and with pretty good precision to boot. In the current step mode, a negative feedback loop is used to overcome the output transistor diode drop, and in the voltage mode, another opamp with just about the right amount of positive feedback is used to overcome the voltage divider ratio shift. So in order to switch from current to voltage, all you need to do is to switch a precision 1K resistor into the circuit to turn the current into a voltage. I did not show a schematic picture of the 12 step rotary switch in the circuit diagram because it would mess-up the visual aspect of the circuit.

Step Selection
Here is another detail that you need to be aware of. As you can see, the highest Voltage steps are 2V and 5V. Per step that is. This means that the 7th step would be 7 x times that value, or 14V, respectively 35V. This would call for a supply voltage of at least +/-40V for the output amplifier. I'm not going to do do that, so one method to overcome this limitation is to reduce the number of steps in these higher Voltage settings.

The reduction of the number of steps is accomplished by a BCD to Decimal counter, a CMOS 4028. The BCD count coming from the 4040 is used to drive it, and the outputs will represent the number of steps. A rotary switch is used to reset the 4040 counter with the selected number of steps. It goes from step 1, the minimum to the 7th step, the maximum, with the zero step at zero current or zero volt.

By limiting the number of steps, you can also keep the dissipation of heat in the DUT to a minimum.

Step Offset
Another refinement is the option to add an offset to the steps. This will allow you to precisely adjust a certain step to whatever current or voltage the device is intended for or gets into the circuit it came from, if you're repairing or verifying. The offset range is intended to be +/- 6 steps. However, for Voltage steps (for FET's), as an example, the excursion is limited by the maximum output of the output amplifier (+/-15V supply). What this means is that you can adjust a positive step waveform only a Step value or two before the top steps start to clip. A negative offset however will go the whole way, and the reverse is true for the negative offset for a negative step waveform.

Again, the step selection will come to the rescue once more. If you limit the number of steps, the excursion is extended.

For example, if you select positive steps with an amplitude of 100mV/Step, the baseline (step zero) of a two step waveform can be adjusted by about 6 steps (620mV) upwards (aiding) without clipping, but all 7 steps can be adjusted about 6 steps (620mV) downward (opposing).

Initially, I just used a potmeter wired to +15V on one side and -15V on the other. This will work a little weird, because you would have to go back to the mid position before flipping the offset on/off switch, to not upset the DUT when you turn the offset back on.

After some thinking I decided to "borrow" this section from the Tek 576 manual, because the offset capability is especially important for FET devices. After all, the 576 can be considered as the industry standard.  The switch should be able to select "Aid" or "+" for a positive going offset, "Oppose" or "-" for a negative offset, and "None" which is the mid position.

So together with the step selection, you can finely tune the base current or the gate voltage.  For FET devices you can even set a few steps with a positive voltage while the remaining steps will have a negative voltage, of vice versa.

As mentioned earlier, I use a relays to switch the polarity of the steps and at the same time, connect the whole circuit to either the positive supply or the negative supply. The relays I'm using is a 12V version, but the specification allows up to 130% of that. To be safe, I added a diode in series to drop the voltage by about 0.6V to about 14.4V, well within the specs of 12V + 130% = 15.6V. The relays is activated by the triple pole polarity switch on the front panel.

Fixing Polarity Issues
What I also would wanted to address is the way the various devices are displayed on the X-Y screen. As an example, the Tektronix 5CT1N shows NPN device curves originating in the lower left corner of the display, and PNP devices in the upper right hand corner. FET's were displayed accordingly. The downside of this approach is that you are probably re-adjusting the calibration of the X and Y axis starting points with every switch. The Tek 576 does it the way I intend to do it as well. All curves originate in the lower left hand corner of the display.

A more Simple DUT Test Adapter
The ELV design uses a pair of 3 binding posts with different connections for NPN and PNP devices. The way the designers implemented the circuit, they need you to swap the collector and emitter connections. That's pretty cumbersome and can be confusing, also for N- and P-channel FET's.

On the left of the diagram below is that circuit detail for NPN and PNP devices:

The Collector/Drain supply (+UC and -UC) is voltage regulated with the series transistor. It gets fed by a triangle waveform. Because the emitter from the series transistor is connected to the system ground, the -UC supply is negative, relative to ground.

The DUT, an NPN in the top diagram, is connected with the emitter to the -UC, so the collector will be positive from that level. The Base gets fed with a set of positive going steps. The 0V of the floating Step Gen circuit is connected to the -UC supply, so the Base gets positive going steps from the Step Gen. The series resistor in the DUT collector lead is where the collector current (IC) will be measured.

For PNP transistors, the ELV instrument forces you to swap the collector and the emitter of the DUT, as you can see in the lower diagram. To feed the PNP transistor with negative going steps, the polarity of the Step Generator itself is reversed, and because the 0V (the common) of the Step Gen is now connected to the emitter of the PNP transistor, it gets progressively reducing steps on the Base, relative to the emitter.

It works, but it is not very elegant, and can be confusing to boot. I will add the circuit on the right hand side to switch the polarities of the DUT's so you don't need to swap them. This will allow me to use a much more simple test socket and a single set of binding posts lettering.

DUT Test Fixture
I intend to use one set of binding posts for all devices, like I was used to with Tek curve tracers. (C/D, B/G and E/S) There is some more switching of supplies and pins needed to do that, in order to accommodate both BJT's and FET's in N- and P- polarities. I will also use two sets of test sockets/lead clips to allow you to switch from one DUT to the next to see differences between them, and also aid in the selection of pairs. I ordered two sets of TO-220 test sockets, and they can also take TO-92 type devices. Time will tell if they are really usable.

Here is are the search keywords for eBay:
     Transistor Triode Test Socket Ageing Test Socket Ceramics Body TO92 TO220 TO3P

Here is a link, but that may go to bit heaven soon: Socket

And here are two pictures:

The DUT Output Terminals
And now it may get a little confusing and the next may look complicated...
Below is the circuit diagram that ties everything together.

It seems confusing at first sight, but both the transistors in the circuit are really replaced by the test adapters you see on the lower section. I used the transistors to make the wiring more obvious.

To understand this section, it is also very important to keep in mind that the StepGen circuit is fully floating from the rest of the circuits. Look again at the original ELV circuit I showed just above.

The Step Generator output goes to one part of a DPDT switch. That switch (S1a) has three positions, A, 0 and B. The 0 or middle position makes no contacts. So S1a feeds the Step Gen output to either the base/gate of the A or the B DUT.

The other section of that switch (S1b), feeds the collector of the A or B DUT with the collector/drain voltage. The connector/drain voltage is further supplied through switch S100a (a triple DT switch (TPDT?), which connects the collector/drain to either the -UC (for PNP polarities) or through a 1 Ohm IC shunt to GND for NPN polarities. I call this point the DUT Common signal. The IC current shunt is used by the X-Y Vertical amplifier to measure the voltage drop and thus the collector/drain current and is located on that board to be close to the Opamp.

Switch S100b connects the joint DUT emitters to either -CS for NPN or through the IC shunt to GND for PNP polarities. As I explained earlier, this switch eliminates the physical switching of the actual DUT for different polarities.

The third section of that same switch, S100c, activates the polarity relays on the Step Gen board. One section of that relays connects the 0 Volt of the floating StepGen circuit to either the -CS supply for NPN types, or to the DUT Common point through the IC shunt to GND for the PNP polarity types.

So in practical terms, the whole Step Gen circuit "sits on top" of the -CS supply, feeding positive steps the the base of NPN polarity types, or "hangs down from" the DUT Common point (the IC shunt) and then supplies negative going steps to the base of PNP type devices.

I use two DUT test connectors to apply all the signals to various DUT packages, and I settled for the moment for the 5 pins to be connected to the majority of TO220 and TO92 type pin outs.
I also use two sets of 2mm Banana connectors to be able to use flying leads to connect to the DUT's.

X-Y Amplifiers
The X-Y amplifiers supply the Horizontal and Vertical deflections going to the oscilloscope or X-Y display.

The horizontal (X) axis will display the collector voltage (VCE), and that is measured between the -CS connection of the Collector Supply and the DUT Common (IC Shunt) connection, through the polarity switch. At this moment I am following the original design from ELV for these two amplifiers. The selection of my final display tool (DSO) will probably determine if this circuit needs any changes.

The vertical (Y) axis will display the collector/drain current (IC), and that is measured across the IC shunt resistor R7. This 1 Ohm shunt is connected between the Triangle Waveform Generator circuit GND and the collector/drain or emitter/source of the DUT, depending on the selected polarity.

C3 is there to help eliminate oscillations of the Triangle Waveform.

The horizontal collector voltage can be calibrated with a potmeter mounted on the front panel, such that accurate visual Volt/Division measurements can be made. Because a simple 10X factor going to the X input channel of the scope is desirable, the output of the Opamp should be able to supply 12V, to replicate the 120V for the Collector supply. That is why there is a separate 15V voltage regulator on this board.

Note that the Y signal must be inverted by the scope to move the XY origin to the lower left hand corner. There is a 10X multiplication factor of the Y Opamp, so every mV across the shunt will be passed on as 10X that value to the scope.

Building the Curve Tracer

The Enclosure
After some surfing around, I found an enclosure that I'm going to use and ordered.
The enclosure is 200mm wide, 175mm deep and 70mm high and has a handle so it can be tilted as well.

Here's a link on Ebay for it : Enclosure

Below is the back panel with on the left side the connector that will feed-in the two aux. supplies for the Step Gen and the Triangle Waveform Gen. I use one of my general purpose transformers (2 x 15-0-15VAC) in a separate enclosure that I use to power several of my instruments, or use with bread-boarding and prototyping.

In the middle is the high voltage section of the Collector Supply, and to the right the 230V mains receptacle with fuse and switch. The white 4 pole connector on top is where the transformer winding's connect. The blue connector on the right goes to the second part of the Collector supply.

Following is a picture with the transformer mounted in the enclosure. Below it is the second part of the Collector Supply. To the very left is the rotary switch that will be used for the step selection. It cannot be mounted on the front panel, because one of the supports for the long screws that connect the bottom shell to the top shell is in the way. The 6mm extension axle just passes the screw. To the right is the Triangle Waveform Generator and controller for the Collector Supply.

Here is a picture that shows how I will add the board space required for the front panel circuits like the X-Y amplifiers. How I'm going to populate that board depends on the front panel connections.

The Step Gen board will sit on top of everything.

Counterfeit Part
After testing the Collector Voltage supply, I ran into a problem. The Triangle Waveform generator worked, I tested that earlier, but the regulator part didn't work. There was only a small distorted waveform at the output, and regulating caused the voltage to jump to the full scale. I did not yet use the transformer at this time, I just used one of my Lab supplies set at 20VDC. Obviously, I suspected the usual (for me) wiring error, but after carefully checking the circuit, it turned out OK. Actually, that was a relief to me, because for the first time in many years, I did not make a single stupid wiring error in this project, all circuits worked first time. Wow!

After measuring a few things, I started to suspect the TIP151 series transistor. I only received my order for them literally just two days ago, after having waited 6 weeks for the delivery. I ordered a set of 4 TIP151 transistors from a vendor on When they arrived, I found two sets in the package, both pairs in separate plastic bags, and with separate markings on them. That seemed a bit odd, but I didn't pay any further attention, and soldered one of them in my circuit. Because I started to suspect this transistor, I actually wired the lower voltage Darlington transistor that I had been using before with some jumper leads, and yes, that worked as before. Big relief!

The markings are very hard to read, and my camera didn't really pick it up either. All four are supposedly from ST Microelectronics and look pretty genuine to me. The markings are CC0RH W MRC 608 on one set, and CC00JV6 MAR 17 26 on the other. I'll keep them, they are perfect testing candidates for the finished curve tracer. 😀

Receiving counterfeits only happened to me once before, when I ordered 10 x LM317 Voltage Regulators. They seemed to work OK, but they all popped and developed a short when more than 25 or so Volts were applied, so I had to dump all of them.

Ordering from China has it's risks, but I must say that from the hundreds of different parts I have ordered over the last 5 years or so, it only happened twice. To be honest, I am to blame as well, because 4 x TIP151 transistors for the price of 1.90 Euro, including shipping sounds too good to be true, and usually when that is the case, it probably is.

Bummer! When I checked availability earlier with my preferred suppliers (5 of them), none of them carried these parts. It's not easy to find replacements for them either. You really need the high voltage (300V) at a few Amps, and the replacements I found, were not available either. Final story is that now I had to order them through the local Element14/Farnell outlet for private people. I try to avoid them like the plague because they charge an arm and a leg! Often 50% to 150% more. Well, I didn't want to wait for another 6 weeks, so I pulled the trigger.

After receiving them and testing the circuit with the new TIP151 transistors, everything worked as it should

The Front Panel
The X-Y amplifier circuit in addition to the output terminal/DUT circuits and connections will be mounted on or close to the front panel, together with the adapters, switches and potmeters. I now need to figure out how I'm going to mount all this to keep the leads short, and noise out.

Below is a mock-up of the front panel with most of the parts mounted. The only thing missing are the LED's.
This mock-up is an earlier version of the front panel printed in B/W. By doing this, I was able to see that in a few areas I needed more room, so I could rearrange a few things before drilling the real front panel. I also wanted to verify that text wasn't too close or underneath fastening nuts and knobs, and a few had to change as well.

I used double sided sticky tape to mount the front panel design on a carton sheet, so I could mount the parts. The exact locations are difficult to obtain, because drilling holes (by hand) in carton is not precise, but good enough.
I later trimmed the carton so it would just about fit in the enclosure and I could have a 3D look inside.

This is the first time I'm actually building a 3D model of a front panel, because you can see that it's pretty busy and cramped. I wanted to have a 3-D view of the front panel, to see if my fingers can get to everything easily enough. Especially the adjustments that will be most used, like the Step Output and the Collector voltage need to be accessible by two hands at the same time if possible.
I also wanted to have a 3D view of the back, to be able to design the parts layout on the X-Y circuit board.
I decided to put the Collector voltage adjustment in the upper right hand corner, using my right hand to adjust the Collector Voltage, and the Step selections with my left hand.
Because I wanted to group the various adjustments, I ended up with the Step section on the left, the DUT section in the middle and the Collector Voltage and Current limiter as well as the X-Y outputs and adjustments on the right.

Here is a picture of the "final" design in PowerPoint, after making the changes that became apparent during the 3D mock-up stage, the mechanical build and the first testing of the completed instrument.

The size of the holes represent the drill size, (except for the Step Selection, that will be a 6mm hole) and the cross is the drill mark. The above panel print is the same size as the actual front panel, but that slides into slots of the upper and lower shells. Because of the added thickness of the final glossy printer paper and the double sided sticky tape, the front panel will not fit anymore, so I need to reduce the back of the front panel by about one mm in thickness for about 4-6mm along all 4 sides. The casing shell panel slots are 3mm deep, so this amount will disappear (covered) from every side of the above front panel print.

I used my hand-held router to reduce the outside edge of the plastic front panel by 1mm in thickness, to accommodate the glossy paper and the double sided tape. This was a little tricky, so next time I will build a small router table, like I had already done for my hand-held circular saw as well. I'm to fond of my fingers so I'd rather be safe than sorry, and I don't want to mess with the only front panel you get with every enclosure.

With the back of the front panel reduced, I printed the above design on glossy paper, and used double sided sticky tape to fix it to the front panel. I then carefully cut the holes with a sharp knife and mount all the front panel parts.

After I mounted everything, I noticed that I forgot the BJT/FET switch on my first version. It shows up above, but I don't have any text around the switch that I needed to add later. See the picture below. The switch sits between the Step Selection and the Step Output (the V below the switch means Voltage or FET) There are a few more tweaks that I would like to do to the text on the front panel, but I'll wait to replace it until everything is working. One more mistake that I found after the initial testing was that I had 8 steps maximum, while the maximum is 7 steps. There are 0..7 steps, and I don't use the "0" step.

I also removed the X10 amp switch for the Y-Amp because it did not do what I expected it to do.

Finally, I made an error with the number of steps that can be selected. It's 1..7, not 1..8 as I have on this front panel.

After I started the wiring of the back of the front panel, and worked on the interconnects between the boards, I noticed a couple of errors and confusing inter-connects. To fix them I updated all the circuits and re-posted them above. I think I have all of them ironed out, so I can now continue to finish the remainder XY amplifier circuit and the connections between all the boards and the front panel.

All the interconnects are checked and the flat cables are crimped and ready to be connected. (except for the three LED's)  I will take this a little baby step at a time and test it all out before everything will be powered-up at once, especially the Collector supply will be last.

Now that the inter-connects are hopefully sorted out, I could also finish the XY Amplifier board.
Here is a picture:

On the top left is the connector where the ground from the Triangle Waveform Gen is connected and also the DUT common connection. In between is the 1 Ohm IC current shunt. I could not get 1% resistors at 2W, so I selected the best value from a set of 10, to get as close as possible to 1.0 Ohm. This resistor is raised a few mm from the board, it may get hot.

The Y-amp measures the voltage across the shunt to give an indication of the Collector current (IC). The other half of the dual Opamp is for the X-Amp, which measures the C-E voltage, which comes from the DUT Common signal and the CS- voltage. The  CS- and the +10 and -5V come in through the connector on the right hand top, which connects to the Triangle Waveform Gen board.
The connector on the bottom right connects to the horizontal calibration potmeter for the X-Amp. This is located on the front panel.

The shielded cables coming from the X and Y BNC connectors will be soldered on the right hand edge connector.

After wiring the three LED's, I added power to the Triangle Waveform board only, just to see if the generator worked. It did, so I had the trigger pulses required for the Step Generator. When I connected that board, I noticed a few minor wiring errors and fixed them. I was able to play with all the controls and verified that everything is working as intended. The Step Generator works really well, I'm happy with that section.

After some time debugging while tracing an error, caused by an incorrectly mounted component on the Collector Supply-2 board, I was able to power-up the complete instrument. At this point I verified that the Collector supply is up and running. After that I mounted and connected the rest for the first trials.

First Time Power Up

After the first time power-up, things looked OK at first hand, but when I looked into more details, it just wasn't right. Turns out I found another conceptual wiring error, but below is a picture of the now working Curve Tracer.

This is with a BD138-16 PNP power transistor.
This was taken with 100uA Base current steps and 40V VCE.
Note the inverting setting of the Vertical Y channel (blue) to get the origin to the lower left hand corner.

There are a few calibration points that need to be adjusted.

1. Step Generator Step Voltage
On the Curve Tracer select NPN Polarity. Then select the Voltage Output (for FET's) and by setting the Step Output to 100mV/Step. Connect an oscilloscope (X10) probe between the E/S terminal for Ground and the probe tip to the B/G terminal. (You can do that because the Curve Tracer is floating from the mains ground or earth) The scope was set at 100mV/Div, in a normal (Y-T) display setting and the Stepped Trace trace was moved to align with the first bottom graticule line. This allows you to see all 7 steps on the screen of the scope. Adjust the Step Calibration (R47) for an exact 700mV level for the 7th step, resulting in 100uA/100mV Steps.

2. Triangle Waveform Base Level
Connect a (10x) scope probe between the E/S terminal for ground and the C/D terminal for the Collector Voltage. The scope is set for 10V/Div.

WATCH OUT! The ground clip of the probe goes to the C/D terminal and the probe tip to the E/S terminal. If you reverse this, you'll create a short because if you have one of the BNC cables connected to the scope, the ground of the BNC connector is at the same level as the C/D terminal.

Dial in a Collector voltage of about 70Vp-p (full screen of the scope) and then adjusted the lower edges of the triangle waveform to be at 0V with R32.

3. Maximum Triangle Waveform Output Level.
With the Scope now set to 20V/Div, turn up the output to the maximum level and adjust the top of the waveform to be at 120V by R33.

4. High Voltage Switch Level.
Reduce the Collector output to about 20V and slowly move up to 30V. Use R13 to let the HV relays switch at that level. You probably have to go back and forth a few times. Then confirm the hysteresis of the relays when it switches-off at about 3-5 Volts below the turn on level of 30V p-p.
That's it.

5. Lastly, there is the front panel adjustment for the Collector Volts/Div. Setting
This is something you may need to adjust based on the display (scope) you're using, or the Collector voltage you are currently using, which is why the ELV designers put it on the front panel.

The way I calibrated the Volts/Div of the XY display with the actual Collector voltage went as follows. I connected the X output connector with a BNC cable to one input of my scope. I then used a x10 probe to connect the second scope channel to the E/S and C/D terminals.

WATCH OUT! The ground clip of the probe goes to the C/D terminal and the probe tip to the E/S terminal. If you reverse this, you'll create a short because the BNC cable ground is at the same level as the C/D terminal.

For the X channel output, I selected 2V/Div and for the probe 20V/Div. Adjust the bottom of both waveforms to be at the second graticule line and then adjust the collector voltage to the maximum 120V which should be 6 divisions for the Probe channel. Adjust the front panel X-Cal potmeter to make both wave-forms overlap. The result is that the horizontal display in the XY mode is now representing 10V/Div when the input sensitivity is set at 1V/Div for that channel. Obviously, you can make this adjustment for just about any V/Div setting, use whatever you prefer. The adjustment is very sensitive, so I will probably change the range of the front panel potmeter somewhat.

Revisiting the DSO XY Trace Flickering Challenge
When I first powered-up the unit and used the calibration procedure for the maximum Triangle Waveform output (3), the baseline of the waveform started to go up at about 60V and finally raised to about 22V at the full 120V output. There was also some waveform distortion at high voltages. This baseline effect will distort the XY trace in combination with the Step Generator, because the Triangle Waveform will no longer cover the complete step. I did not realize that earlier, because this was the first time I was working with the maximum Collector voltage of 120V.

The root cause of this effect is that the Voltage control amplifier and series transistor for the Triangle Waveform cannot handle the rather large and fast transitions, or swings. (limited Slew Rate) There really should be no reason for this effect, because the Slew Rate of the Opamp is rated at 13V/uS, and it only goes between -5 and +10V. The TIP 150 has a rising edge speed of 0.18uS, and a falling edge speed of 1.6uS. It must be the whole amplifier that is somehow limited, unfortunately I don't know enough to pin-point the problem or fix the circuit.

Luckily, there are two remedies (work-a rounds) to address this. One simple remedy is to give the amplifier some more time by lowering the repetition rate and you can do that by lowering the waveform frequency. Unfortunately, as I eluded to in the beginning of this post, lowering the frequency starts to conflict with the acquisition rate of the DSO itself.

The display will start to flicker and there are large gaps in the display that move around randomly. The gap is caused by the time for the acquisition system of the scope to analyze the capture buffer and display the scatter plot on the screen before the next buffer will be filled.

Here is what I mean:

Note that I increased the trace brightness by adjusting the WaveIntensity from the default 50% to the full 100%. This screenshot was taken with a 22nF capacitor for C9, resulting in a Triangle Waveform of 220Hz. There is no base line effect, that's fixed, but now we have another problem.

The next remedy is to speed-up the acquisition/display turn-around of the DSO. With the Rigol, you can do that by lowering the used Memory Depth. I had to go to the minimum setting of 7K points to get rid of the acquisition gaps.
There is still a slight flickering of the display, but that is about the same as you would get on a phosphor CRT display, plus, the fuzziness is reduced because there are fewer samples to put in the scattering plot.

Here is the combined result of both changes:

There is still a little gap in the first horizontal step curve. This is the remainder of the "off" time that scope needs to calculate the collected samples and present them on the screen. However, this only shows up on a "printed" picture, which is a snap-shot, and the gap can be located anywhere on the screen. The good news is that you don't see that gap in real life. You only see some slight flickering.

Unfortunately, if you now go back to a normal time-base setting, you have to undo the WaveIntensity and the MemDepth changes, but because I normally don't flip-flop between these modes, this is acceptable to me.

Analyzing the Curve Tracer

After the calibration and the improved scope settings, let's do a verification of what we have so far.

Below is another measurement with a BD138-16 PNP power transistor.
This was again taken with 100uA Base current steps and 40V VCE.

Let's see what we have here.
The X channel (Chan 2 in blue) scope setting says 2.00V/Div, but it is actually measuring 10V/Div. due to the horizontal calibration of 5X.

Because there is a 1 Ohm current shunt in the Collector supply, and the Y Opamp has a 10 X multiplication factor, every mV across the shunt translates to a 10 X value going to the scope. This means that the mV/Div setting should be divided by 10 to get back to the "real" Collector current. To avoid this math, you can set the scope to a 0.1X input Ratio as I did here. The Y channel (Chan 1 in yellow)  now says 20.0mV/Div, which is actually 20mA/Div for the Collector current IC.
With that Volts/Div setting, the first step is at approx. 20mV or 20mA IC. With a Base step current setting of 100uA/Step, the beta would be 20mA/100uA or 200.  The datasheet for this transistor says it should be between 100-250 typical.

From the graph you can easily see that at lower Base step current values, the beta is fairly constant for the Collector voltage range up to 40V, but goes up steeply at higher base currents. This is something you can really only see with a good Curve Tracer.

As an example, my little component tester (below testing the TIP151 fake), which only uses a 5V Collector supply, reports a beta for the same BD138-16 transistor between 161 and 175 and that's it.

The maximum Collecor-Emitter voltage (VCEO) for the BD138 is 60V. This can be verified as well, but you will have to be careful. You can easily damage or even destroy the transistor. First of all, you could lower the Base steps to limit the heat development, and second you need to carefully limit the maximum Collector current by the CL adjustment.

I lowered the Base steps to 20uA/Step and changed the horizontal V/Div to 50mV/Div which represents 30V/Div now. You can see that the base curves go up steeply at about 100V, so we really have a BD140 which is rated at 80V.

Current Limiting
So how does the limiting of the Collector current looks?

This is basically the same picture as before, but now with the Current Limit (CL) in effect. You can see that the top base steps are reduced in number, because they will ask for a Collector current that is now no longer supplied. You can think of this effect as a horizontal line that is lowered by the CL setting, cutting off the excursions in the higher current area.

Two Small Transistors
The usual "go-to" transistors I use for general purpose applications, are the well know 2N3904 NPN and the complimentary 2N3906 PNP transistors.

Here is a screenshot of the 2N3904.

And here is the 2N3906

Both measurements were taken with 50uA/Step and 7 steps. It's easy to see that even though these two are supposed to be complimentary, the beta differences are glaringly obvious. Something to be aware of.

A Power Darlington Transistor
Because of the very high beta, Darlingtons pose a special problem. The Step value needs to be very low, like 1uA, and one of the first steps will already put the transistor in full conduction. Keep en eye on the heat, or keep your fingers on it.

Here is a shot of the DC40C5.

This was taken with 1uA steps and only just 3 of them.

Measuring FET's
Measuring FET's a little different from normal transistors.
Here is a screenshot of a P-Channel LP0701N3.

This is using 200mV per step for the Gate, and 7 steps. You can see that the first step is almost invisible, so 200mV is not enough to turn this FET on. The second step is at 100mV, and that causes the FET to start to conduct. Note the vertical resolution of 50mV/Div.

Here is an N-Channel FET, the BS170

This was taken with 200mV/Step and 7 steps. Note the vertical resolution of 20mV/Div.

Power MOSFET's
Testing Power MOSFET's is tricky, because of the small RDSON. You can quickly let the device conduct a lot of current, so make sure you use the CL function, limit the number of steps or otherwise keep your fingers on the FET to check the temperature. The offset feature is nice, because you can determine exactly when the device starts to turns on.

Here is a screenshot of a P-Channel Power MOSFET, an FQP27P06.

This was taken with 2V/Step and with only 3 steps. I used the offset feature to add a positive offset to just make the MOSFET fully conduct. This is shown by the flattening step line. The RDSON is only 70 milliOhm, hence the flat line.

Looking at the Fake TIP151
The TIP151 is a Darlington transistor, with on chip bias resistors and a protection diode.

Because of the very high beta, you can't really get a normal set of stepped curves.
To test the difference between the real one and the fake ones, I selected only 1 step, and then rotated the step output from the lowest value up to where the transistor started to conduct.

For the real one, this happens at 1mA steps. For all of the 4 fake ones, this already happens at 100uA, a factor ten lower. This means that in the circuit, the fake one was conducting way too early, so the Opamp had probably no way or regulating it. It was fully open and it could not take enough bias current away I think.

I tried to get a steady base step by using the offset, to see the exact turn-on level, but due to the temperature drift, it would drift up too rapidly as soon as the transistor started to conduct.

Some oscillations
In some settings, especially measuring FET's or Darlington transistors with high sensitivity step settings, I saw some oscillations on the step curves. I need to investigate that and see if I can put a damper on them.

Final Pictures
Still with the old front panel.

It's boxed-up for now, but I'm not completely done with my Curve Tracer yet. I now need to spend some more time working with it, to see if there are other issues that show up.

When I will revisit this project, I will post it below so you can see what is happening.
It may take a while, so don't hold your breath! After this project that I've been researching and working on for several months,  I have a couple of other projects eagerly awaiting some of my devoted attention.


PCB in the making!
One of the followers of this project, Mark Allie, has contacted me and is in the process of making a layout for this project. In order to do that he has converted my schematics into a version that allows him to do that. Mark's activities can be followed on his github site here :

I fully endorse and support his activities. As far as I know, there are no decent DIY kits available on the open market anymore, which is why I started this project myself. It's even difficult to find a used commercial version. A pity, because a Curve Tracer is such a great tool for learning about analog devices and it is almost a shame that in this digital age they are almost forgotten.

Sunday, October 22, 2017

Differential Amplifier Probe : Make, Buy or Both?

Why (I think) I Need a Differential Probe

After I sold my trusted Fluke 123 ScopeMeter, I lost the ability to connect probes where ever I wanted to, without thinking, or risking damage.

With my new -earth grounded- scope, I need to be extra careful to avoid making shorts by clipping the ground leads to the appropriate spots. Something I need to get used to again.

The answer, of course, is to use a Differential Probe as the front-end to an ordinary, ground or rather, an earth connected scope. Unfortunately, these differential probes are ranging in price from expensive to outrageously expensive, even to several times the price of my 350MHz scope. This typically brings them out of the financial reach of hobbyists like me.

Buying Options

When I wrote this in October 2017, a new offering just came on the market, and that particular probe of 1000V @ 100MHz could be had for about $160.
Micsig Differential Probe
Unfortunately, there are no reviews that I could find at the time. The specifications are very good for this price. Too good maybe?

The almost industry standard differential probe is available from many sources, and is made by one company, Sapphire in Taiwan.
The lowest cost one they have is about the same price, but only offers 25MHz, their 100MHz version is a lot more expensive.
Professional Differential Probe

Depending on the applications for a probe like this, it's important to list what you really want to do with it. In my case, I occasionally want to look at line level voltages, and for me that means 230V AC at 50Hz. For that 25MHz is usually plenty. I don't have 3-phase voltages, so 500V is plenty and safe enough. I'm a hobbyist, so official CAT III is nice to have but an overkill if you know what you're doing. (note the word kill)

Other applications I more regularly do is measuring in not ground connected circuits, like across a series shunt in a power supply. In that case, we're talking input levels of a few milli-volt to a few volts, but the potential is most likely between 15-50V DC. Other applications are across collector/emitter or source/drain measurements, with the same voltage levels (<50V DC). In those cases, I would like to measure higher frequencies, together with their harmonics, or with a decent pulse/edge representation and in that case, having a bandwidth of 100MHz gives you the headroom that a 25MHz probe just can't give you.

For the majority of my applications, 50V @ 100MHz is plenty, so do I really need to spend $160 for a 1300V safety net, or can I build something myself?

When you look under the hood of these commercial probes, there is not a whole lot there that would justify the price.
Under the Hood
More details
Reverse-Engineered Schematics

DIY Investigation

If you look at these schematics, the value of the parts is not a lot, except for maybe the dual JFET, which can cost about $10-20. So the rest must be labor time in additional manual assembly and adjusting these probes during final test, and of course very healthy profit margins. If you look at the Sapphire 25MHz version probe circuit, apart from the attenuate section, what is standing out are the many R/C filter components and adjustments. If you look at the pictures of the board, there are several parts that look like they were added, tweaked or changed during the testing or calibration. It has all the looks of an untamed tiger to me.

For quite some time, I was on the fence between buying or making.
So, as a matter of interest, I spent quite some time trying to understand what the difficulty is in building a DIY version that will do what I need. Unfortunately, back in 2017, there was not a whole lot of DIY information on the Web, which surprised me a bit.

In essence, what you need is a differential input and a summing amplifier between the Device Under Test (DUT) and the scope. I found three different typologies that were described in various posts when I did my searching. I tried several of them out in LTspice to learn about the circuits and see if I could tailor them to my needs.

Here is a design that has been done for the automotive industry. I don't have the full paper, you need to buy that, but there is some interesting information that can be gathered from the pictures and tables.
Information is here : link
Among the viewable information is a comparison between the various commercial offerings:

The 3 Major Typologies

There may be more, but this is what I focused on. Note that for this topology section, I used one of my typical go-to prototype op amps, the TL072, which has a JFET input, wide supply voltage range and a Unity Gain B/W of 3MHz. Please keep in mind that this is just to show the concepts.

Simple single OpAmp design:

Very simple, if you don't need a lot of attenuation, because the frequency compensation becomes a bit cumbersome, and it's not so easy to get the required bandwidth. Using only one op amp to do everything has it's price. Here is an example circuit : Here
 The site is in Dutch, so you may have to use Google Translate.

Next is the more traditional Instrumentation Amplifier Design. You can build this using separate op-amps, or use a "real" differential op-amp (also called an instrumentation op-amp) like the AD8421.

Because this seems to be the most logical circuit to use, I spend quite some time trying to understand and to make this work for me. The good news is that it's easy to adjust the gain, by changing R8, the 100K resistor. The not so good news is that there are 6 resistors that need to have the same value (the 499 Ohm ones). Otherwise, the gain, or the CMRR is compromised. I found an application using this typology here : Example
And also here : Here  This one is also in Dutch so you may have to use Google Translate. Here is another one: Here
Unfortunately, both projects were not completely finished (At the time I wondered why, but we're now in 2020 and up until recently, I did not get very far either) but these sites have a lot of excellent information.

The Gerber files for the first and third project are available, so these designs can be duplicated rather easily. Note that the Gerber files on the website for the first project are not complete and have errors. I contacted Kalle to see if he is willing to update the information. Kalle used the LT1818 and LT1819 (dual version) for his design, but there are some things you need be aware of when using these op amps. These op amps are relatively inexpensive with 2,53 Euro for the -18 and 5,17 Euro for the -19 version at

Here is the first project as a circuit in LTSim:

As you can see, the simulation does not allow for more than 100MHz, still OK for my use. But this circuit needs some more work. See below.

And finally, Topology 3
This one is really straightforward.

I found this typology on a website here : diff amp probe

As with the previous design, Steven shared his design and Gerber files on OSH Park, so there are PCB's easily available. This is important, because I don't underestimate the layout challenges for 100MHz signals myself. The other thing I like is the utter lack of frequency compensation needed for the THS4631 he selected.
One down side is that this critter is rather expensive at 11,63 Euro (, and you need 3.

Here is the relevant portion of his schematic.

Here is the LTsim circuit with the THS4631's.

From the Bode plot, it is immediately apparent that although the op amp is specified for 325MHz when operated in Unity Gain, the summing amplifier action reduces this to about 108MHz @ -3dB. The Bode plot for the outputs of Unity Gain buffers U1 and U2 were indeed about 350MHz @ -3dB.

This simple circuit did not need any frequency compensation at all, which should not be underestimated.
Here is the Step Response with an input of 1Vp-p 50ns pulses with 100ps edges.

Looks great to me. To make this circuit usable, we now need to look at the maximum input and output voltages. The overall probe circuit is designed to have Unity Gain, so what goes in, also comes out at the same level.

Slew Rate
However, here is a hurdle that we need to keep in mind. The Slew Rate (SR) of an op amp determines the maximum voltage swing we can expect at a certain frequency. Normally this is no big deal, but when you're working at the limits of the bandwidth, this "rate of change" becomes an important factor.

The TI datasheet for the THS4631 has this:
High Slew Rate:
- 900 V/us (G=2)
- 1000 V/us (G=5)

There is no unity gain number listed. In any case, what this means is that with a 1V voltage swing (From 0 to 1V) at 100 MHz, we will need a minimum SR of :
     2 x Pi x 1V x 100MHz = 628 V/us

Or, in other words, with the THS4631, we can only go from 0 to 1.4V max. @ 100MHz.

The LT1818/19 has an SR of 2500, much better, but still not enough for 5V logic levels.

To circumvent that limitation, we will need attenuation for the input signals. If the input levels to the op-amps stay below 1V, we can use attenuation circuits for 10V, 100V and 1.000V and still have hope to keep close to the 100MHz bandwidth.

It's unclear how Steven works with his circuit without attenuation, maybe he uses a 10x or 100x scope probe. I have asked him for his comments on this, but I never got a reply from him at all. Update[2020] I learned why! Read on.

Input Attenuation

For my applications, it makes sense to have a 10V max input level for logic signals, 100V for higher voltages like power supplies etc., and 500V for mains related voltages. I'm going to design that last stage for 1.000V. This makes the math easier when you look at the scope signals, because the attenuation will be 10x (-20dB), 100x (-40dB) and 1.000x (-60dB). This will allow me to have a maximum input of 1Volt and also an and output of the circuit of 1V going to the scope, and that is well below the maximum SR value.

In principle, the attenuation circuit is a combination of a resistor divider for the lower frequencies and a capacitor divider for the higher frequencies. The simple version looks like this:

Before I started to investigate differential probes, I did not yet know the seemingly magic relationship between the above component values. Apparently, for a flat frequency response from DC all the way up to the (in this case) 100MHz bandwidth, the two capacitors have to have the inverse ratio as the two resistors have.  Initially, I was surprised to see several input circuits from very different designs that all came down to this basic circuit. I tried a few variations in LTsim and they all worked. I learned something new again.

This basic circuit can be easily changed for 1.000x or 10x attenuation by changing the resistor values and keeping the capacitor values with the same ratio.
To calculate C3, divide R1 by R2, and multiply that (ratio) result times the value of C2

         C3 = R1 / R2 * C2

In the above circuit, the DUT will see a loading impedance of just over 1M Ohm (1M + 10K). This is the equivalent of a passive 1x oscilloscope probe, which still may be too high of a load on the DUT and could even influence the operation of the DUT, causing measurement errors. The Sapphire probes (the 9001 version) use 4 Meg and 26K dividers, resulting in a 0.65 attenuation factor, and this result gets amplified later on. I would like to keep Unity Gain from input to output, so that limits me to decade numbers to make the math easy.

The higher impedance is more important for me in the 10V and 100V probe versions, due to the circuits I will probe. In this case, going to the equivalent of a 10x scope probe (10Meg impedance) is desired. This higher impedance can be accomplished by using a series resistor of 9Meg together with a 1M resistor, resulting in a 10Meg impedance to the DUT. Alternatively, you could go half way, by using a series resistor of  4 or 5 Meg.

For the 1.000V version, it's not so much the loading of the circuit, but much more the safety aspect that plays an important role. So in this case, you could still use the 9M resistor, but combined with a 10K instead of the 1Meg, resulting in a x1.000 (-60dB) attenuation. The 9Meg resistor MUST be a high voltage version, or otherwise a composition of high voltage resistors in series that create enough of a spark gap and creeping distance between the DUT input and the rest of the probe circuits.

Measurement Errors

Due to the high input resistor value of 9Meg, there will be a measurement error caused by the 1.5nA input bias current of the THS4631 buffer amps. This is acceptable to me, even with the -20dB attenuation factor. The LT1818/19 however have a 10uA bias current, which is a lot higher! With a -60dB attenuation and a 1.000 Volt input, this current will cause an error of 90V over the 9M resistor. For me, that error even with the -20dB attenuation is too large. When that is a concern, you need to lower the resistor values. In many cases however, precision at this voltage level is probably not needed, and loading of the DUT is more important. An interesting dilemma.

Another error source can be caused by the protection diodes. Kalle used BAV99 diodes. Their added capacitance to the input is only 1.5pF each, which is very good, but the reverse current per diode is 2.5uA, adding 5uA to the error budget for each input channel. At a 1.000 Volt at the input, this causes a voltage drop over the 9M resistor of another 45V! Keep those error conditions and causes in mind.

I suggest you use the 1N4148 in the SMD package. Their added capacitance is a little higher at 4pF, but the reverse current is only 25nA resulting in a voltage drop of only 0.2V.

When I have a running version of the amplifier section, I will prototype and decide on the final input resistor values that I will use.

Common-Mode Rejection Ratio (CMRR)

Apart from measuring signals while not connecting one probe connection to earth or ground, is to measure the voltage difference between any two points in a circuit. The added benefit is that any coupled noise that is entering the two measurement leads, get subtracted out, so you can see and measure the pure signal. For our differential probe, we need to take some steps in order to keep the CMRR as high as possible. This means that the resistance and capacitance that are presented at the input of the input buffers and the summing amplifier need to be exactly the same. This challenge is probably the most important reason for the price justification for the commercial probes. The THS4631 lists a CMRR of 80-95dB, so that should be the goal for the overall probe.

To allow for inevitable component tolerances, we need to make the attenuation circuit somewhat adjustable to make both input connections (arms) equal.

If you look at the various circuits in the above examples, they all boil down to an input attenuation section that looks very much like this:

Both the 12pF capacitors can be constructed by putting 4 x 47pF capacitors in series. This will even out the tolerances, and will create a "spark" gap between the high voltage input and the 1V level output of this circuit. Any remainder high frequency adjustment can be made at the summing op amp, to account for any other capacity issues on the PCB, I hope.

The resister divider of both inputs must be equal in value, so a small 100-500 Ohm trimmer, here shown with R15 and R16 as if in the mid-point position, will allow to tweak that. The size of the trimmer will be dictated by the level of matching you can do on the resistors in the first place. The precision is less important, their identical values is. The 108pF section is a composite of a few capacitors in parallel. A capacitor trimmer will allow you to set the precise level, and that can be seen and adjusted at the output of the amplifier with a fast rise pulse.

Input Protection

If I can, I want to add some form of input protection for the expensive op amps, so I'll try to add a set of 1N4148 diodes to the voltage lines so they will clamp the inputs. The standard 1N4148 diode only adds 4pF, which is better than the typical 10-12 pF for a TVS diode. Besides, the 1N4148 is very inexpensive.

Below is the complete circuit diagram with the 10x attenuation (-20dB) using Steve's design. This can also be the base architecture for the x100 and the x1000 versions.

My hope is that I can use the amplifier circuit boards that are available through OSH Park, the Version 2 model, and add the three different front-end attenuate sections to them. Below are pictures from Steve's site:

At this moment, I'm pretty confident that I can make this work.

Reality Check

Now, just for a reality check:
What will the DIY make method cost me? Let's use Steven's design for this.

The 3 PCB's (minimum qty) from OSH Park will cost me $ 3.70 incl. shipping.
3 x THS 4631 will cost me 11,63 a piece, so about 35 Euros without shipping.
The rest of the parts is small change, say 10 Euro incl trimmers and SMA connector and maybe another 10-15 Euro for a case.

That will set me back at least 60 Euro's for one probe, so I can possibly get 3 probes for the price of one Micsig, but I don't get the test leads and adapters with it, nor do I have the means to really test the 1.000x version for the high voltages.

If I go the LT1818/19 way with Kalle's design, the chips are lower cost (only 8 Euro's per board), but due to the loading issues, there could be more at stake with these chips that I have not uncovered yet. The PCB has more real estate, so will be a bit more expensive. All in all, this route will still be less expensive, possibly between 20-25 Euro's less.

If I'm really brave, and consider making my own PCB, I will combine the two circuits. I will then use the THS 4631 for the input buffers, and the LT1819 for the summing amplifier. I tested that combination with LTsim and that works fine.

Hmmm, I need to think a bit more about the make or buy decision before I pull the trigger either way...

Update 31-oct-17:
I pulled the trigger on the THS4631 version, and ordered the PCB's, the chips (I found a source with 10 of them for about 43 Euros) and ordered enough of the 499R and 49.9R resistors to find some matched sets.

CMRR Simulation
 While continuing to learn and play with this project, I also learned how to do a CMRR simulation.

I'm not an expert, but this looks pretty good to me. A possible caveat is that LTspice may not do CMR simulations very well.

I also found a couple of hints and tricks to do a better analysis by using a Monte Carlo model for the most critical parts that have the greatest influence on the CMR. Obviously, they are the resistors and trimming capacitors for the attenuation input, and then the two resistors for the summing amp. The other components did not make a sizeable difference, so I left them at their previous fixed values. I used 1% for the attenuation resistors, 5% for the 12pF, 20% for the trimmer caps, and 1% for the two 499Ohm resistors for the summing amp.

These two last resistors largely define the CMR for the op-amp stage. I will need to carefully select them for a matched set out of the batch that I ordered.

Still looks pretty good to me with an average of about 84dB, and a worst case of 72dB. My goal was to get close to the 80-95dB set by the op-amps.

It will take a few weeks for the parts to arrive, but when I have the boards and populated one, I will start to work on the attenuation values.

Update 2-Nov-2017:
And then..... you get an email from Micsig with a special offer; two probes for the price of one!:
Micsig Combo offer
The offer is not valid anymore, but at the time, I almost pulled the trigger...
The current prices (aug 2019) for the Micsig DP10013 are now 170 Euros (incl. VAT).

The DP10013's are listed as having a spec of 1.300V and 100MHz, but that seems highly improbable with their front-end probing leads. I don't really care, because when I probe at line levels, a minimum of 25MHz is most likely enough, and the safety aspect is much more important for me. The DP10013 50x and 500x attenuation levels are more tailored to higher voltages and line level measurements.

In the meantime, the parts arrived and I completed the build of the three boards. A quick initial test showed that they all work fine. I need to finish a few other projects before I start to work on the attenuation circuits and do more measurements.

Update august 2019:
After I started this post and project, I left it alone for just almost two years. There were other projects that were more important, and I did not have the tools I wanted/needed to really finish the probes. As an example, I did not have a fast rise pulse or a function generator that would go beyond 100MHz. Since then, I finished my project (also described on this blog) that would give me the fast rise pulse, so I can finally test and adjust the high frequency responses. I also moved away from Eagle and learned to work with Diptrace, including producing PCB's. And then, I also purchased the equipment to handle SMD parts. All these elements and steps were required to continue with this project.

I'm definitely NOT buying!
Interestingly, during this whole period, I never had the urging need to use a differential probe. This made me realize that buying a Micsig kit is not justified for my typical applications.

I'm making!
I have just ordered the parts for the attenuation sections, so when I have them, I can start to work on the PCB's. In the meantime I will prototype the front-ends and start some measurements.

Update Sept 2019
Believe it or not, but I have finally started again on this project.
Now that I have some better equipment, I can start to profile the amplifier boards.
At first I was a little disappointed when I saw the first results of the fast edge pulse response.
I made sure to stay below 1Vp-p to avoid slew-rate issues, but still...
Here is the screen shot:

Don't you love that fast rise pulse from the Tektronix PG506? I do!

To fix the hf response, I kludged a small 0-10pF variable capacitor with tiny strands to the very tiny pads across the output amplifier feed-back resistor, and tuned it for the optimum pulse response. Things started to look a lot better already. I measured the trim capacitor to be about 3pF, so that is the value that I soldered in place. Steve used a 1pF value on his board, but the Texas Instruments datasheet lists 5.2pF for this configuration. Just for reference. 

Here is the result of that tweak:

Could be a bit better, maybe I should try another value, but I did not want to fiddle too much with this at the moment, in fear of damaging the tiny pads on the pcb. I'll try a few other values on one of the other amplifiers boards. Update: I tried various other values, also with the other two boards but I'm not getting a much improved situation. I'm using 3pF for now.

You probably notice the rise time difference and phase shift. The fast rise pulse response of the amplifier is 3.3nS. Using the Bandwidth formula with the 0.4 factor, this should theoretically be 133MHz. Not bad at all.
To reiterate what I mentioned earlier, I can't verify the bandwidth with a sine-wave, because my FY6600 function generator is the 30MHz version.

Next step is to build a prototype 10x (-20 dB) attenuation board and have a look at what that does.

Below is my first attempt, it follows the schematic diagram of the -20dB version above, but without the protection diodes:

I have used 3 x 3Meg resistors in series to create a 9M resistor. Parallel to that string is a set of capacitors to get to the required 12pF. This is repeated for each input. There are 2 x 47Pf capacitors in parallel with the 40 pF trimmers. The terminating resistors are 1Meg and they are tied to ground with a 10K trimmer. I used 10K because the resistor values of the 9M and 1M are less than perfect, so needed much more tuning than the 100Ohm trimmer I put in the diagram above.

The -20dB attenuation is within a few percent at low frequencies, as can be expected. Unfortunately, with higher frequencies (above 500KHz)  I am getting oscillations.  I need to rethink the way I'm building this front-end and maybe go to a pcb layout already, something I wanted to avoid just yet. I don't know enough and have zero real experience to come up with a good pcb layout and frequently turning boards is what I want to avoid.

I have designed a pcb for the front-end, and sent it out to production. Here are the pictures of the layout. (I'm using DipTrace)

I put in a few extra places for components so I can fool around with this a bit. This is a test version that will allow me to setup different attenuation factors.

I have the pcb's back from manufacturing, but they are as yet untouched.

To be able to finish the attenuation and frequency compensation, I need to learn much more about using my new NanoVNA, and had to order several SMA connectors and cables for that new tool.

Update Mai 2020:
When I tried to make some more measurements with this design, I noticed something that I didn't see before. I connected my floating FY6600 function generator to the diff probe input. I applied a 5Vp-p sine wave with a frequency of 1KHz. This is the result:

What happens here is that if floating instruments do not have an earth connection, there is a well know "leakage" of the mains to the ground level of these instruments. As a result there is a mains hum of 50Hz present on the "ground"connection of the output BNC connector if there is no real earth ground connection anywhere. Connecting just the probe tip of my scope to the outside of the BNC, ground lead not connected, you see this effect in the blue trace of the picture.

In the case of the diff probe, the only device connected to the FY6600 is the diff probe itself, and that has a floating input as well. It's easy to see that the 50 Hz hum is knocking the input waveform into this on/off display of the sine wave. If you ground the FY6600 by connecting another BNC cable to any earth grounded device, like a scope, this phenomenon goes away. My fast rise generator is also floating from earth, and it shows the same phenomenon. However, the probe described below does not have this at all, it's CMR is much, much better.

To measure the maximum CMR with mains voltages, I used a 555-based timer circuit and put that "on-top" of a 50Hz mains waveform. At first I used a 12VAC transformer, but that level was already too high. I got the same waveform as above. I then used my FY6600 instead so I could change the voltage level. It turned out that below 11Vp-p it worked well, but above 11Vp-p the diff probe waveform starts to break down. Not very impressive but as long as you know this, you can work with it.

I measured the maximum input voltage of this probe to be 14Vp-p with a supply voltage of +/- 9V without clipping of the signal at the output. At this level, the current consumption is 40mA per supply. At these voltages the opamps are getting pretty warm. At supply voltages of +/- 11V the input can be 20Vp-p without clipping. This can be further increased by going to the maximum of +/- 15V in which case it can be over 20Vp-p. The opamps will then become too hot to touch though.

Checking the bandwidth
Now that I know how to use the NanoVNA, I went back and also did an analysis of this diff probe board, but without the attenuation front-end. The NanoVNA S11 output was directly connected to the input of the probe. The output of the probe was directly connected to the S21 input of the NanoVNA.

This is pretty abysmal I think. There is a large rise in the S11 measured reflection, and that is also transferred to the output with a huge and nasty dip of about -17dB at 50 MHz. After that, the amplifier recovers and shows a -3bB at 117 MHz, which is good. The designer of this probe also used a VNA, a very good one even, but his plots are very different.

The probe input needs dampening, so I added 8cm long leads to the diff probe inputs, to start to mimic a probe with grabbers. I did not add the grabbers yet, just wanted to see what the added induction of these 8 cm long leads would do.

Not a pretty picture, but an interesting one. The added inductors actually help to dampen the 50MHz area dip and also extended the -3dB point to almost to 160 MHz.

To get rid of the ugly curves, I've tried a few different values but settled on 470 Ohm resistors in series with both the diff probe inputs to dampen the excursions and I also added the grabbers to turn it into a real working diff probe.

Much better. Unfortunately, we're now down to a -3dB point at 72 MHz. Although the designer claims 100MHz, on one of his VNA plots he also shows a -3db point of  about 35MHz. The probe is still usable, I think, but with very limited applications.

The fast rise pulse of this diff probe with the dampening resistors, the flying leads and grabbers in place will show these result for the <1nS pulses.

The rise and fall times jive with my NanoVNA results, a bandwidth of roughly 70MHz.

The Conclusion
The probe works pretty good as long as the signals between the Neutral input and earth ground are below 10Vp-p. The reality of the matter is that there is no way we can add an attenuation section to this design and hope to get a decent bandwidth. That means that we can't use it at higher voltages either and the CMR is very weak.
I decided to shelf this part of the project for the time being.

March 2020

A friend of mine who is an accomplished chip designer, picked-up on this project. Although we've never met in person, we've already done several other projects over the years together, and knowing his skills, I was elated. It turned out very quickly that I was on the wrong path, trying to use the diff probes above with an attenuation front-end. Because of the attenuation, the resulting output is so small that most hobby scopes, even decent ones like the one I have, will have great difficulty showing the signal due to the noise levels at low V/Div settings. Adding amplification to this circuit cannot be done on the current PCB and, more importantly, drops the bandwidth so much that it's pretty much useless. Both issues killed this version of the project. I may still be able to use these diff amps, but without an attenuation. We'll later see if that's even useful.

In any case, Bud, my friend, went full speed ahead with his project, using some of the information from this blog, and he finished his design with pretty good results. He documents his design on Hackaday here: 100MHz diff probe
He has spent a lot of time getting the layout right and doing a lot of up-front work. This is very interesting reading material. Also make sure you have a look at this section where he shows some real results: Measurements

With his design finished and Bud happy, I wanted to make one as well. There were two things that I wanted to change that we learned from Bud's version. Because my mains voltages are 230V, not 115V that Bud has, I wanted to increase the creeping distance for the front-end sections to make it a bit safer. I also didn't have a souped-up 5V DC wall-wart to give me 5.25VDC, like Bud made, so I wanted to change the power supply section to allow for a little bit more flexibility. I have several possibilities to supply between 7.5V DC and 12V DC, including 9V battery cells. The tricky bit is to stay within the specifications of the op-amps, which is pretty critical.

If you account for component tolerances and still be able to show up to +/-25V input level signals, we need an output swing of +/- 2.5V for the last op-amp. That can be accomplished when the total supply voltage is 5.25V. However, the maximum is 5.5VDC so we have to be prudent not to go over that with tolerances etc. With all this, the supply quickly became more complicated than I first anticipated. It turns out that the choice of voltage regulators for this particular application dwindled from a long list to only one if you also take precision and temperature dissipation into account. The only one left standing was a chip from Torex, the XC6216C202PR-G.

Here’s Bud's thinking on the power supply range from an email exchange we had:
  1. We need an output swing of ±2.5V to get ±25V input referred. Fortunately the gain setting resistors are all 0.1%.
  2. The LT6268 output stage voltage can get to within 70mV of either rail when sourcing/sinking 2mA. I got this number by looking at the VOL and VOH specs and then looking at the plot of typical VOH/VOL vs. load current. Since this is an overdriven output I will bump it to 100mV for safety (and it makes a nice round number.)
  3. The resistors that split the supply and the opamp are going to vary the ground voltage by 0.71% ± 6mV. So figure ±25mV.

So we need (2.5+0.125)x2 = 5.25V minimum out of the voltage regulator. Abs. Max supply range for the LT6268 is 5.5VDC.

A 2% precision regulator set with 1% resistors would yield ±2.45% variation. Therefore the regulator output voltage should be set to 5.38V and will vary from 5.25 to 5.5V.

Of course, this number is across a 3-4 standard deviation. If we reduce the variation to 1 sigma, then we should expect the regulator to be within 5.30V ±44mV more than 60% of the time. Designing for 2 sigma (90% confidence) would set the supply to 5.34V ±87mV. This is probably as good as we can expect, but finding the correct resistors to program these values might be a challenge.

So with the 2K and 1K2 1% resistors used to set the output of the regulator, we should get a calculated 5.33V.
Because the input level can be 12VDC, we needed to change the polarity protection MOS-FET to a BSS84.

Here is the portion of the power supply section that is changed in our version 2.

And here is the resulting layout of the version 2 PCB. The voltage regulator and some components went to the bottom to keep the grounding areas where they are as much as possible.

The input connector changed from a 2-pin to a 3-pin, but with the middle contact removed and the spacing of the front-end components was increased and the spark-gaps changed.

I ordered my boards from and the parts from Digikey.
The schematic and the BOM are on my github site, available here : github
As soon as I have received the boards and verified them, I'll also put the Gerbers there.

The parts already arrived and boy, oh boy size 0402 in reality is really, really small!
That will be a challenge for me with heat-gun soldering. I will need to hold my breath and keep all doors and windows closed.

Building the probe

When I ordered the pcb's,  I also ordered a stencil. This was the first time I did that, ever, and almost on a whim I decided to order one. I'm very, very, very glad I did! While waiting for the pcb's to arrive I was contemplating on how I was going to populate them. Normally, I would do that a section at a time, and verify the operation as much as possible before moving on and add more parts. Because of the stencil, I couldn't really do that. You can use the stencil only on the first set of components, after that it's back to doing the rest by hand. What that means is that you (try to) apply tiny drops of paste, place the component(s) and then use the heat-gun to solder them. I weighted the difficulty of hand soldering the 0402 components and the tiny lead space of the op-amps against doing it all in one go, and then bite the bullet later on if there were issues. My friend Bud already warned me that I was surely going to curse at him for selecting these tiny parts so I was warned.

So I decided to be brave and do all parts on the top level in one go. First I had to cut the stencil to a manageable size.

I then concocted a little rig to hold the pcb in place while I could lay down the stencil and lift it up without disturbing the already applied paste to these minute pads.

Left and right are two unused pcb's of the same thickness and to create the right spacing, I used one of the diff probe pcb's on the top side. These three boards were taped to one of the two carriers JLBPCB used to ship the stencil. In the middle is the pcb I was going to put the paste to. To the right of the picture is the stencil cut to size.

I now put the stencil on top of my pcb and adjusted the position such that all pads were covered. I then taped the top edge of the stencil to the rig.

Here is the position with the stencil flipped open. I opened and closed the stencil a few times to see if it always came to the right location, and adjusted accordingly. With the stencil secured in the right place, I carefully cleaned both sides of the stencil with propyl-alcohol and also cleaned the pcb. You want the maximum adhesion from the paste to the pcb. After drying, I added the solder paste as a row just larger than the width of the board and used a credit card to "swipe" the paste slowly down to cover all the holes. I then carefully and slowly lifted the stencil up from the pcb to not disturb the paste on the pads.

Here is a picture of all the pads covered with paste. I then carefully removed the paste for three parts. One was the SMA connector, second the L1 bead and third the C23 do-not-place part. I did not place the L1 bead to isolate the power section from the rest of the circuit so I could test the supply portion by itself because it was a new element we added to the circuit.

I then used my manual pick-and place method from the parts that I distributed in their bags so I could easily find the components while I moved from left to right on the pcb to place them. When I put my order in with Digikey, I added the component numbers on the order. The component numbers were printed on the bags. This allowed me to go straight to the right parts, and avoid mistakes. You can't take forever placing the parts because the paste will start to dry and loose some of the stickiness. After placing all the parts I used my heat-gun set at 400 degrees C and used the lowest airflow and the 4 mm nozzle.  I then started from the input section moving right, preheating the pcb and components and then soldering the parts one by one. This went very smooth for most of the parts.

The only issue I had was with soldering the components around the capacitor attenuation section going from the pot to the trimmers and the large Tantalum caps, C20 and C36.  This section of the ground area bled the heat too well so I had difficulty making the solder flow. After I was done with the heat gun I used my normal solder iron on the pot connections and re-did the ground pins of the trimmers and also C20 and C36. I also had a bit of a problem with a few of the 0402 parts, they did not have enough surface to stick to the paste so some would tombstone on me, meaning that they went up-right. No big deal though, with a little nudging from my tweezers after the paste liquefied, they stuck and behaved.

When the top section was done I let the pcb cool down before manually adding paste (I use a toothpick) to the bottom section pads, placed the parts and used the heat-gun to solder them as well. The SMA connector and the 2-pin input connector were added at the very last and hand soldered with a normal iron.  I also soldered two short power leads to the board. On the other end of the power leads I soldered a DC jack connector. This allows me the freedom to use different DC supplies.

Did I mention that I was glad to have ordered a stencil? Well, let me reiterate that I'm very happy that I did. Highly recommended even if you only use it once. For less than $10, it saved my behind and prevented me from blowing parts away while cursing. On top of that, I've never produced a board that was so easy to solder, and looked so well after soldering before.

First power-up

After the board was complete, I connected an SMA cable between the probe and my scope. The CH1 input was set at 1M Ohm impedance, 1x and at 200mV/Div. I then connected the power leads to my bench supply and set that to output 7V at a maximum of 50mA. I applied power, and held my breath while I measured 5.36V at the supply side of L1, which is spot on! Remember that we did a calculation that should have resulted in 5.38V. This is well within the specification. Big success, big relief!

Next step, I applied paste and soldered L1 to the circuit. I increased the maximum current to 70mA, applied power and my supply went into CL mode. Bummer! There was a short somewhere that I must have missed. Double checking again with my 10x magnifier glass with LED lighting, I noticed two very, very tiny solder blobs between the leads of U1, one on either side and the center pad. I missed those earlier. They must have formed when the chip was sucked down into position during the soldering, and these little beads formed when solder was pressed out from underneath the chip. Using some flux and solder-wick fixed that after a few tries. I applied power again, and bingo! Again 5.359V at the supply side of L1. Next I measured the VCC and VEE supplies relative to GND. They measured at -2.69V and +2.63V, which is excellent and also within specification. Remember that we wanted a minimum of 5.25 / 2 = 2.625V at both supplies to get a full swing of the output of U2 with an input signal of 25Vp-p without clipping.

Functional test

OK, let's see if the probe is functional. I used my FY6600 function generator to apply a 1KHz sine wave at 1V p-p and applied that to the diff inputs of the probe. I connected the probe with an SMA cable to the CH1 input of my scope. The CH1 input was set at 10x to compensate for the 10dB attenuation of the probe and with a 200mV/Div sensitivity. Low and behold, the scope showed the signal! It's alive and kicking! I increased the sine wave output to 20Vp-p, which is the maximum for the FY6600, and saw no sign of clipping.

Let's see if this thing has a pulse. I changed the waveform of the generator to a square wave, still 1KHz and a 5Vp-p output. And yes, we have a pulse! It produced a pretty good picture. The FY6600 square wave output at higher voltages is not that great, so I left it at that for the time being. At this moment I knew the probe worked and was fully functional. Changing the frequency to 1Mhz showed no edge changes, at 5MHz and above the wave forms started to deteriorate, but stayed almost the same. This is to be expected with the FY6600. In any case good enough for the time being and I am very satisfied so far.

Now we need to see if we can calibrate the probe and see what performance we can get out of it.

Procedure to Calibrate the Probe:

This is the same procedure that Bud published on his blog. I tried that as well, only I used a different MOSFET, the N-channel BSS100 (100V, 220mA) together with the 5K6 resistor between the Drain of the MOSFET and the supply. You could use the scope calibrator fixture but I used my FY6600 to generate a 5Vp-p square wave, and used the generator offset to let it swing from 0 to +5V to fully drive the gate of the MOSFET. I verified that his procedure works fine.

However, since I have a function generator, I have used that to create the signals for the calibration procedure, same steps, just a little different.

Set the function generator to produce a square wave of 1KHz, and a 5Vp-p signal. Connect a BNC T-adapter to the output of the generator. Connect one end with a BNC cable to CH2 of the scope. Set CH2 at 1x and at 5V/Div. Set the time base to 200 microS/Div. Trigger the scope from the CH2 signal. Connect another BNC cable from the T-adapter to the differential probe inputs. At only 1KHz how you connect is not that critical. I used a BNC cable that has grabber clips on one end to connect to the diff probe inputs.

Connect the diff probe output with an SMA coax cable to the CH1 input of the scope. Set the scope CH1 input at 10x (to compensate for the attenuation of the probe) and begin at 1V/Div. Trigger the scope on the CH2 signal so you have a stable display.

Step 1
This step cancels the DC common mode error.
Set all three trimmers to the mid position. This actually means that the slots should be horizontal in the direction of the length of the probe.

Connect the positive output of the generator to both inputs of the diff probe. You can use a short jumper if needed. Center the CH1 trace. Increase the supply output to 20V. Adjust the R11 pot until the output of the top and bottom waveform is as flat as possible, so it forms one straight line. Adjust the scope CH1 input to 100mV/Div. There will be spikes from the uncompensated AC gain, so adjust C5 and C10 to reduce them and further lower the V/Div while adjusting C5 and C10 to keep the waveform on screen until you reach 10mV/Div. Do a fine adjustment of R11 until the line is flat again. Don't worry about the noise and the pulses too much. In my case, the pot stayed almost at mid-level, meaning that the resistor arms of both inputs were virtually equal. If you are outside of the range of the pot, you can tune the 62K resistors R5 and/or R19. You can use an ohm-meter to help make the arms the same value. The absolute values are less important as longs as they are the same with R11 about in the mid-point.

Adjustment before:
and after:

Note that at an input setting of 10x at 10mV/Div, the scope shows noise and also some hum caused by my loose and not shielded setup.

Step 2
This step will match the positive signal path AC gain to the DC gain.
Reduce the function generator output to 10V. Set CH1 of the scope to 2V/Div. Connect the ground lead grabber of the generator to the negative input of the probe. Connect the positive output grabber to the positive input of the probe. Adjust the waveform to the center of the screen. Adjust the C5 trimmer to obtain a flat top/bottom of the square wave. This adjustment is equivalent to a normal scope probe adjustment. In my case I could only just set the best level at almost the end of the trimmer range.
Note that I already used the trimmers with the larger range.  If needed, you could trim the C5 range by changing the value of C7. This will also change the C10 trimmer adjustment, so increment with small steps.

Adjustment before:

and after:

Step 3
This adjustment will match the AC gain between the positive and negative signal paths.
Connect the positive output of the generator with the grabber and a jumper to both diff probe inputs. Increase the generator output to 20V. Lower the CH1 channel V/Div setting of the scope to the lowest possible setting while keeping the waveform on-screen. Adjust the C10 trimmer to eliminate the spikes seen in the waveform and decrease the V/Div as low as you can. Don't worry about the noise. This is a sensitive adjustment, so tweak it a few times until you have reached the best flat response. If needed, you can also tweak R11. When doing the final adjustment, I used 10mV/Div.
If needed, you can tune the C10 range by changing the value of C12.
Note that at this level of sensitivity, your hand or the trimmer tool may already change the setting, so adjust with care. I use a special trimmer tool with only the smallest metal tip (0402 size) and that still adds some capacitance.

Adjustment before:

and after:

With these three adjustments you're done with the calibration.
After running the probe for about an hour at this setting, the line was still flat with only some hum and noise.

With this setting, you can also see the offset of the diff probe. Disconnect the signal from the input, but leave the short of the two inputs in place. You can use the readout from the scope screen to see the offset. In the screen shot above, you can see that from the yellow marker on the left with the "1" in it to the trace itself is about 33 mV in the x10 setting, so in reality it is only 3.3mV.Not bad at all.

At this point I am already very happy with the results, testament to the excellent work that Bud did with the design, the component values and layout.

Some Measurements and Tests

After the first rise-time and band-width measurements, we noticed that the rise-time and bandwidth were a bit lower than we simulated and expected. As a consequence, we experimented with the value of the feed-back capacitor on the summing amplifier and increase the amplification at higher frequencies. It had originally a 0.5pF value and we tried 0.2pF but that was a little to low. I finally settled on a value of 0.4pF, that I concocted by putting two 0,2pF capacitors on top of each other. Quite a challenge with 0402 parts! The better value will probably 0.3pF, but I don't have that, and it's not easy to get quickly. Note that the schematics and the BOM will be need to updated. The following measurements are made with the 0.4pF capacitor for C19.

I build a couple of fixtures that helped me to connect various cables to the diff probe input and to connect instruments to it.


Rise and Fall times
The first critical measurement is to determine the rise-time of the diff probe. I have a fast rise-time board that produces positive and negative rise-times of <1nS. I first connected the output directly to the scope. To create a nice full screen I tuned the output to 300mVp-p. The BNC cable is terminated at the scope input by a good 50 Ohm terminator. The reported rise time of the pulse just fed to the 350MHz scope is measured to be 1.19nS. This signal will be fed into the diff probe in the next step.

But first here is that same pulse but now connected to both channels of the scope at the same time, using a T-connector and equal length BNC cables. This is to show that both scope vertical input channels are virtually identical. Because of the dual cable and connector loading plus the dual 50 Ohm terminations at the scope input channels, I had to increase the output level and also the pulse is no longer perfect. The rise time is less, but the goal here is to show that both scope channels are virtually identical.

I now connected the pulse output through a little BNC connector with two receptacles that allowed me to stay with shielded BNC to only a few mm from the probe inputs. When I fed the pulse to the input of the diff probe, this is the result:

Not a pretty picture. There is a lot of noise due to the fact that in reality, this is a 300mVp-p signal, reduced to 30mVp-p by the diff probe, and you see the combined noise of the scope and the probe together. Averaging (128x) showed this result:

The scope reports a 4.1 nS rise-time. A rule-of-thumb calculation to infer bandwidth from rise-time is by using a factor of 4 (for DSO's) divided by the rise-time of 4.1 which would give approx. 97 MHz. So far so good.

Here is the falling edge measurement of the negative going 300mVp-p pulse from the Fast-Rise board with a measured 3.65nS.

Propagation Delay
What is the edge to edge propagation delay that the probe introduces to the signal path?

The scope measures 9.6 nS delay. This propagation delay number is higher than we anticipated. We expected this to be less than 5 nS. It is what it is however. This also shows that if you need to make timing related measurements, you really need two diff probes to eliminate the guess work.

Logic level pulses
Because of the very low output of the Fast Rise generator to measure the edges, you would think that the noise level will be prohibitive. However, when the probe is used with normal logic levels, even as low as 1.8V, there really is no problem. Here is a 1.8V logic level at 1KHz, displayed on both scope channels to look at the difference between the probe output and the input signal.

At 1 MHz:
And at 5 MHz:

The dual channel cable contraptions change the pulse characteristics a bit, here is the same signal but now fed only directly into the diff probe:

So what is the real bandwidth of the diff probe and how does the frequency roll-off look like?  This is the perfect task for my NanoVNA. First of all, I did a careful calibration of the NanoVNA with the SMA cables I was going to use before starting the measurements, something you always need to do. I then connected the S11 output of the NanoVNA with a short SMA cable to the input of the diff probe with an adapter that I made. The output of the diff probe goes through a short SMA cable to the S21 input of the NanoVNA.

Here is the result of a 50KHz to 300MHz sweep:

The S21 trace shows a marker at -22.98 dB (so actually almost -3dB down because we have 20dB attenuation) point at 96 MHz directly at the output of the diff probe. So we're not quite at the 100MHz mark, but this is the best we can do. It's close enough for a DIY project.
With the help of Bud we tried to increase the summing amp frequency range by replacing the 0.5pF cap with a 0.2pF value for C19, and although the BW was then just over 100MHz, the curve was not as nice. I didn't have a 0.3pf so I settled on twice the 0.2pF on top of each other, creating a 0.4pF capacitor.

There is a small dip in the S21 trace at 72 MHz that coincides with the dip in the S11 trace. It must be caused by a reflection from the attenuation section of the probe back into the NanoVNA and is registered as such. With the 0.2pF capacitor, it was even deeper so we settled on the 0.4pF value. 
I will later investigate if a set of small resistors added in series to both diff probe inputs will add some needed damping to get rid of the dip, and it also hopefully cleans-up the output some more as well. I will need to add series resistors to the inputs when I'm going to make flying leads with grabbers anyway.

10x attenuator Precision at DC
To measure that, you can't really use a scope, it's not precise enough, at least mine isn't. So I applied a precise 5.0000V DC at the diff probe input and measured the output with a DMM. The result? Flipping between 0.4995V and 0.4996V, a mere -0.001% off, excellent!

Output AC offset with shorted inputs
We already measured this at the end of the calibration steps to be approx. +3.3 mV offset at the output.

Output DC offset with shorted inputs
I used my DMM to measure this DC offset and the instruments reports 4mV.

Noise & Hum Contribution
When I short the diff probe inputs together and connect the probe to the scope, it shows roughly 20 mV of noise and hum.

Note that the noise floor is roughly at ground level, and most of it is positive and centered around the DC offset level.

Differential Probing
The acid test for a differential probe is of course, to measure signals riding on top of others. The easiest to show and test this is by creating a pulse riding on top of the mains. I have quickly put together an oscillator based on a 555 timer, that is fed by a 9V battery (better to be safe than sorry). The resulting pulse is about 800 Hz. As a first step, to show and test the principle, I'm using a transformer with a 12V AC output. One of the AC leads is connected to the ground of the 555 circuit, and the other is connected to the CH2 probe ground lead. The CH2 probe tip is connected to the 555 timer output. The diff probe is connected with the minus input to the ground of the 555 timer circuit, and the positive input is connected to the 555 timer output.

This is a picture that makes it clear I hope:

The top trace is the output from the diff probe, and the bottom trace is that of the CH2 probe that is measuring the combined AC voltage and the 555 output riding on top. The diff probe is uninhibited by the AC waveform as it should.

Will it also work when the signal rides on a 230VAC mains line?

Yes, but with a little mains wiggle coming through. The CMR is just not high enough at this 230V differential level. The signal however is clearly visible, good enough for debugging and testing purposes, and safe. 

Lastly, for Bud who wanted to see this, a 1Vp-p signal riding on a 230VAC mains line:

There is some more of the mains signal visible but the signal is clearly visible, albeit at this low mV/Div level, the noise starts to play a factor.

Maximum Input Voltage
What is the maximum voltage you can apply to the diff probe inputs before it starts to clip? My FY6600 function generator has a maximum output of 20V, so I can't use that. Fortunately, I build a Curve Tracer (described elsewhere on my blog) that can output a triangle waveform of more than 100Vp-p.

So what we see here is that the diff probe (top trace) starts to clip at the top at an input voltage of 28Vp-p. We designed it for 25V, so we have plenty of headroom.

Flying Lead Probes
As a first step to making myself a set of flying lead probes with grabbers, I redid the NanoVNA bandwidth test with just the 510 Ohm series resistors for both diff probe inputs. They are needed to cancel the flying lead inductance as you can read on Bud's blog. I just added the resistors and used the same SMA adapter as before, and after calibration of the NanoVNA, I got his result:

This looks a lot better. As I suspected, the S11 reflections at the front-end disappeared, and their influence on the S21 output went out the door as well. Much better curve. The -3dB point is now at 99 MHz. If you want to increase that further, you can lower C19 from 0.4pF to 0.3 or even 0.2pF. I tried 0.2pF by removing the picky-back one, and the curve got even flatter, but the -3dB point now resulted in 96MHz.

I'm going to stick with the 0.2pF version, but I've updated the schematic with the 0.4pF. In the BOM I also added 0.3pF caps as a tuning value. They are both on my Github site and I also put the Gerbers there : Paul's Github

Here is my flying lead with grabbers concoction, before adding the heatshrink tubing and then after. I made sure that I can't touch any of the contacts.

I now used the flying lead front-end to the diff probe, and did the same NanoVNA frequency sweep and got this:

Both curves still look good, but the bandwidth at the -3B point drops to a mere 63 MHz.
This is why I was very critical of the claim by the commercial probe manufacturers or resellers with their very long flying lead probes while claiming 100MHz. Now you know how they get to that number, and you've seen that I can use the same claim.

The  next step is to heat-shrink the complete probe so you can't touch it while using it on high voltages.

With this, I'm calling it a wrap for the time being.

Thanks for watching and enjoy!