A 10X 100MHz Differential Probe

A DIY oscilloscope probe to dig small differential signals embedded in high common mode voltages.

Similar projects worth following
To make...or not to make...that is the question. I needed a probe that can dig out a 1V differential signal riding on a 60Hz 125VAC mains voltage. Many of the commercial probes aren't suitable for my purposes and are pricey. Therefore, the answer is...make.

Twice in the last couple of years I have needed a probe to diagnose problems with a non-isolated power supply that connected directly with the 125VAC mains voltage here in the USA. I have been able to work around it by using less than satisfying methods. My cheap oscilloscope (a Rigol DS1102E) is good enough for most of my purposes, but the math function to subtract Channel 1 from Channel 2 really sucks. And even though it is a cheap scope, I'd rather not have to buy a new (more expensive) scope because I connected the scope ground incorrectly.

Needing a tool on a yearly basis hardly qualifies as necessary, but I had some down time waiting for components and PCBs for another project and began to consider this as an interesting project.

There are now two versions of this probe. My original version that is powered by a 5VDC adapter, and Paul's new version that is powered by any adapter in the range of 7-12VDC. Paul also made some changes to increase the creep distance between the input pins since he needs to use it with 240VAC mains. You can find the Gerber files, BOM and schematics for Paul's version on his Github Page.

I'd been following Paul Versteeg's progress to make a differential probe on his blog. I recommend that you read it -- he covers most of the basics and has some good references of other approaches to make this kind of probe. Paul has done more thorough testing as well (his equipment is better than mine.) He also spent a lot more effort explaining how to assemble the probe and calibrate it. There are also several persons within Hackaday that have completed projects successfully, or are still ongoing.

