COMPARISON · OSCILLOSCOPES

Rigol DS1054Z vs Hantek DSO5102P for Arduino

Rigol DS1054Z vs Hantek DSO5102P for Arduino work comes down to how many pins you need to watch at once. The Rigol has four inputs at 50 MHz; the Hantek has two at 100 MHz, with built-in math, FFT, 32 automatic measurements and a pulse-width trigger, but a short record length. Arduino signals are slow enough for either scope's bandwidth, so inputs and memory decide this one more than megahertz.

By the OhmSavvy Research Team ·

Disclosure: OhmSavvy earns a commission from qualifying Amazon purchases made through these links, at no extra cost to you. How we're funded.

Rigol DS1054Z four-channel oscilloscope, front panel
Best OverallHands-on Tested

Rigol DS1054Z

4.8★★★★★

The default beginner oscilloscope recommendation for years, and still worth it.

Hantek DSO5102P two-channel 100 MHz digital storage oscilloscope, front panel
Best Basic 100MHz Bench

Hantek DSO5102P

4.2★★★★☆

A plain two-channel, 100 MHz mains benchtop with a 7-inch screen, for straightforward bench measurements.

Specs side by side

Rigol DS1054ZHantek DSO5102P
Rating4.8★★★★★4.2★★★★☆
Bandwidth50MHz100MHz
Channels42
Sample rate1 GSa/s1 GSa/s (real-time)
Best forHobbyists, students, general electronicsBasic two-channel bench work on mains power
Sample rate, all channels on250 MSa/s per channel (3–4 channels)Per-channel figure not stated in our data
Display7-inch, 800 × 4807-inch, 800 × 480
Record length12 Mpts standard, 24 Mpts optional (Rigol sources differ)24K (datasheet) or 40K (product page)
Serial decodingParallel, RS232/UART, I2C, SPI; listed as an optionNone listed
OhmSavvy assessmentHands-on Tested badgeDesk research from Hantek's specs

Specs checked against manufacturer documentation and official Amazon listings. Rigol DS1054Z is hands-on tested by OhmSavvy; the Hantek DSO5102P assessment is desk research. How we research.

Key differences

  • →Inputs: four on the DS1054Z, two on the DSO5102P. For SPI and multi-pin timing, this is the deciding spec.
  • →Bandwidth: 100 MHz on the Hantek against 50 MHz on the Rigol. Both are far above what a 16 MHz Arduino Uno produces.
  • →Both quote 1 GSa/s. Rigol's figure is for one channel and falls to 250 MSa/s per channel with three or four on; Hantek quotes 1 GSa/s real-time without a per-channel breakdown in our data.
  • →Hantek lists a record length of 24K points in its datasheet and 40K on its product page; the sources disagree, and either is short for long bus captures. Rigol lists millions of points for the DS1054Z, though its own sources differ too: 12 Mpts standard with 24 Mpts optional on the product page, 24 Mpts in the 2020 datasheet.
  • →Rigol's DS1000Z datasheet lists parallel, RS232/UART, I2C and SPI decoding, and its product page describes bus trigger and decode as an option for the series.
  • →Hantek lists edge, pulse-width, video, slope and overtime triggers, math, FFT, 32 automatic measurements and pass/fail testing, but no serial decoding, generator or logic channels.
  • →The DS1054Z carries our Hands-on Tested badge and a 4.8 OhmSavvy rating; the DSO5102P is rated 4.2 from desk research.

Spec by spec

Each maker's published figures, charted. Where a figure is missing from one side, it is left out rather than estimated.

Hantek DSO5102P
100 MHz
Rigol DS1054Z
50 MHz
Rated bandwidth at the −3 dB point: the DSO5102P doubles the DS1054Z.
Rigol DS1054Z
4 inputs
Hantek DSO5102P
2 inputs
SPI bus (SCK, MOSI, MISO, CS)
4 wires
I2C bus (SDA, SCL)
2 wires
Analog inputs, against the number of wires on common Arduino buses.
DS1054Z, 1 channel
1 GSa/s
DS1054Z, 3–4 channels
250 MSa/s
DSO5102P
1 GSa/s
Peak sample rate. Rigol gives 1 GSa/s for one channel and 250 MSa/s each with three or four; Hantek quotes 1 GSa/s real-time.
DSO5102P, 24K pts at 1 GSa/s
24 µs
DSO5102P, 40K pts at 1 GSa/s
40 µs
One I2C byte + ACK at 400 kHz
22.5 µs
One UART byte at 9600 baud
1,042 µs

