HOW-TO GUIDE

How to Measure a Logic Signal With an Oscilloscope Probe

A logic analyzer tells you whether a line is a 1 or a 0. An oscilloscope tells you why it is, or why it sometimes is not. To measure a logic signal with an oscilloscope probe you set the probe to 10x with a short ground, trigger on an edge, and read the high and low levels, the timing and the edges against the logic family's thresholds. This guide walks through each step on a 3.3 V clock and data line, and covers glitches and when you need decoding instead.

By the OhmSavvy Research Team ·

Hantek DSO2D10 two-channel oscilloscope with built-in waveform generator
The Hantek DSO2D10 (100MHz, 2 channels, 1 GSa/s) is one of the scopes in our reviews. Two channels let you view a clock and a data line together. See our DSO2D10 review.

Safety: the probe ground is mains earth

  • On a mains-powered bench scope, the probe's ground clip or spring is connected to mains earth. Clip it only to the circuit's ground. Touching it to a supply rail or a signal shorts that point to earth and can damage the board, the probe or the scope.
  • Most logic boards run from low-voltage supplies, but some boards share ground with a non-isolated mains supply. If you are not sure the board's ground is isolated from mains, do not connect a ground clip to it. Never float the scope by removing its earth.

Logic levels and thresholds

A logic line is not just 0 V or the supply voltage. The receiving chip treats anything above its input-high threshold (VIH) as a 1 and anything below its input-low threshold (VIL) as a 0. The band in between is undefined: a level that sits there, or an edge that lingers there, can be read either way. That is why you compare what the scope shows with the thresholds, not with the supply voltage.

Logic family (example)SupplyTypical VIH (min high)Typical VIL (max low)
5 V TTL-compatible (e.g. 74HCT)5 V2.0 V0.8 V
5 V CMOS (e.g. 74HC)5 Vabout 3.5 V (0.7 × VCC)about 1.5 V (0.3 × VCC)
3.3 V LVCMOS / LVTTL3.3 V2.0 V0.8 V
Many 3.3 V microcontrollers3.3 Voften about 2.3 V (0.7 × VDD)often about 1.0 V (0.3 × VDD)
1.8 V CMOS1.8 Vabout 1.17 V (0.65 × VCC)about 0.63 V (0.35 × VCC)

These are typical figures only. Thresholds vary by part, supply voltage and temperature, so take the real numbers from the datasheet of the chip that receives the signal. Mixed 3.3 V and 5 V systems are where this matters most: a 3.3 V output reaching only 3.3 V cannot reliably reach a 5 V CMOS input's 3.5 V threshold.

1Set up the probe: 10x, compensated, short ground

Switch the probe to 10x. On 1x, most passive probes have far less bandwidth and add more capacitance to the circuit, so edges look, and can actually become, slower. Then check probe compensation on the scope's calibration output: a miscompensated probe puts false overshoot or rounded corners on every logic edge.

For the ground, the long clip lead is fine for checking that a line toggles at all. For edges and glitches, use the short ground spring that comes with most probes and ground it right next to the pin you are probing. The long lead's inductance makes fast edges ring, and that ringing is easy to mistake for a fault. See how to connect an oscilloscope probe correctly for the basics.

2Set the channel: DC coupling, ratio and V/div

Use DC coupling, so the ground level is real. AC coupling removes the DC level and makes a logic signal float around the center line, which hides exactly what you want to read. Set the channel's probe ratio to 10x to match the probe. A good starting point is 1 V/div for 3.3 V logic and 2 V/div for 5 V logic, with the ground marker moved down so the whole swing fits on screen. Leave the bandwidth limit off for edge work.

3Trigger on a rising or falling edge

