Show by Label

Sunday, October 22, 2017

Building a Differential Amplifier Probe

Why (I think) I Need a Differential Probe

After I sold my trusted Fluke 123 ScopeMeter, I lost the ability to connect probes whereever 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. My DSO is not that great at lower V/Div settings. Averaging (128x) however 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. 

However, this is very much depending on your environment, the DSO you use and the some of the part tolerances. One user complained that he had 100mV of noise, but that was in the 10x setting of his DSO, multiplying the noise level. There will always be noise, but I typically use the DSO to average it out for repetitive signals which is what I use 99.99% of the time.

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!

PS Bud helped another user to build a 1x version of the probe. There are a few updates on Bud's blog. Here is more information from that user about the project.

PPS Another user (Keith) build my version of the probe. 


He has access to professional equipment (R&S VNA) and here are some results:

Keith: This measurement is the S21 plot from 2MHz to 200MHz after a thorough calibration of the test fixture. The LF attenuation is pretty close to the expected 10x (-20dB). This was measured with the leads as short as possible to the SMA connectors, there is a slight peaking of +1.5dB at around 30MHz followed by a fall to -1.79dB at 37MHz where the response stays fairly flat until the -3dB point at 128MHz. I have not (yet) tried adding some resistance in the test leads to see if flatness in the passband can be improved. I measured the probe input capacitance at 3.2pF at 100kHz on an LCR meter.

Keith: Input of a 10MHz square wave with 10Vpp amplitude and 50 ohm output impedance from a function generator into a BNC T piece, one cable went to channel 1 of the scope set with 50 ohm input impedance. The other cable from the T piece went to a BNC socket with a 51 ohm termination resistor, and very short wire connection to the probe. The output of the probe was a 150cm SMA-to-BNC lead to C2 of the scope. The delay introduced by the probe is about 5nS.


Keith: Next test was to rig up a 1KHz square wave generator using a NE555, powered by a 9V PP3 battery. Then one end of a 15-0-15v transformer was connected to the battery -ve, the other to the scope ground. This gave about 7.5V signal added to the AC signal which measured 94V P/P, 31V RMS. In the picture above you can see the AC transformer output on channel 1, the output of the NE555 on channel 2 and the output of the probe on channel 3. No sign of any common mode AC ripple on that output.


 Keith: This shows shows just the probe output in a little more detail.


Another user, Mihai85, also built the probe.

If you like what you see, please support me by buying me a coffee:



keeferty said...

Thank You for the article - it's a great read.
Do You plan on publishing Your PCB by any chance?

paulv said...

Yes, I will publish everything.
I'm still waiting for some parts (slow boat from China), but it's on the top of my list of active projects now.

alterfield said...

Great work. What are the advantages and drawbacks of Topology 2 and Topology 3?

paulv said...

@ alterfield.
I was hoping that would be clear from my post. Drawback from topology 2 is the difficulty in keeping the CMMR low, because many parts need to be matched. That is a welcome plus for topology 3. Frequency compensation for topology 2 is more difficult to obtain than with topology 3.

alterfield said...

Thanks for your reply. The frequency compensation for topology 2 is more difficult because there are 3 capacitors to adjust, two of which are the capacitors connected in parallel with the feedback resistors of U1 and U2, respectively, and the other one is connected in parallel with the feedback resisitor of the output stage. For topology 3, only the last one has to be adjusted for frequency compensation. Am I correct?
Also, I wonder if there will be a DC bias at the output when the input probes are shorted. Some differential probes on the market have a potentiometer on it, which can be tuned to zero the DC bias at the output.

paulv said...

You are spot on with the major difference between T2 and T3.
I have two working diff amps and both are not showing a significant enough offset. However, I did't save the results because I have not finished the front-end, nor the frequency compensation fully, which will dominate the error sources. It will take some time before I revisit this project because there are so many others I'm working on...
Besides, I do not have a pressing need for the diff probe at the moment.

Zinahe said...

Thanks for sharing. Keep going, I really want to see the end or lack thereof of this project :) Cheers,

paulv said...

Zinahe, there will be a conclusion, albeit different than you would expect. It will take a while, but it will come.

Keith S. said...

Any news on whether the PCB gerbers are available? I'd like to try this out as I've a use for a differential probe! Thanks.

paulv said...

Keith, the pcb's are produced and on their way to me. Only a few more weeks and I'll be able to update this blog with the results and if OK, also publish the Gerber files.

Keith S. said...

Hi Paul, there is an error in your otherwise excellent BOM. C7/C12 with the digikey/murata part numbers you have are 0201 size - as I found when I opened the ones I had ordered and almost couldn't see them! The correct 0603 Murata part is GRM1885C1H220GA01D / Digikey number 490-11451-1-ND. Same goes for the 18p/27p variants.