Bars use a logarithmic scale: each step is ten times the last.

Log scale, in microseconds: how long the DSO5102P's record lasts at 1 GSa/s, against the length of one Arduino byte on common buses.

The last chart explains why record length matters more on an Arduino bench than the bandwidth headline. To show a whole 9600-baud UART byte, the Hantek has to slow its sampling well below 1 GSa/s, and to show a 20-byte message (about 21 ms) its 24K to 40K points work out to roughly 1.1 to 1.9 MSa/s. That is still over a hundred samples per UART bit, so slow serial is fine; the squeeze comes with long bursts of fast SPI. Rigol lists 12 Mpts standard for the DS1054Z on its product page (24 Mpts as an option; the 2020 datasheet says 24 Mpts), hundreds of times the Hantek's record, so it can hold that 21 ms message at well over 100 MSa/s. Background on these figures: what GSa/s means and what oscilloscope bandwidth is.

For Arduino projects: which pins each scope can show you

A classic Arduino Uno runs from a 16 MHz clock, and the signals on its header are slower still. By the usual rule of buying three to five times the signal frequency, the DS1054Z is comfortable up to roughly 10 to 17 MHz and the DSO5102P up to roughly 20 to 33 MHz. Square-wave edges carry harmonics well above the fundamental, so faster is never wasted, but typical Arduino buses fit inside both scopes' range:

Arduino signalTypical speedDS1054ZDSO5102P
analogWrite PWM on an Unoabout 490 Hz (980 Hz on pins 5 and 6)Yes; up to 4 outputs at onceYes; 2 at once, with automatic duty-cycle readings
UART / Serial9600 to 115200 baudTX, RX and a trigger pin togetherTX and RX together
I2C sensors and displays100 kHz or 400 kHzSDA, SCL plus an interrupt pinSDA and SCL: exactly two inputs
SPI (SD cards, TFTs, radios)Up to 8 MHz on an UnoAll four lines in one captureTwo lines per capture
Faster 32-bit boardsClocks and SPI can reach tens of MHzNear or past its comfortable ceilingMore headroom at 100 MHz

Rigol DS1054Z: the multi-pin view

Most Arduino bugs are timing bugs between pins: a chip select that rises one clock too early, a stepper driver that misses steps because direction changes too close to a step pulse, an interrupt that fires before the sensor has finished its I2C reply. Seeing those means seeing three or four pins in one capture, and that is what the DS1054Z is for. With all four inputs on it still samples each at 250 MSa/s, which is over 30 samples per cycle of an 8 MHz SPI clock. Its limits for Arduino work are the menus, which take time to learn, and the 50 MHz ceiling, which only starts to matter if you move to much faster boards. More in our DS1054Z review.

Hantek DSO5102P: two pins, measured for you

The DSO5102P suits sketches where two pins tell the whole story. I2C needs exactly two inputs, and a UART link needs at most two. Its 32 automatic measurements save cursor work when you are tuning PWM frequency and duty cycle, the pulse-width trigger can wait for a pulse shorter or longer than you expect (a handy way to catch a missed servo pulse), and FFT shows noise from a motor or a switching regulator on an analog input. What it can't do is show SPI's four lines together, decode any bus into bytes, or keep a high sample rate across a long transaction, given its 24K to 40K point record.

SDASCL / SDA
Two inputs on an I2C bus: SCL as a steady clock (green), SDA changing between clock pulses (blue). A sketch of the idea, not a capture.
TGlitch on a PWM pin
A short glitch on a PWM line: the kind of event a pulse-width trigger is built to catch. A sketch of the idea, not a capture.

Count wires before megahertz

For Arduino work, write down the bus or pins you'll probe most. If the answer is SPI, several stepper or motor-driver lines, or anything plus a trigger pin, four inputs win. If it is I2C, serial or a single PWM output, two inputs are enough and the Hantek's measurements earn their keep. Our Arduino oscilloscope guide covers other options.

Relay modules and mains