Choose edge triggering on the channel you are probing, pick the slope you care about, and set the trigger level near the middle of the logic swing, about 1.65 V for 3.3 V logic or 2.5 V for 5 V. A level near the middle ignores small noise on the high and low levels. For a clock, Auto mode is fine. For a line that only changes now and then, such as a chip select or a reset, use Normal or Single mode so the scope waits for the edge. See how to trigger an oscilloscope and triggering on a falling edge.

  1. 01

    Probe

    10x, compensated, ground spring

  2. 02

    Channel

    DC coupling, ratio 10x, 1 V/div

  3. 03

    Trigger

    Edge, level at mid-swing

  4. 04

    Measure

    Levels, timing, edges

  5. 05

    Decode

    Serial decode or logic analyzer

The workflow for any logic line. Steps 1 to 4 cover most debugging; decoding is only needed when you must read the data itself.

4Read the high and low levels

With a stable trace, read the low level against the ground marker and the high level against the graticule or a pair of voltage cursors. A healthy push-pull output normally sits close to ground when low and close to its supply when high.

T3.3 Vperiod 5 div = 1 µsCH1 1 V/div DC200 ns/div
A 3.3 V, 1 MHz clock at 1 V/div and 200 ns/div, ground marker 2 divisions below center. The high level is 3.3 divisions (3.3 V) above ground and one period spans 5 divisions = 1 µs. The dashed line is the trigger level at 1.65 V.

If the levels look wrong, the shape of the problem usually points to the cause:

What you seeLikely causeWhat to do
Every reading 10x too high or lowProbe and channel ratio do not matchSet both to 10x
High level well below the supplyHeavy load, weak pull-up, or output fighting another driverCheck the load and pull-up value; look for two outputs on one line
Level parked between VIL and VIHFloating input or bus contentionCheck for a missing pull-up or pull-down
Slow, curved rising edges onlyOpen-drain line with pull-up and bus capacitance (e.g. I2C)Normal to a point; a smaller pull-up speeds it up
Ringing on every edgeLong ground lead, or real ringingUse the ground spring, then re-check

5Compare a clock and a data line

Most logic faults are timing faults, so put the clock on one channel and a data line on another, trigger on the clock, and check that the data is stable when the receiver samples it. Give each trace its own ground marker so they do not overlap.

TCH2 data500 nsCH1 + CH2 1 V/div200 ns/div
CH1 (green, bottom): the 1 MHz clock, ground 3.5 divisions below center. CH2 (blue, top): a data line that changes on the clock's falling edge. At 200 ns/div, the data settles 2.5 divisions = 500 ns before the next rising clock edge samples it.

Compare that margin with the receiving chip's setup and hold times in its datasheet. When the gap is only a few nanoseconds, measure between the 50% points of the two edges, as described in how to measure propagation delay.

6Check the rise and fall time

Zoom in on one edge and measure from 10% to 90% of the swing, either with cursors or the scope's automatic rise-time measurement. The scope has its own rise time, roughly 0.35 ÷ bandwidth, and the displayed rise time is approximately the square root of the sum of the squares of the signal's and the scope's. If the edge is at least five times slower than the scope, the reading is only about 2% slow.

Rule of thumb

Scope rise time ≈ 0.35 ÷ bandwidth. Trust a rise-time reading when the edge is at least five times slower than that.
Scope bandwidthScope rise time (0.35 ÷ BW)Edges it measures well (5x slower)
200kHz1.75 µs8.75 µs or slower
50MHz7 ns35 ns or slower
100MHz3.5 ns17.5 ns or slower

Modern logic outputs can switch in a few nanoseconds, so a 50–100MHz scope often shows the edge slower than it is. That is fine for checking that an edge is clean, but treat the number as an upper limit. Cursor technique is covered in how to measure rise time with cursors, and edge overshoot in measuring overshoot and ringing.

7Find glitches

