Why Oscilloscope Bandwidth Matters

A big part my New Year’s Resolution to improve my overall design process was better testing. Better testing is an important part of better and more intentional design, but it means having tools that you can trust and that can consistently give you the results you need.

While I’ve built up a decent little collection of toys over the years, I spent quite a bit of time late 2011 figuring out what I wanted to add or replace on my workbench in 2012 to be able to improve projects I’m working on. At the top of the list was a faster mixed-signal oscilloscope, followed by a more reliable bench-top multi-meter, and a decent function generator rounding the big ticket items out.

After spending quite a bit of time selecting a scope that matched my budget and requirements, and looking (importantly!) at the ecosystem around that scope, I settled on Agilent’s new MSOX2000/3000 series — specifically, the Adafruit Christmas Elves picked out an MSOX2024a (the screenshot above was taken on this scope).  These scopes (in my opinion) are an excellent value for a mid-range scope, and really raise the bar for the competition in the $2-5K range.  I’d like to write a few blog posts on the reason behind that choice and the thinking behind the whole list of items above, but as a first foray into that I thought I’d try to explain some of the details you should keep in mind if you’re thinking about a scope yourself (probably the most useful tool on any EEs workbench after a multimeter).

The most obvious factor when choosing an oscilliscope is bandwidth. 50MHz is better than 20MHz, and 100MHz is definitely better than 50MHz, etc., but what does that number really mean, and how fast is fast enough for your needs? There are already some good resources out there that go into exhaustive details on this … but for the executive summary read on.

The biggest influence on the price of a scope is it’s bandwidth (50MHz, 100MHz, 200MHz, 350MHz, … 2GHz, etc.) and the number of analog samples per second that it can read (1Gs/s, etc.). These two numbers are related, and most people know that the samples per second needs to be at least 3-5 higher than the bandwidth for accurate results (meaning a 100MHz scope should have ~500Ms/s, or even better 1GS/s for reliable results).

But what does the 50MHz or 100MHz really mean? If I purchase a 50MHz scope can I accurately capture and measure 50MHz worth of data? The answer (like everything else in engineering) is: it depends. You should be able to measure frequency up to and even beyond the maximum rated value, so if determining frequency is all that matters (checking how accurate the output of an oscillator is, the pixel clock on an LCD controller, etc.) you can safely go up to the maximum. Where things become more fuzzy is amplitude (the upper and lower voltage values measured by the scope).

The bandwidth of an oscilloscope actually indicates the point at which the measured amplitude on an amplitude/frequency chart has decreased by -3dB (or 70.7%) of the original value! Your frequency will be good up to and perhaps even slightly beyond the maximum rating of the scope, but at the maximum rated frequency, the amplitude will be ~70% the actual value so you’re 5V signal will actually show up as ~3.5V, and 3.3V will show up as ~2.3V! This can cause you to panic and think you have a bad oscilloscope, or that your PCB or circuit is rubbish, simply because you might not have been aware of this principle.

As an example, have at look at the screenshots below. They’re both capturing the 3.3V 40MHz pixel clock of a large (800×480) TFT LCD, and the frequency is the same, but the peak to peak voltage on them is very different. The Tektronix image is from a 350MHz oscilloscope (using a 500MHz probe since this is also important!), and the other is from a 50MHz Rigol scope (sw ‘upgraded’ to 100MHz) using the probes in 1x mode (which is limited to 7MHz bandwidth).  The peak to peak voltage (VPP) on the Tektronix scope is accurate (it says 3.4V since there is a slight peak on the rising edge), but the Rigol only shows 1.4V, though both capture the 40MHz frequency correctly!


Why is that, you ask?  The 1.4V is so low because you also need to pay attention to the maximum bandwidth of the probes you’re using with the scope, since the same effect applies to them as well as the bandwidth on the scope itself!  Use a slow probe on even the most expensive scope and you’ll be throwing all of that resolution (and money) out the window.  In the case of the Rigol scope I was using the probes in 1x mode (you can select between 1x and 10x directly on the probes), which is limited to 7MHz (at 10x they are much more useful with 150MHz bandwidth).  Make sure you know the bandwidth of not only your oscilloscope, but of the probes you have attached to them as well.  Unless you are measuring fairly slow signals with the Rigol scopes, you should always use the 10x mode since the probes will perform much better than in 1x mode, though you need to remember to multiply all the displayed values by ten after the fact (so 300mV is actually 3V, etc.).

The following chart (from Tektronix “ABCs of Probes Primer”, p.35) illustrates the relationship between bandwidth and amplitude:

What does this have to do with selecting an oscilloscope? The biggest take away is that if you need to accurately measure not just frequency on your oscilloscope, but amplitude as well, you need to make sure that the rated bandwidth of both the scope and the probe attached to it are well above the signal you need to accurately capture. If you need the amplitude to be accurate to ~1%, you need to derate your scope by a factor of 0.1x, meaning that on your 100MHz scope you can only capture 10MHz with a 1% error in amplitude. If you require 3% accuracy, you need to derate it by a factor of ~0.3x, so a 100MHz scope can accurately measure 30MHz to 3%.

Does this mean you need a $15K 500MHz scope to accurately measure anything, and the entry-level 50MHz scopes out there are useless? Absolute not! I’m still convinced the entry level digital scopes out there (Rigol, etc.) are an absolutely amazing deal and an exceptionally smart investment for any budding young engineer … but you do need to understand the table above to get the most from them. This table allows you to measure signals at the maximum bandwidth of your scope … you might just need to do a bit of math to scale them up after the fact.

Oscilloscopes are incredibly useful tools and one of the best investments you can make, but it does take time to understand the limitations of this type of test equipment. As with anything else in electronics, you really need to understand where the weakest links in your system are, and if you can’t replace those weak links, you at least need to fully understand them and compensate for that in the best way possible. I wouldn’t hesitate to recommend any serious newcomer to electronics picks up an entry-level Rigol oscilloscope. It’s a far better investment than any of the toys on eBay, and an exceptional value for the money … but it is important to learn your tools, and to know where their limits are.

The moral of the story: for the least amount of work on your part, always buy the best tools you can afford. If your means are limited, still buy the best tools you can afford, but make sure you understand what you are measuring and the limitations of your tools, and find creative ways to work around them.

Further Reading

If you’re new to oscilloscopes or just looking for a bit more information on this or other subjects, the following links might be useful to you:


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


  1. Good article, thanks Kevin!

  2. I would like to cast my vote for Agilent scopes. Besides bandwidth, I find memory depth to be important. Part of my work consisted of signals that had durations in the 10’s or hundreds of microseconds and repitition rates down to 1 Hz.

    I also have a Hameg 60MHz Analog scope that I purchased new in the early 80’s that still works great.

  3. Just a few typographical nitpicks:

    “a 100MHz scope should have ~500Ks/s” – should be “~500Ms/s”

    “but you do need to understanding the table above” – should be “you need to understand the table above”

    “always by the best tools you can afford” – should be “always buy”

    “If you’re means are limited,” – should be “If your means”

  4. John: Fixed. 🙂

  5. Great article, very helpful.

    I’d love to see that 40MHz signal on a DS1102E and on a DS1052E ‘upgraded’ to 100MHz as well. The problem would be finding someone who has access to the right equipment, of course.

  6. Bruce: That is an ‘upgraded’ 50MHz scope … I’d actually be more curious to compare to the out-of-box 50MHz model and see what the difference is (or isn’t).

    Even at 50MHz they’re good little scopes, though, and an excellent value for money.

  7. Jean-Claude Wippler

    For another bit of info about scope, see the three-part weblog posts about how I chose an oscilloscope a few months ago – http://jeelabs.org/2011/12/20/getting-an-oscilloscope/

  8. Jean-Claude:

    Great description 🙂

    “Oscilloscopes are the “printf” of the electronics world. Without a “scope” you can only predict and deduce what’s happening in a circuit, not actually verify (let alone “see”) it. Here’s what an oscilloscope does: on the vertical axis, you see what happens, on the horizontal axis you see when it happens. It’s a voltmeter plus a time-machine.”

  9. Awesome article! I needed that. I do have one question:

    “Unless you are measuring fairly slow signals with the Rigol scopes, you should always use the 10x mode since the probes will perform much better than in 1x mode, though you need to remember to multiply all the displayed values by ten after the fact (so 300mV is actually 3V, etc.).”

    Don’t you just set the scope software to let it know that you’re using 10x on your probe, and it will do the math for you? Or am I missing something?

  10. George: Some scopes do this automatically because there’s something on the probe to indicate if it’s 1x, 10x, etc., but sometimes you have to manually indicate it. I believe you have to manually indicate this on the Rigol scopes via a menu. I think you mean just multiplying the values, though, not setting the probe up correctly? Normally the results are automatically ‘multiplied’ (they are on my Agilent scope), but I’d have to pull out the Rigol scope and check if it does this. I expect yes, but I don’t recall off the top of my head.

  11. @George: to expand a bit on what Kevin said, some probes are able to communicate their attenuation factor to the scope — typically these have a small metal pin extending from the connector on the probe, which makes contact with a conductive ring around the BNC connector of the scope. This can be found on almost every Tektronix scope and probe, but is less common from other manufacturers.

  12. @ George, it is adjustable in the software, page 1-9 of the manual. Push CH1, Probe, and then 1 or 10X. Good question. 🙂

Sorry, the comment form is closed at this time.