The DSO5102P runs from mains, and on any earthed bench scope the probe ground clip is normally connected to mains earth. That is harmless on a USB-powered Arduino, but never clip it onto the AC side of a relay module or a non-isolated power supply. Use a differential probe or isolation rated for mains if you must measure there.

Which should you buy?

Your Arduino workPickWhy, from the specs
SD cards, TFT screens or radios over SPIRigol DS1054ZFour inputs cover SCK, MOSI, MISO and CS
Stepper and motor-driver timingRigol DS1054ZStep, direction and enable on one screen
I2C sensors and OLED displaysEitherBoth cover SDA and SCL; only Rigol lists I2C decoding (an option per its product page)
Tuning PWM for LEDs, servos or motorsHantek DSO5102PAutomatic measurements and a pulse-width trigger
Long serial or SPI transactions at a high sample rateRigol DS1054ZHantek's record is only 24K–40K points
Learning to use a scope for the first timeRigol DS1054ZHands-on Tested badge and a large user community
Moving to fast 32-bit boardsHantek DSO5102P100 MHz leaves more headroom than 50 MHz

The DSO5102P has no full OhmSavvy review yet; it sits in our beginner oscilloscope roundup. If you are still deciding what matters, start with the oscilloscope buying guide.

More scope comparisons

Choose the Rigol DS1054Z if…

  • ✓Your sketches use SPI, or you want to see a sensor's clock, data and chip-select pins in one capture
  • ✓You debug timing between several pins, such as a stepper driver's step, direction and enable lines
  • ✓You want the pick in this pair that carries our Hands-on Tested badge
  • ✓You'd like strong community support and documentation to lean on while you learn

Choose the Hantek DSO5102P if…

  • ✓Two pins at a time covers you: I2C's SDA and SCL, a UART's TX and RX, or one PWM output and its load
  • ✓You want automatic measurements for PWM frequency and duty cycle, plus math and FFT
  • ✓You move on to faster 32-bit boards and want bandwidth headroom for their clocks
  • ✓You buy it clearly cheaper than the DS1054Z on the day

The bottom line

For most Arduino benches the Rigol DS1054Z is the better buy: four inputs show SPI and multi-pin timing in one capture, 50 MHz is ample for an Uno, and it carries our Hands-on Tested badge. The Hantek DSO5102P makes sense if your projects are mostly I2C, serial and PWM on two pins, you value its automatic measurements and pulse-width trigger, and it costs clearly less when you buy.

Frequently asked questions

Is 50 MHz enough for Arduino, or do I need the Hantek's 100 MHz?+

50 MHz is enough for a classic Arduino. An Uno runs at 16 MHz and its SPI clock tops out at 8 MHz, inside the DS1054Z's comfortable range of roughly 10 to 17 MHz. The DSO5102P's 100 MHz becomes useful on faster 32-bit boards whose clocks and SPI buses run at tens of megahertz.

Can either scope decode Arduino serial, I2C or SPI?+

Hantek lists no serial decoding for the DSO5102P, so you would read bits from the waveform by eye. Rigol's DS1000Z datasheet lists parallel, RS232/UART, I2C and SPI decoding for the DS1054Z, but its product page describes bus trigger and decode as an option, so check what is enabled on the unit you buy. Either way, both scopes show the raw signals, which is enough to spot wrong timing or missing pulses.

How many channels do I need to debug SPI on an Arduino?+

Four to see the whole bus: clock, MOSI, MISO and chip select. The DS1054Z can show all four in one capture. On the two-input DSO5102P you would probe two lines at a time, typically clock with one data line, and repeat the capture for the others.

Is the DSO5102P's short memory a problem for Arduino work?+

Sometimes. Hantek lists 24K points in its datasheet and 40K on its product page. That holds 24 to 40 microseconds at 1 GSa/s, so longer captures force a lower sample rate. Slow UART and PWM still look fine, but long bursts of fast SPI or I2C traffic may be under-sampled.

Which one is hands-on tested?+

The Rigol DS1054Z carries our Hands-on Tested badge. The Hantek DSO5102P assessment is desk research from Hantek's datasheet and product page, which disagree on record length, and it has no full OhmSavvy review yet. Treat its verdict here as a spec-sheet comparison.

Related

More oscilloscope guides and reviews

Product reviews

View all 4 reviews →