A glitch is a short pulse that should not be there, or a runt: a pulse that starts to switch but never crosses the opposite threshold. Both can make a receiver count an extra edge. Because they are rare, a normally triggered trace often hides them.

  • Use persistence. Trigger on the normal edge and let the display accumulate; rare pulses stand out against the regular trace. See persistence for intermittent glitches.
  • Use a pulse-width or runt trigger if your scope has one. Set it to fire on pulses narrower than the shortest legitimate pulse. Check your manual for which advanced triggers your model offers.
  • Watch the sample rate. On long timebases the scope samples more slowly and can step over a glitch narrower than its sample interval. Many scopes offer a peak-detect acquisition mode for this.
  • Look at quiet lines too. Spikes on a line that is not switching often come from crosstalk or ground bounce.

When you need decoding instead

An oscilloscope shows voltages, not bytes. For a slow UART line you can count bits by hand, but for I2C, SPI or anything long, you need decoding. Many scopes offer serial protocol decoding, sometimes as a paid or licensed option, and it varies by model, so check the manual before you rely on it. A logic analyzer is the other route: it records many lines as 1s and 0s for a long time and decodes protocols in software, but it does not show the analogue problems in this guide. The usual workflow is to decode with whichever tool you have, then switch to the scope probe when a bit looks wrong.

Which scope you need for logic work

Two channels is the practical minimum, because most logic questions compare one line with another, and four channels help with buses such as SPI. A 50MHz scope handles microcontroller GPIO and slow serial buses; 100MHz shows faster edges more faithfully. Compare models in our best beginner oscilloscopes roundup, or see the best oscilloscope for Arduino projects.

Bench scopes in our reviews

Rigol DS1054Z four-channel benchtop digital oscilloscope
Rigol DS1054Z

50MHz, 4 channels, 1 GSa/s; the default beginner recommendation for years.

Siglent SDS1104X-E four-channel benchtop digital oscilloscope
Siglent SDS1104X-E

100MHz, 4 channels, 1 GSa/s; more bandwidth than the Rigol, for projects that will get more demanding.

Hantek DSO2D10 two-channel oscilloscope with built-in waveform generator
Hantek DSO2D10

100MHz, 2 channels, 1 GSa/s; an oscilloscope and waveform generator in one unit.

As an Amazon Associate I earn from qualifying purchases. Prices and availability are shown on Amazon.

Frequently asked questions

Can I use a 1x probe on a logic signal?

You can see that the line toggles, but the edges will look slower and more rounded than they really are, because many probes have far less bandwidth on their 1x setting. The 1x setting also loads the circuit with more capacitance, which can slow the real edge too. For anything involving timing or edge quality, switch the probe and the channel to 10x.

Why does my 3.3 V logic signal read 33 V on the oscilloscope?

The probe is set to 10x but the scope channel is set to 1x, so every reading is ten times too high. Set the channel's probe ratio to match the switch on the probe body. If the reading is ten times too low, the mismatch is the other way round. Some probes report their ratio to the scope automatically, but most basic ones do not.

Is an oscilloscope better than a logic analyzer?

They answer different questions. A logic analyzer captures many channels for a long time and shows each as a clean 1 or 0, which is ideal for following a protocol. An oscilloscope shows the real voltage on a few channels, which is what you need to find slow edges, ringing, bad levels and glitches. Many people debug with both.

What voltage counts as high on a 5 V logic signal?

It depends on the logic family of the receiving chip. TTL-compatible inputs typically accept about 2 V and above as high, while standard 5 V CMOS inputs typically need about 70% of the supply, roughly 3.5 V. The exact limits are in the receiving chip's datasheet, listed as VIH and VIL.

Can I check a logic signal with a multimeter instead of a scope?

Only for static levels. On DC volts a multimeter shows a steady high or low correctly, but on a toggling line it shows something close to the average, roughly the supply times the duty cycle, so a 3.3 V clock at 50% reads near 1.65 V. It cannot show edges, ringing, glitches or timing, which is why the scope is the tool for anything that switches.

Where to go next

More oscilloscope guides and reviews

Product reviews

View all 4 reviews →