When the correct ones arrive I should be able to start testing the probe...

paulv said...

Hi Keith,
I am so sorry...
I did the same thing, and thought I ordered 0604, but got dust particles they call 0402. I somehow did not update the BOM, although I thought I did.
The correct version of the BOM is on the Github site now.

Thank you for pointing this out.

Good luck with your probe!

Keith S. said...

Hi Paul, what's the typical current consumption from a 9V supply? I'm measuring about 125mA which seems high, maybe I've a short somewhere.

paulv said...

I had to measured it with 9V, mine draws 59mA.
You indeed have a short somewhere. You can take L1 out to test the supply section by itself. Look very closely underneath the pins of U1, the dual IC. You may have the same issue I had, minute solder balls pressed from underneath the chip while it sucked into place during soldering. Use the best magnifying glass you can find.
Good hunting!

Keith S. said...

So after a few false starts I found there was a V- to GND short, cause by C24's (bad) placement. In the process of tracking down the short I removed some of the small decaps (C29/30 and C26/37), and reworking them was a real pain! Then supply current from a 9V PP3 was 55.5mA and the V+ and V- supplies were +/- 2.67V. So I hooked it up to the scope and fed the input with a 1V p/p square wave at 1kHz. Yes we had life but rather more than I was hoping, the output had a ~400MHz oscillation on top of the square wave out! I checked from the output backwards, the supplies were clean, a probe on U2 +ve input showed a square wave without any trace of oscillation, applying the probe to the -ve input the same but interestingly the oscillation on the output stopped, presumably due to the probe loading cap of about 10pF. So R14/C19 are on the oscillation feedback path, I checked and they seem connected ok, no opens or shorts. Any ideas on what to look for appreciated.

paulv said...


I've asked my buddy Bud for his comments, since he is the chief designer of the probe. Below is his answer:

I don’t really have enough information to make an informed comment. Is the level of the output square wave consistent with a 1/10x gain? Are the bias points of the amplifiers correct? If R12 is open then the U1 amplifiers will oscillate because they aren’t stable below a gain of 10. U3 can oscillate if the ESR of C38 is less than 2Ω, but it can’t buzz at 400MHz.

If all of the DC bias points are correct, and the gain, then I would check to make sure that C18 is properly soldered. If C18 is not in the circuit it will definitely cause U1.2 to buzz. Or you need a larger C19 capacitor, if using a 0.2pF then increase to 0.4pF or 0.5pF.

One way to make certain which leg is causing the problem is to remove R8 and see if the oscillation is still there. Then replace R8 and remove R21 and check for oscillation. That technique will not have any effect from the 10pF scope probe. You could also disconnect both R8 and R21 — if the oscillation goes away then it is probably coming from U1. This will bugger up the PCB a bit, but it is difficult to probe for a problem like this without causing other problems.

Another more drastic approach is to remove U2 — much easier than removing U1. Then you can probe the plus and minus terminals to see if the oscillation is still there. The probe should not affect the result. This would definitely isolate the issue to either U1 or U2. From what Keith describes my money is on the U2 circuit being the culprit.

I would also get a 10x or 30x loop and take a very close look at all of the passives in the gain path. I have frequently encountered resistors and capacitors that look like they are connected, but upon closer inspection a pad is just lying on top of the solder and not making connection.

Divide and conquer.


Keith S. said...

Bud/Paul, Thank you for your help. I must confess I'm a bit baffled by this one and am going round in circles. I have uploaded some scope screenshots as follows. 1) the 1KHz input to the probe. 2) output.PNG the output waveform from the SMA connector, the oscillation on channel 2 is as mentioned about 400MHz. 3) output_20mhz_bw.PNG the same, but with C2 bandwidth set to 20MHz, effectively filtering the oscillation out. The sharp eyed will notice the waveform out is inverted, this is because I have the signal generator signal to the probe -ve input and the ground to the +ve probe input. 4) U1_pin1.PNG, the waveform on U1 pin 1 (output) on channel3. There is noise on this but at 10mV/div with the probe grounded there is still about 5mV noise. 5) U1_pin7.PNG the same for the other output, note that probing either of the U1 outputs has any effect on the output signal. 6) U2_pin3.PNG the +ve input of U2 and 7) U2_pin4 the signal at the -ve input of U2, probing here kills the output oscillation. So it does seem to be that U2 is the trouble zone. I've checked and gone over carefully with a fine tipped iron all the connections to U2, R8/R10/R21 and R14, C19 (I had 0.3pf, I tried piggybacking a 0.2pf on top, that made no difference) and the decaps C27/C28/C29/C30/C31. All seem ok. Am wondering if I can put a small cap from the -ve input of U2 to gnd (which is what the scope probe is doing) of maybe a pF or two to kill the oscillation, but not impact the frequency reponse...

paulv said...

Hi Keith,

Interesting challenge...

We noticed that you asked whether a couple of pF from the negative input of U2 to GND would limit the frequency response. Bud simulated several scenarios. Putting a capacitor there should reduce the phase margin and make the amplifier frequency response peak from 3dB to 10dB depending upon the size of the capacitor (2pF - 10pF). The frequency response is extended by the peaking, but there will be more ringing to a transient.

It doesn’t really make any sense. Putting 10pF to the negative input of U2 should have made the problem worse. Instead you say it goes away.

According to Bud, a 400MHz oscillation would not show up in any of the equipment that he owns for testing — he only has a 100MHz scope.
However, my scope is 350MHz, so it should have shown at least some of what you're seeing if I had a similar problem, which I am sure I don't.

Unless you have a bad part somewhere, we're baffled too...

For now you could indeed add the small cap to kill the oscillation, and start working with it. Do you have the means to then check the bandwidth or the fast edge pulse response?

Keith S. said...

I just noticed one difference. I was reading Bud's description of the circuit and was puzzled when he said the LTC6268 had a GBW product of 500MHz. I thought, strange, it's the same as the LTC6269 which is 4GHz... the part I have is the LTC6268-IS6-10#TRMPBFDKR-ND, and the LTC datasheet shows this as a 4GHz part... on checking the DigiKey site there are two different 6268's, the IS6 and the IS6-10. I had ordered the IS6-10 (probably because the lower bandwidth part is on a 16 week back order from them).

paulv said...


The BOM says this: LTC6268IS6#TRMPBFCT-ND

So that's it, problem (almost) solved!

The 6268-10 is not stable with gains less than 10 (hence the -10 in the part number).

Keith S. said...

Yes, the only downside is the LTC6268 is on a long lead time - I've been quoted delivery end of August. So the project will have to go on hold :(
I've been looking for a suitable alternative with the same pinout, the OPA659 is close but not rated for supply voltage of less than +/- 3.5v

paulv said...

Our strong recommendation is not to use any other device than the ones we specified.

Paul & Bud

Unknown said...

great article and explaination. I'm not very practical with simulation, can you explain me how do you get the CMRR plot? It seems like you put the same signal in both input, it is right?
thanks a lot

paulv said...

That's right. If you connect both inputs together, the output will show the two inputs subtracted from each other and hence only the difference, typically the noise of the system. You can use Google to find more information on how to perform a CMRR.

Keith S. said...

Well 5 months after ordering the LTC6268-IS6 from RS, it finally arrived. I replaced the existing LTC6268-IS6-10 which had oscillated, and bingo! No oscillation and a test signal at 10MHz, 20Vp/p (the max my function generator could output) showed a pretty good response from the probe.
I then tried hooking it up to my VNA (a R&S FPC1500) and after calibration the S21 plot showed a -3dB point of about 125MHz. Not bad at all!
I'd attach some images of the response but it does not appear possible in the comments?

paulv said...

Hi Keith, great results, thank you for sharing.
If you want, you can send me a PM with the files such that I can put them on this Blog.

Keith S. said...

I would, but I've no idea how to PM you on this!

paulv said...

Send it to pw.versteeg at

softfoot said...

Nice project!!
Has anyone made a case for the probe, I could use heat shrink but I'd prefer something more durable ... perhaps something 3D printed ??

Anonymous said...

I made this probe, but I seem to be getting about up to 100mV of noise with inputs shorted. What is the noise measurement with x10 scaling factored in on the oscilloscope? I see ~10mV talked about with scope on x10, is this really true? I've tried debugging, removing and reattaching opamps, checking for shorts etc. Nothing gets me to around 10mV roughly. And other than that, the probe works and calibrated just fine. Thanks.

paulv said...

The noise you are seeing is not normal. However, it's difficult to give you a number because every DSO is different. As an example, my RIGOL DS2072 is very noisy below 50mV/Div. The 20mV noise level at shorted inputs and an input factor x10 is what I measured on this DSO and there is a picture shown in the Blog.

Could the noise come from other equipment or devices that finds it's way into the probe?

dr.eM said...

I just want to ask about virtual ground created with split resistors and opamp unity buffer. Is it realy needed and wanted that unity buffer has full BW? I'd rather limit BW to improve virtual ground stability. Just idea.

paulv said...