The Specifications:

  • Input impedance: 20MegΩ// 1.25pF - differential, 10MegΩ//2.5pF each terminal to GND.
  • Differential Gain = 1/10 V/V. Any lower than this and the DS1102E could not resolve a 1V signal with any clarity. (Many of the cheaper differential probes are switchable between 50X and 500X attenuation. This would be good if the signals in which you are interested are very large, but that's not the case so far with my needs. The better probes ($400 and up) provide 10X/100X attenuation.
  • Common Mode Range > ±340V (240VAC produces a sine wave 679V peak-peak)
  • CMRR >90dB @ DC, ~60dB @ 1MHz
  • Differential Voltage Range > ±24V for 240VAC common-mode,  ±24V for 0V common-mode (Paul's version increases both ranges to ±25V)
  • Bandwidth ≥ 100MHz (Dependent upon signal amplitude) This will be a stretch for my current skill set.
  • DC offset < 20mV
  • Noise: TBD (Wider bandwidth = more noise)
  • Cost: ~ $50

The completed probe:

The above photo is my completed probe. You will need a 5VDC adapter to power Bud's probe or a 7-12VDC adapter to power Paul's probe, and a SMA to BNC pigtail to connect the probe to the scope. You should also consider making a few leads for various situations. The leads use a Dupont 0.1" (2.54mm) 2-pin female connector to attach to the probe. The green tie-wrap provides a bit of strain relief for the power supply leads into the probe.

The Schematics:

There are now two versions of this probe.

The 5V adapter version (Bud's):

The 7-12V adapter version (Paul's):

[Edit 2020-01-30: Improved the differential range with a 240VAC input to ±24V with small changes to component values. No change to the PCB layout.] 

[Edit 2020-02-05: More conservative design for the first gain stage stability. Replaced BAV99 diodes with BAV199.]

[Edit 2020-02-13: Increased R23 and R24 to 1.5k from 510Ω to reduce ringing with fast input step.]

[Edit 2020-02-25: Changed C6-C8 and C11-C13 to match lower capacitance of the 10pF input capacitors. Your mileage may vary.]

[Edit 2020-05-10: Changed C19 to 0.4pF±0.05pF to match Paul's schematic. He found the bandwidth not quite 100MHz so reducing this capacitor boosts it by 20%.}

The input attenuator is 250X. The series R and C network is necessary to avoid exceeding the voltage rating on any of the components when subjected to high...

Read more »


Bill of Materials spreadsheet for 240VAV diff probe. Includes comments and sources for components.

ms-excel - 20.00 kB - 05/10/2020 at 19:34


Gerber files for the PCB. Can upload this zip file to OSH Park to have PCBs made. Board thickness should be 1.6mm.

Zip Archive - 31.96 kB - 02/25/2020 at 15:45



Basic LTspice simulation schematic for the differential probe. This is the 240VAC version

plain - 8.42 kB - 01/31/2020 at 16:24


  • Acid Test

    Bud Bennett02/26/2020 at 21:24 0 comments

    I wanted to see how well this probe would perform in its intended application. I took the case off my old Macintosh 512k and measured a few waveforms. Here's the power supply schematic:

    The primary side of this SMPS power supply is not isolated from the 125VAC mains. All of the circuitry to the left of the multi-tapped transformer are moving up and down 180V at 60Hz with respect to the ground reference on the right side. There are a lot of voltage swings that exceed the probe's ability (±25V), but you can get a pretty good idea about what is going on by measuring lower voltages. The first point that I measured was from node "5", the base of Q11, to the virtual ground at the base of Q9. It looks pretty much as it should.

    Then I put the probe leads from node "3" to the virtual ground. Again, as expected.

    The last node that I probed was the gate of Q10 w.r.t the virtual ground. This is a lot uglier, but seems appropriate.

    There is an artifact from the large common mode voltage. I recorded this to show the amount of bleed through from the common mode:

    It is the same signal at the gate of Q10, but the baseline voltage shows the 60Hz common mode. It's on the order of 5mV (50mV @ 10X), so it is tolerable for this situation.

    I'm pretty happy at this point. I wish that I had this capability when I was trying to figure out what was wrong with this circuit a few months ago.

  • Test Results Using SMA to BNC pigtail

    Bud Bennett02/25/2020 at 16:22 5 comments

    My SMA connectors that I ordered from AliExpress have not arrived, so I ordered two SMA connectors from Digikey for $3.44 each, along with the resistors to correct the gain error in the first gain stage. I am using a 20 inch long SMA to BNC pigtail to connect the probe to the scope input. The power is provided by an old wall adapter that I modified some time ago to output 5.25VDC. The extra 0.25V allows the differential inputs to swing past ±25V before the amplifiers saturate.

    Here's a few waveforms showing performance at lower frequencies:

    Channel #1 is the diff probe and channel #2 is the 10X scope probe. Both are connected to the scope's 3V calibration signal.

    This is a 25V 1kHz square wave. Same channel inputs as above.

    A zoom in on the rising edge of the 25V square wave. The diff probe captures the same waveform features as the 10X scope probe.

    Faster Rise/Fall times:

    I don't have a laboratory grade signal source to test the probe, so again I'm using a switching step-down converter to obtain ~10ns transition times.

    This is what the 10X scope probe produces on channel 2 when connected to the inductor.

    The above is what the diff probe thinks the inductor waveform looks like.

    This is the falling edge measured with the 10X scope probe.

    The falling edge measured by the diff probe.

    The rising edge measured by the 10X scope probe. This edge is faster -- about 10ns -- there is ringing from the probe.

    The rising edge measured by the diff probe.

    I can't say for sure which probe is telling the truth about the waveforms. My equipment is not up to the task of properly evaluating the performance of the differential probe. But it is good enough for my purposes at this time.

  • Custom Leads

    Bud Bennett02/12/2020 at 16:54 0 comments

    The inductance of a 3 inch long 26AWG wire is 1.23µH. It plays havoc with the diff probe if not properly accounted for. I ginned up a simple circuit to help me visualize how to dampen the ring associated with the lead:

    A small value of series resistance in the lead will remove most of the ringing caused by the lead inductance. The largest value of series resistance that can be inserted into a 3 inch long lead is 620Ω. Any more than that will reduce the bandwidth of the differential probe. There is also a small, 0.006%, reduction in gain.

    With 620Ω, the response to a 1V input step with a 3.5ns risetime is:

    There is a 10% overshoot in the probe's response to this fast step. Clearly, if you need fidelity on signals with very fast rising edges the lead length must be as small as possible. But if the rise time is reduced to 10ns the overshoot decreases to only 3.5%:

    I'll be making couple of sets of custom leads, with unique values of series resistance. There is no need to add any resistance to the PCB. The lead set to use will depend upon the characteristics of the signal to measure.

  • Ringing & Swinging

    Bud Bennett02/11/2020 at 23:10 0 comments

    I can’t leave well enough alone. I still don’t have the SMA connectors to allow direct connection of the probe to the scope input, but I wanted to evaluate the probe in some more real world environments. I thought that a good test was to connect the diff probe to the gate drives of my T16 battery charger. These signals are 5-6V transitions with expected rise/fall times on the order of 10ns. In order to capture all of the information, you must have 35-70MHz of bandwidth. I have seen, and dealt with, quite a few buck converter gate drive issues over the years. 

    The top gate drive of the buck converter has a slower rise/fall time than the bottom gate drive. This is usually due to the top FET having a bit more total charge, Qt, because the top FET is a PCh FET vs. the NCh bottom FET. I connected the diff probe positive lead to the top gate signal and the negative lead to the GND of the battery charger. This is what was output from the diff probe:

    The yellow trace is the output of the diff probe, measured by CH1 of my scope. The blue trace is Ch2 of the scope measured with the 10x scope probe. This waveform doesn’t show much ringing associated with inductive parasitics. That could be because of the slower, 40ns, rise time or the care that I took with the PCB layout :). 

    I then connected the probe across the bottom gate signal. This signal is much faster, 5ns rise/fall, than the top gate.

    There is quite a bit of ringing. The ringing can be a result of many things: poor probe grounding, marginal stability of the diff probe amplifiers, unknown bad stuff? Usually, when confronted with unexpected circuit performance I tend to go back to the simulator and see if I can reproduce the effect and get a handled on the problem. I was looking for something that affected the second gain stage, or all gain stages, that would present as shown. I found two things: R23 & R24 had an effect on the ringing due to a fast rise/fall event, and the lead inductance that I was using should have caused ringing when the lead inductance interacted with the input capacitance of the attenuator. Or perhaps it was both, or something else?

    In simulation, I found that the first stage amplifier ringing reduced when R23 & R24 were raised above 1kΩ. This damped oscillation was not present in the simulation until the stimulus had some common mode component. And this ringing was quite high in frequency and did not pass through to the probe output. 

    I also found that the longish leads that I was using to connect the diff prove to the Buck converter may be causing a problem. A 12 inch long 26 AWG wire has a self inductance of around 5µH. If you combine that inductance with the ~2.5pF input capacitance of the probe it will tend to ring at a frequency around 50MHz. If there is no resistance to dampen the Q of the input LC then the ring can be pronounced. A small amount of resistance in series with the probe inputs could remove most of the ringing at the input by reducing the Q of the LC circuit. If too much resistance is added to the diff probe inputs then the bandwidth would be compromised.

    I added 470Ω to each of the diff probe's inputs, using leaded metal film resistors. I did not see a significant reduction in the ringing. So what's really happening?

    I turns out that channel #1 of my Rigol 1102 appears to ring a lot more than channel #2. At this point I don't know which channel is bad, but my money is on channel #1.  When I connected both channels of my Rigol scope to the diff probe output I obtained these results:

    My Rigol scope has a problem with ringing on Channel #1. I think the diff probe performance is acceptable. [Caveat: I haven't directly connected the diff probe to the scope yet.]

  • Results from First Prototypes

    Bud Bennett02/09/2020 at 21:49 0 comments

    PCBs and components arrived within a day of each other. I had the first prototype assembled and working in an afternoon, with some compromises: I used 3.6kΩ/390Ω resistors for the first gain stage instead of 3.92kΩ/412Ω, and I don’t have any SMA connectors yet, so I can’t tie the output directly to the scope input. So the gain is 3% low.

    Power supply current = 52mA.

    First thing I checked was the ground supply to make sure that the M7301 opamp was not oscillating — no buzz. I did not populate the 22µF ceramics at the input and output of the LM7301, and I made sure to use 10µF tantalum capacitors with an ESR spec of 2.5Ω to damp any potential ringing at 100kHz.

    Next, I tied the inputs together and connected a scope probe to the output. No buzz there either...I’m breathing a bit easier now. I measure the output offset voltage to be -18mV. This seems a bit high (low, really) to me, but it is within the envelope of the amplifier’s Vos x Gain. The easiest way to see a trace is to connect the probe inputs across the scope’s square wave calibration output. The output is 386mVp-p for an input of 3.96Vp-p — 0.0969V/V. The lower gain is expected because of the temporary resistors installed. 

    But something is not right. The probe output is showing a pronounced rounded edge instead of a sharp square edge. Adjusting the trimmer capacitor in the positive signal path has a negligible effect. I can calculate the probe’s AC gain from the difference between the input and output waveforms — it’s about 7.3% too low. I remove the 15pF 0603 capacitor in the attenuator. This helps, but the AC gain is still 5% too low, so I replace one of the 300pF capacitors with a 270pF 1%/0805. Now the DC and AC gains almost match perfectly and I can use the pot and the trimmer capacitors to fine tune the probe. [This is a strange result for me. I bought 10pF±1% NP0 capacitors for the attenuator, but they appear to be 7.5% low after assembly onto the PCB. I believe this is the first time in my life that capacitance is lower than expected!]

    At this point I decided to build a second prototype, with the same component values now in place in the first one, to see if there was some big error somewhere. The second prototype performs nearly identically with the first, except the output offset voltage is only -11mV. In a way this is a good thing...consistency is good.

    Let’s measure CMRR:

    I believed the simplest way to measure low frequency CMRR was to connect both probe inputs to a 125VAC signal and see what the output did. It was not very pretty:

    It’s not really bad — about -90dB — but I was expecting a better result. Maybe I had not calibrated the CMR and AC gain correctly. So I connected both inputs to a 30VDC supply and rotated the potentiometer to cancel the DC CMR error while looking at the outputs with a DVM. I got the DC CMRR to better than 100dB. Here’s a screen dump of the HP DVM showing the DC output voltage of the probe changing with the the applied 30VDC CM input. Each large spike is me turning off/on the 30V supply. The only thing that's important is the deviation between the large spikes. It’s 0.25mV! That’s more like what I was expecting.

    I set up a test circuit to provide a 1kHz 30Vp-p square wave (a more controlled waveform than the mains input) to test the CMRR. This was just a 2N7000 FET with a 3.3kΩ load resistor connected to a 30V supply, with the 2N7000 gate driven by the 3V scope calibration output waveform. Rise/fall times improved from ~1µs to ~100ns. I was able to calibrate out the DC and AC common-mode contributions to where the probe output looked like this to a 1kHz +30V CM square wave:

    Ch2 shows the 30V square wave. I would call this less than ±1mV p-p variation. That’s > 83dB CMRR at 1kHz.

    Unfortunately, I don’t have any appropriate equipment to thoroughly test the differential probe performance beyond this point, unless I get access to better...

    Read more »

View all 5 project logs

Enjoy this project?



Tyler Gerritsen wrote 06/19/2020 at 19:13 point

This is awesome!  Nice work!

I'm developing a high-speed LED flash that strobes for about one microsecond.  Just started pricing out a differential probe for more accurate current measurements when I stumbled on your design.  Thanks for sharing, I ordered a few boards from JLCPCB.  Due to the minimum order quantity I'm going to have a few left over. 

If anyone wants a PCB and it's OK with Bud & Paul, shoot me a PM.

  Are you sure? yes | no

Bud Bennett wrote 06/19/2020 at 20:44 point

It's OK with me (and probably Paul). Did you build my version or Paul's? Be aware that it seems that nobody has any LTC6268 (not the -10 version) until sometime in August.

  Are you sure? yes | no

Tyler Gerritsen wrote 06/19/2020 at 21:21 point

I used your design (5V supply).  Good to note, I guess it's going to be a wait...

  Are you sure? yes | no

solanki.pareshkumar wrote 06/12/2020 at 06:31 point

Hello Mr. Bennett and others

I have found one more JFAT op-amp OPA659 from TI. It has stable unity gain with bandwidth of 650 MHz and slew-rate of 2550 v/us with 4V step. It has Vcc to Vee range of 12V.

I would like to measure the signals with highest measuring bandwidth of 10 MHz and peak signal amplitude of 2KV on either side of zero.

Does this op-amp makes a good candidate for this design with x250 or x500 probe. As I am new to this measurement electronics design, i would appreciate any feedback from experienced members.

Thanks for your reference design and best regards

  Are you sure? yes | no

Bud Bennett wrote 06/16/2020 at 12:58 point

From the information you provided above, it doesn't seem like you need to use this topology since there is no common mode voltage that needs rejection. Therefore a simple voltage divider would suffice. If you insert the OPA659 into this topology (for whatever reason), and increase the voltage ranges, many things would need to change: voltage ratings on resistors/capacitors in both the attenuator and the supply bypassing, feedback resistor/capacitors for stability, PCB spacings for voltage standoff, etc. The open loop gain of the OPA659 is only 52dB, around 300 V/V, so closed loop accuracy might be poor. Additionally, I previously tried to simulate a TI OPA657 in this topology and I could not prevent the two opamps in the first stage from oscillating. You might have success with the 659 in a lower bandwidth requirement. Good luck.

  Are you sure? yes | no

Keith wrote 05/09/2020 at 09:04 point

ALso (sorry for all the questions!) did you use a stencil and/or solder paste?  I'm new to SMT and still trying to get my head around the best way to solder such small components - especially as those opamps aren't cheap! Thanks.

  Are you sure? yes | no

Bud Bennett wrote 05/09/2020 at 13:55 point

I generally don’t use a stencil, unless the pad pitch is 0.5mm or less. I use Kester 37/63 lead solder paste in a syringe with a pink or purple needle size. I keep the syringe in the fridge between uses. When applying solder paste to DFN parts, like this amplifier, I squeeze out a bit of paste and then use a pin to get just the right amount on the pads. I would suggest that you use a stencil since things tend to go a lot faster. The reason that I don’t use a stencil is because the cost when making several PCB revisions. 

Paul Versteeg is working on a slightly different version of this probe. I suggest that you wait until his gerber files are available before ordering PCBs. I put a link to his blog in the project details.

  Are you sure? yes | no

Keith wrote 05/09/2020 at 02:07 point

Did you solder the board using an iron, or use an oven? It looks incredibly fine for an iron.

  Are you sure? yes | no

Bud Bennett wrote 05/09/2020 at 02:11 point

I used a hot air rework station — made by Quick. It seems to work for me. No need for an oven. My hands shake too much to attempt soldering a 0402 capacitor with an iron.

  Are you sure? yes | no

Dan Maloney wrote 01/10/2020 at 16:46 point

I'm only just starting to get into oscilloscopes, and from what I've read there are way too many ways to kill a mains-powered scope. Makes me a bit nervous using mine to diagnose anything but battery-powered circuits. I've been considering buying an isolation transformer to power the scope - still thinking that over.

I'll be following this with interest. Thanks!

  Are you sure? yes | no

MS-BOSS wrote 02/12/2020 at 20:32 point

An oscilloscope on isolation transformer has one major problem. Attach the probes to some HV circuit and then touch one of the unused BNC connectors. Rubber shoes are mandatory.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates