Test and measurement
Five oscilloscopes for a home lab, and the numbers that choose between them
By Bulan Sarkar, founder of ElectronicsInfoline (since 2000) · About a 12-minute read
Five oscilloscope choices for a home bench, from a 12-bit four-channel scope down to an Arduino, and the numbers on a spec sheet that decide between them.
Every figure for a named model comes from its maker's data sheet or product page. Every rule of thumb is worked out below, so you can check it against your own signals. There are no prices here; they change too often for a page meant to last.
For most home labs, a 70 MHz, four-channel, 12-bit scope such as the RIGOL DHO804 (RIGOL) or the SIGLENT SDS804X HD (SIGLENT). That covers Arduino, ESP32 and audio work, power-supply ripple and serial buses.
Buy more bandwidth only for fast edges: a 5 ns edge reads 41 % slow on a 70 MHz scope and needs about 284 MHz to read within 3 %. Check the sample rate with every channel switched on, not the headline figure.
The five
| Choice | For | Numbers | Weak point |
|---|---|---|---|
| RIGOL DHO804 | Our pick for a first bench scope | 70 MHz, 4 channels, 12-bit, 1.25 GSa/s, 25 Mpts | 312.5 MSa/s and 5 Mpts with all four channels on |
| SIGLENT SDS804X HD | The same class, more memory | 70 MHz, 4 channels, 12-bit, up to 2 GSa/s, 50 Mpts per channel | compare its all-channel sample rate in the data sheet before you buy |
| RIGOL DHO814 | When edges matter | 100 MHz, rise time 3.5 ns, otherwise the DHO804 | still reads a 5 ns edge 22 % slow |
| A used analogue scope | Cheapest real bandwidth | no sampling, so no aliasing; a live trace for repetitive signals | cannot hold a one-off event; old capacitors; heavy |
| An Arduino UNO | To learn, not to measure | about 9.6 kSa/s with analogRead() at its default settings | sine shapes only to about 1.0 kHz |
RIGOL DHO804. 70 MHz, four channels, a 12-bit converter, 1.25 GSa/s on one channel and 25 Mpts of memory, a 7-inch touch screen, and a 3-year warranty on the mainframe. It ships with PVP3150 probes, good to 150 MHz at 10X (RIGOL). One limit matters. The four-channel model shares its converter, so with all four channels on it samples at 312.5 MSa/s each and keeps 5 Mpts per channel.
Our take: the scope we would put on a new bench. Use one or two channels when you need its full speed.
SIGLENT SDS804X HD. The same class: 70 MHz, four channels, 12-bit, sampling at up to 2 GSa/s, with 50 Mpts per channel and up to 120,000 waveforms a second in normal mode (SIGLENT). Its headline sample rate and memory beat the DHO804's. We could not retrieve its data sheet on the day, so we have not compared the two with all four channels running. That is the line to read before choosing between them.
Our take: an equal choice. Pick on the all-channel sample rate, the warranty offered in India and which menus you prefer.
RIGOL DHO814. The DHO804 with 100 MHz of bandwidth and a 3.5 ns rise time instead of 5 ns (RIGOL). It pays off on fast logic edges and switching regulators, and buys you nothing for audio, sensors or UART.
A used analogue scope. A cathode-ray scope draws the signal directly, so it cannot alias and its trace responds as you turn a knob. It cannot store a one-off event, and a 30-year-old one needs its electrolytic capacitors checked. Buy one only if you can see it working first.
An Arduino UNO. A sketch that reads analogRead() in a loop makes a scope of sorts. It is a lesson in sampling, not an instrument; the numbers are below.
Bandwidth: what it costs you in rise time and amplitude
A scope's front end is a low-pass filter. Its bandwidth is the frequency at which a sine reads 3 dB low, about 70 % of its true height. Its rise time is how fast it can show an instantaneous step. For a single-pole response the two are linked by rise time = 0.35 ÷ bandwidth, and the RIGOL table follows it exactly: 70 MHz with 5 ns, 100 MHz with 3.5 ns (RIGOL).
What you see on screen is your edge slowed by the scope's own rise time: the square root of the sum of their squares. Take an edge that really rises in 5 ns (our example). A 70 MHz scope shows 7.1 ns, 41 % slow.
To read an edge within 3 %, the scope's rise time has to be 4.1 times shorter than the edge. For 5 ns that is 284 MHz. Sines are kinder. A single pole reads a sine 3 % low at 0.25 of its bandwidth, so a 1 MHz sine needs only 4.0 MHz.
Our take: multiply the fastest sine you care about by 4, or divide 0.35 by the fastest edge and multiply by 4. If the answer is under 70 MHz, a 70 MHz four-channel scope is enough.
Sample rate: read it with every channel on
A digital scope draws its trace from samples. The headline rate is usually for one channel. The DHO804 samples one channel at 1.25 GSa/s, two at 625 MSa/s each and four at 312.5 MSa/s each (RIGOL).
On a 5 ns edge, the fastest this scope can show, one channel puts a sample every 0.8 ns: 6.3 points on the edge. With four channels on, the spacing is 3.2 ns and the edge gets 1.6 points. A sine at the 70 MHz limit gets 17.9 samples a cycle on one channel and 4.5 on four.
The scope fills the gaps by interpolation, so the trace still looks smooth. What you lose is the detail inside the edge: ringing, a glitch, a step.
Our take: for fast work, put the signal you care about on a channel of its own and switch the others off.
Memory depth: how long the scope can look at full speed
Memory sets how long a record lasts at a given sample rate: depth ÷ rate. The DHO804 holds 20 ms at full speed on one channel and 16 ms with all four on. The SDS804X HD's 50 Mpts at 2 GSa/s holds 25 ms. A scope with a 10 kpts record, our example of a small one, holds 10 µs at 1 GSa/s.
Now capture 1 s, say a board powering up while it sends a burst of 9600 baud serial data. To fit 1 s, the DHO804 with four channels drops to 5 MSa/s, still 521 samples per 104 µs bit. The 10 kpts record drops to 10 kSa/s: 1.04 samples per bit. The data is there; you cannot read it.
Our take: memory matters more than bandwidth for microcontroller work, where the events are slow and long. Several million points per channel is the floor.
- DHO804, 4 channels on
- 312.5 MSa/s each
- 5 ns edge on 70 MHz
- +41 %
- 12-bit step at 2 V/div
- 3.91 mV
- Arduino UNO default
- 9.6 kSa/s
8 bits or 12 bits
The converter splits the screen's height into steps: 256 for 8 bits, 4,096 for 12. Look at 20 mV of ripple on a 12 V rail with DC coupling at 2 V/div, our example. Eight divisions are 16 V, so one step is 62.5 mV at 8 bits and 3.91 mV at 12 bits. The 8-bit scope sees 0.32 of a step, so the ripple does not show. The 12-bit scope sees 5.1 steps.
An 8-bit scope can still show that ripple: switch to AC coupling and 5 mV/div, and the rail's DC is thrown away. Twelve bits matter when you need the small signal and the large one together, such as ripple on a rail, or a sensor's small change on a big offset.
Our take: both of our first two picks are 12-bit. For a first scope we would not go back to 8.
Probes and what the input does to your circuit
The DHO800's input is 1 MΩ ±1 % in parallel with 15 pF ±3 pF (RIGOL). The resistor dominates only at low frequencies. At 10.6 kHz the capacitor's reactance has already fallen to 1 MΩ; at 10 MHz it is about 1.1 kΩ, a real load on a high-impedance node such as an oscillator.
A 10X probe divides the signal by ten and raises the load ten times, and it carries the bandwidth. The PVP3150 that comes with the DHO804 is rated 150 MHz at 10X but only 35 MHz at 1X (RIGOL). Leave probes on 10X unless the signal is a few millivolts.
Our take: compensate each probe on the scope's square-wave output when you first plug it in, and use the short ground spring, not the long clip, on anything faster than a few megahertz.
Mains safety: the ground clip is earthed
On a mains-powered bench scope the probe's ground clip is joined to the BNC shell, the chassis and the earth pin of its plug. Clip it to any point that is not at earth potential and you have joined that point to earth. On a circuit tied to the 230 V mains, that is a short circuit through your probe.
Our take: if you are not sure whether a circuit is tied to the mains, treat it as if it is.
An Arduino as a scope: the honest numbers
An ATmega328P takes 13 ADC clock cycles per conversion and wants an ADC clock of 50 to 200 kHz for full 10-bit resolution (Microchip). On a 16 MHz UNO the Arduino core sets the ADC prescaler to 128: 125 kHz (Arduino). That gives at most 125 kHz ÷ 13 = 9615 samples a second, before the loop's own overhead.
Half of that, 4.8 kHz, is the most it can report at all. To see a sine's shape you want about ten samples a cycle, which stops at 962 Hz. The DHO804 samples one channel 130 thousand times faster.
Our take: build one to understand aliasing, then buy a real scope before you trust it with a fault. The Arduino projects page has the UNO basics.
How to choose, in order
- Write down your fastest edge and your fastest sine. Bandwidth = 0.35 ÷ edge × 4, or sine × 4.
- Count the signals you need at once. Two for an amplifier's input and output; four for SPI or a motor driver.
- Find the sample rate and memory with that many channels on, in the data sheet's acquisition table.
- Prefer 12 bits if you look at ripple, sensors or audio.
- Check the probes that come in the box: their bandwidth at 10X should be at least the scope's.
- Ask the seller what the warranty covers in India and who repairs it.
What we'd do: a 70 MHz four-channel 12-bit scope, a spare 10X probe, and a differential probe before the first mains job. Step up to 100 MHz or more only when an edge you care about is shorter than about 20 ns. The 100 MHz model reads edges down to 14 ns within 3 %.
Tips and checks
- Compare scopes on the all-channel sample rate and memory; both usually fall when you switch channels on.
- Use the 20 MHz bandwidth limit when you look at ripple or audio: it cuts noise you do not need to see (RIGOL).
- A trace that changes shape when you change the timebase may be an alias. A real signal stays put.
- The scope's timebase makes it a decent frequency counter: ±25 ppm on the DHO800 (RIGOL), far better than an Arduino's resonator. See how a frequency counter works.
- Test a new scope on a known signal: the probe-compensation square wave, a function generator, or the pink noise generator.
Questions people ask
How much bandwidth do I need for Arduino work?
For most of it, 70 MHz is plenty. PWM, UART, I2C and SPI at hobby speeds are slow. Bandwidth matters for the shape of fast edges, not for decoding the data.
Is a 12-bit scope worth it over 8 bits?
Yes, if you look at small signals on large ones. At 2 V/div an 8-bit step is 62.5 mV; a 12-bit one is 3.91 mV.
Why does my scope's sample rate drop?
Two reasons. Channels share the converter, so switching more on divides the rate, and slow timebases force the rate down so the record fits the memory. Both are in the acquisition table of the data sheet.
Can I measure mains with a normal probe?
No. The ground clip is earthed through the scope's plug. Use a rated differential probe, and check the scope's input category first.
Is a pocket or USB scope enough to start?
For audio and learning, often. Work out its limits the same way: sample rate per channel, memory, bits and the probe's rating, from its data sheet.
Lessons behind the numbers
- The oscilloscopeVertical, timebase and trigger, and where aliases come from.
- Oscilloscope measurementsRise time, frequency and amplitude from the screen.
- Scope probesWhy 10X, and how to compensate one.
- CAT safety ratingsWhat CAT I on a scope input does and does not allow.
- Measurement accuracyResolution against accuracy.
- Meter loadingHow an instrument changes the circuit it measures.
- Function generatorThe known signal to check a new scope against.
- ADC and DAC basicsWhere 8-bit and 12-bit step sizes come from.
- Low-pass filtersThe single pole behind 0.35 ÷ bandwidth.
- How a frequency counter worksThe other bench instrument, and timebase accuracy.
Sources and assumptions
- RIGOL, DHO800 Series Digital Oscilloscope data sheet (EN), pp. 6–8, 22 (DHO804 70 MHz / DHO814 100 MHz, rise 5 ns / 3.5 ns; 4-channel models 1.25 GSa/s one channel, 625 MSa/s two, 312.5 MSa/s all four; 25 / 10 / 5 Mpts; 12 bits; 1 MΩ ±1 % with 15 pF ±3 pF; CAT I 300 Vrms, 400 Vpk; 20 MHz bandwidth limit; timebase ±25 ppm; PVP3150 probe standard, 35 MHz at 1X and 150 MHz at 10X; three-year mainframe warranty)
- SIGLENT, SDS804X HD product page and SDS800X HD series page (siglentna.com) (70 MHz, 4 channels, 12-bit ADCs, real-time sampling up to 2 GSa/s, 50 Mpts per channel on the 70 and 100 MHz models, 120,000 wfm/s normal and 500,000 wfm/s in sequence mode, 7-inch touch screen; the per-channel sample-rate split is in its data sheet, which we did not retrieve)
- Microchip, ATmega48A/PA/88A/PA/168A/PA/328/P data sheet, DS40002061B (2020), §24.4 Prescaling and Conversion Timing, p. 249 (a normal conversion takes 13 ADC clock cycles; 50 to 200 kHz ADC clock for full 10-bit resolution)
- Arduino, ArduinoCore-avr, cores/arduino/wiring.c, init() (at F_CPU ≥ 16 MHz the core sets the ADC prescaler to 128: 16 MHz / 128 = 125 kHz)
Read on 11 October 2026. Our own choices, not taken from any source: the five picks, the 5 ns edge, the 1 MHz sine, the 3 % error target, the 20 mV ripple at 2 V/div, the 1 s capture at 9600 baud, the 10 kpts record and ten samples a cycle to show a sine. Rise times use a single-pole response and add as the root of the sum of squares; real front ends are close to this, not identical. No prices: check them with the seller on the day. The SIGLENT figures are from its product pages; its data sheet was not retrieved.