The split supply is indeed needed to power the Opamps, and we used the most economic and best solution to create it. It does not influence the BW of the probe itself.

Anonymous said...

Thanks a lot for sharing, great stuff!

Anonymous said...

Hi Paul,
How do you think, would it work with LTC6268HS6?
The only difference I can see is higher Input Bias Current of 4pA vs 0.9pA in IS6.
Current lead times for those chips are ridiculous, and I was only able to find HS6 in stock.

paulv said...

I got an email about a question from (an) Anomymous poster but I don't see the post here yet.
The question was if it is possible to use the LTC6268HS6 version and Bud replied that it can be used. The only difference is that the H version has a wider temperature range — -40C to 125C.

Anonymous said...

I found project on PCBWAY.
Is there also project on JLCPCB?

paulv said...

No, there is no JLPCB project.

Anonymous said...

Its hard to get LM7301IM5X/NOPB IC. Is there any alternative part?

paulv said...

Mouser has 18,839 in stock.

Anonymous said...

What about LM8261M5X/NOPB? 2.5V supply

paulv said...

Why don't you look yourself? Mouser has 48.000 in stock at this moment.

Anonymous said...

I have the same high noise issue that another user has reported. I tried to switch back and forth different components without any improvement (I have not changed the LTC6269 and LTC6268). Someone has found where the problem comes from? I used two different oscilloscope (Siglent and Rohde); bought components from Digikey and pcb from jlcpcb. An issue with the LTC6269 quality?

paulv said...

Unfortunately, I have no idea where the excessive noise is coming from and nobody reported this issue with a solution.
There are two possible sources that come to mind. An issue with the power supply or the rails and of course, the Opamps. Can you isolate the output Opamp and measure the output of the other two with a shorted input to hunt down the issue?

Sorry, I can't provide more help.

Mihai85 said...

I'm about to build the probe.
What would be the values/modifications for 100x or 250x attenuation. Has anyone tested?


paulv said...

Hi Mihai85,
I'm not aware of anybody that changes the attenuation.
It can be done, but realize that this can be more involved than you anticipate.
Have a good look at my Blog for details, and also visit the Blog that Bud put together.

If you do embark on this, please let us know so others can benefit.



Mihai85 said...

Hi Paul,

I also assembled the probe.
I proceeded to calibrate it.
It worked the first time, I adjusted R11 succesfully but it does not respond to the adjustment of c5 and c10. I guess I have to gradually decrease their value (simultaneously?) to 20,18,10pF.
Thank you!

Mihai85 said...

paulv said...

Well done Mihai85, can you share the attenuation factor and the component changes you made?
I've added your picture of the probe.

Mihai 85 said...

Sorry, I didn't specify at the beginning, it's the standard version(for the moment) At the moment I haven't changed anything.I respected all the values ​​in the scheme/boom.
Thank you for your support.

Mihai85 said...

I did some more tests. I replaced c7 and c12 of 22pf with 27pf and it still could not be compensated. The spike remained. Then I put the 22pf capacitors in parallel with the 27pf capacitors(22pF||27pf). The voltage peak has been reduced, but it still does not respond to the adjustment of c5 and c10. Can the trimmers be defective? I soldered them by heating the pcb from the back with Sn/Pb paste with a melting point of 183 celsius.
I put some captures cu 27pf||22pf:
Am folosit iesirea de 1kHz a osciloscopului ,tranzistor 2n7000 si sursa reglabila.

Mihai85 said...

I did some more tests. I replaced c7 and c12 of 22pf with 27pf and it still could not be compensated. The spike remained. Then I put the 22pf capacitors in parallel with the 27pf capacitors. The voltage peak has been reduced, but it still does not respond to the adjustment of c5 and c10. Can the trimmers be defective? I soldered them by heating the pcb from the back with Sn/Pb paste with a melting point of 183 celsius.
I put some captures with (22pF||27pf) : I used the 1kHz scope callibration output , 2n7000 transistor and the adjustable power supply.
(Please delete the previous comment if it's possible.)


paulv said...

My assumption is that you have a bad solder joint or a bad part. The adjustment should work really well.

Mihai85 said...

Hi Paul,

I've solved the problem. Both trimmers (C5 and C10) weren't making contact with the ground. After fixing that, everything proceeded okay.I notice a bit more noise (at 20mV/div) compared to how it looks on your oscillograms. I limited the bandwidth to 20MHz when i measured the noise.
Otherwise, it seems quite accurate.
Many thanks for your contribution to this project.

Rav said...


Do you sell this board/parts as a kit?

paulv said...

Hi Botta, no we don't and have no plans to do so.
You could ask PCBWay if they can handle it.