Oscilloscope
An oscilloscope (or “scope”) allows you to view a signal's waveform, typically in a two-dimensional graph where one or more electrical signals (on the vertical axis) are plotted as a function of time or of some other voltage (on the horizontal axis).
Most of the time, oscilloscopes are used to show events that repeat with either no change or events that change slowly.

1. Menu
See Menu in Common Interfaces.
1.1. View
2. Control

The Control toolbar allows you to stabilize repeating waveforms and capture single-shot waveforms. By default, this only shows the most important options. The down/up arrow in the top right corner shows/hides the other features.
- Single button: starts a single acquisition.
- Run/Stop button: starts a repeated, continuous acquisition, or recording (see Mode). While the acquisition is in progress, the Run button becomes the Stop button.
- Mode: The mode options select the action of the Run button and are the following:
- Repeated: the Run button starts repeated acquisitions.
- Scan Screen: scan acquisition where the sampled data is drawn from left to right. When the right corner is reached, the signal curve plot continues from the left.
- Scan Shift: similar to the screen mode, but when the signal plot reaches the right corner, the curve plot slides to the left.
- Record: allows capturing large number of samples at lower rates. In this mode, the samples are streamed through the USB, limiting the rate (depending on the system and other connected devices) at about 1M samples/sec.
Selecting the scan modes (Screen and Shift) will change the time base to be at least 1 second span, 100 ms/division. Adjusting the time base to lower than this value will change to Repeated mode.
- Buffer: The performed acquisitions are stored in the PC buffer in time order. This makes it easy to review a series of repeated acquisitions. The new acquisitions are stored after the currently selected buffer position. If you change the position in the buffer and start a new acquisition, the positions after the selected one will be lost.
- Add Tab: Saves the currently shown acquisition data to a new tab. To close a tab, click the close button at corner of the tab header. The name of the tab can be edited by double-clicking on the tab header.
- Trigger: The three trigger modes are:
- Normal: the acquisition is triggered only on the specified condition. The oscilloscope only sweeps if the input signal reaches the set trigger point.
- Auto: when the trigger condition does not appear in 2 seconds, the acquisition is started automatically. In repeated acquisition mode, when the instrument switches to auto trigger, the next acquisitions are made without waiting again to timeout while a trigger event does not occur and the configuration is not changed. When a new trigger event occurs, or the configuration is changed, the current acquisition will be finished and the next one will wait for the trigger again. It is also the best mode to use if you are looking at many signals and do not want to bother setting the trigger each time.
- None: the acquisition is started without a trigger.
- Auto Set button: performs automatic adjustment of the enabled real and mathematic channels, and trigger configuration according to the input signals. The offset and range of the real channels is determined by the minimum and maximum input levels of one second time span. The trigger is set to rising edge of the channel with the lowest frequency and higher amplitude input signal.
- Source: The trigger source selects the oscilloscope channel that is used for the trigger. Other instruments or external trigger signals can be used to trigger the oscilloscope.
- Type: The trigger type selects between edge, pulse, and transition.
- Edge: Edge triggering is the basic and most common type. For edge triggering, the trigger level and slope controls provide the basic trigger point definition. The trigger circuit acts as a comparator. You select the slope and voltage level of one side of the comparator. When the trigger signal matches your settings, the oscilloscope generates a trigger.
The slope-condition control determines whether the trigger point is on the rising or the falling edge of a signal. A rising edge is a positive slope and a falling edge is a negative slope. The level control determines where the trigger point occurs on the edge. The following figure shows you how the trigger slope and level settings determine the waveform display.
Triggering on rising edge | Triggering on falling edge |
 |  |
-
Pulse: If the trigger type is set to Pulse, then the oscilloscope will trigger if a positive/negative pulse has a larger/smaller length than the one already set by the user. For example, if the pulse is smaller than the length set, and the triggering condition is set to more, the oscilloscope will not trigger.
The picture below shows a positive pulse trigger configured for less than 200 µs.

The picture below shows a positive pulse trigger configured for time-out at 200 µs.

The picture below shows a positive pulse trigger configured for more than 200 µs.

- Transition: The transition trigger is similar to the pulse trigger, but here the transition time of a signal is compared with the specified length. The low and high transition levels are specified by the hysteresis window.
The picture below shows a rising transitions trigger from -3V to +3V configured for less than 200 µs.

The picture below shows a rising transitions trigger from -3V to +3V configured for time-out at 200 µs.

The picture below shows a rising transitions trigger from -3V to +3V configured for more than 200 µs.

- Condition: The trigger condition for Edge and Transition type selects between rising or falling edge. For Pulse trigger, it selects between positive or negative pulse.
- Level: The trigger level is the adjustable voltage level at which the scope triggers when the trigger input crosses this value. See
Hysteresis and Type.
-
Hyst.: Using hysteresis, low and high levels are determined (the trigger level plus and minus the hysteresis value). When the signal level exceeds the high level, it is considered as high and will stay high until falling below the low level. This is used to avoid bouncing caused by signal noise and also to specify the transition trigger conditions. The Auto option uses 1% of the specified trigger channel range value.

The picture below shows how, without hysteresis, the trigger event also occurs on the falling edge of the input signal due to signal noise.

- Length Condition: The trigger length condition selects between less, time out, or more for pulse length or transition time. See Pulse and Transition trigger.
- Trigger Length: The trigger length specifies the minimal or maximal pulse length or transition time. See Pulse and Transition trigger.
- Holdoff: The trigger holdoff is an adjustable period of time during which the oscilloscope will not trigger. This feature is useful when you are triggering on complex waveform shapes, so the oscilloscope triggers only on the first eligible trigger point.
The following figure shows how the trigger holdoff helps to create a usable display.

Trigger with 10ms holdoff

Trigger without holdoff
The holdoff length should be around the maximum burst length, preferably a little bit more, but not less than this. For the above situation. the holdoff value should be around 6ms, but lengths between 6 and 15 ms are also acceptable.
- Gear menu:
- Buffers: Specifies the number of buffers.
- Filter: The trigger sample selects the sample mode that will be used by the trigger detector. This can be different from the one used for acquisition, which is why the trigger event might not be visible on the acquired data. The Auto option uses a filter based on the selected trigger source channel Sample Mode.
3. Channels
This toolbar contains the time and channel configuration groups. The toggle button in the top-left corner enables/disables the auto hiding of this toolbar.

The Add Channel button opens a drop-down with the following options:
The check-box before the group name enables or disables the respective channel. The drop-down properties button in the top-right corner allows you to configure the channel properties. The math and reference channels also have a close button.
3.1. Time Group


Use the time group to position and scale the waveform horizontally using the time base and the horizontal trigger position controls.
- Position: The horizontal position control moves the waveform left or right to exactly where you want it on the screen. It actually represents the horizontal position of the trigger in the waveform recording. Varying the horizontal trigger position allows you to capture what a signal did before a trigger event (so-called
“pre-trigger viewing”).
Digital oscilloscopes can provide pre-trigger viewing because they constantly process the input signal, whether a trigger has been received or not. Pre-trigger viewing is a valuable troubleshooting aid. For example, if a problem occurs intermittently you can trigger on the problem, record the events that led up to it, and possibly find the cause.
- Base: The time base setting (seconds/division) from the channel configuration toolbar lets you select the rate at which the waveform is drawn across the screen. This setting is a scale factor. For example, if the setting is 1 ms, each horizontal division represents 1 ms and the total screen width represents 10 ms (ten divisions). Changing the sec/div setting allows you to visualize longer or shorter time intervals of the input signal.
Average: specifies the number of acquisitions to average. This is enabled with repeated acquisition and having trigger on a scope channel.
Overs.: specifies the oversampling ration. This is enabled with repeated acquisition, having trigger on a scope channel and sample rate is at maximum device sampling rate.
In order for the Averaging and Oversampling to work requires repetitive waveform and stable triggering.
The oversampling requires external waveform source since the ones produced by the device Wavegen or Patterns are synchronous with the Scope.
Samples: adjust the number of samples to acquire.
Rate: adjusts the sample rate.
In the property drop-down, the following can be configured:
- Position as division: selects the unit of the position parameter, division, or seconds.
- Range Mode: selects the display mode for time base (per division, plus-minus, and full).
- Noise: check to acquire scope noise samples, uncheck to reduce acquisition latency.
- Darw while recording: check to draw the waveforms while recording. A high sample rate might cause sample loss.
- Update: this specifies the time period at which the application will check the oscilloscope device status and read the acquired data in repeated Acquisition Mode. Increase the time to reduce the update rate.
Digital:
- Samples: adjust the number of samples to acquire for digital channels.
- Rate: adjusts the sample rate for digital channels.
- Noise: select to acquire digital noise samples in half of the digital buffer.
3.2. Real Channels


Use the real channel (vertical controls) to position and scale the waveforms vertically using the offset and range controls for each channel.
- Offset: The offset (vertical position) control lets you move the waveform up or down to exactly where you want it on the screen. The offset is the voltage difference between the center line of the oscilloscope screen and the actual ground. This difference is generated by an internal offset voltage source.
- Range: The range (volts/division) controls determine the vertical scale of the graph drawn on the oscilloscope screen. The volts/div setting is a scale factor. For example, if the volts/div setting is 2 volts, then each of the ten vertical divisions represents 2 volts and the entire screen can show 20 volts from bottom to top. If the setting is 0.5 volts/div, the screen can display 5 volts from bottom to top, and so on. The maximum voltage you can display on the screen is the volts/div setting multiplied by the number of vertical divisions.
In the property drop-down, the following can be configured:
- Color: sets the channel waveform color.
- Offset as division: selects the unit of the offset parameter, division, or voltage.
- Noise: shows or hides the noise band (min/max values).
- Range mode: selects the display mode for the range of the channels (per division, plus-minus, and full).
- Attenuation: specifies the used probe attenuation.
- Units: lets you specify the channel units.
- Sample Mode: sets the acquisition sample mode. The oscilloscope AD converter works at a fixed frequency. Depending on the time base setting and the size of the oscilloscope buffer, the sampling frequency can be less than the AD conversion frequency. For instance, if the AD conversion frequency is 100 MHz (10 ns), the buffer size is 8000 samples and the time base is 200 µs/division, then between two samples there will be 25 AD conversions. The following filters can be applied to the extra conversions:
- Decimate: will record only the Nth AD conversion.
- Average: each sample will be calculated as the average of the AD conversions.
- Min/Max: each two samples will be calculated as the minimum and maximum value of the conversion results.
- Export: Opens export window with the respective channel data. See Export in Common Interfaces.
- Name: specifies the channel name.
- Label: specifies the channel label.
Input Coupling
Coupling is the method used to connect an electrical signal from one circuit to another. In this case, the input coupling is the connection from your test circuit to the oscilloscope.
On the Electronics Explorer board, the input coupling AC and DC are separate input connectors on the board with AC
and DC marks. On the Analog Discovery BNC Adapter jumper, select
between AC and DC coupling. DC coupling shows all of an input signal. AC coupling blocks the DC component of a signal so that you see the waveform centered at zero volts.
The following diagram illustrates this difference. The AC coupling setting is handy when the entire signal (alternating plus continuous components) is too large for the volts/div setting.
DC coupling
|
AC coupling
|
|
|
2V peak-to-peak sine wave with 2V DC component
3.3. Math Channels


The integrated mathematical functions allow you to perform a variety of mathematical calculations on the input signals of the oscilloscope. Simple and Custom math channels can be added with the “Add Channel” button from the Channels. The simple math channel can be configured to add, subtract, multiply, or divide two channels. The mathematical operations are performed by the PC, so the oscilloscope device cannot trigger on these channels. The measurement units for the math channel can be specified, for instance: A, V, W.
In the property drop-down, the following can be configured:
- Custom: check for custom mathematical function.
- See Real channels for the other options.

Custom Math Channel
The custom or simple math channel can be selected under the channel properties, as shown below.

The Custom Math Function editor can be launched with the bottommost button showing the formula.

You can type the custom function in the text box. It accepts single line or complex multiline functions where return statements should be used. The entered function can be verified with the Evaluate button and the resulting number for one sample is displayed, otherwise the error description is listed.
Click Apply to apply changes. Click OK to save the last valid function. Click Cancel to use the function saved before the editor was opened.
See Script in Common interfaces. The local variables are real, while the reference and math channels will have a smaller index, such as: C1, C2, R1, M1. In the M1 function, no other math channel can be used. In M2, the M1 can be used, while in M3, the M1 and M2 can be used.
Example functions:
- M1:
(C1-C2)/0.01
- Consider that C1 and C2 are connected to a 10 mΩ shunt resistor. M1 will show the passing current.
- M2:
M1*C2
- M2 will show the power taken by the circuit under test.
- M3:
const VFullScale = 3.3;
if(Time < 0)
return floor(Time*1000+16)*VFullScale/16
else if(Time < 0.016)
return floor(Time*1000)*VFullScale/16
else
return floor(Time*1000-16)*VFullScale/16
3.4. Reference Channels
The reference channels can be added using the “Add Channel” button from the Channel toolbar.


In the property drop-down, the following can be configured:
- Lock time: when checked, the time configuration of the reference channel follows the main configuration. When unchecked, the custom time setting is used for this channel.
- Position: lets you adjust the position of the reference waveform.
- Base: lets you adjust the scale factor of the reference waveform.
- Update: updates the reference channel with the selected channel waveform or imported data from file.
- See Real channels for the other options.
4. Main Plot

- The center of the display is marked with grid lines. Each vertical and horizontal line constitutes a major division. These are laid out in a 10-by-10 division pattern. The tick marks on the sides between major divisions are called minor divisions. The labeling on the oscilloscope controls (volts/div and sec/div) always refer to major divisions.
- On the left side of the view, the horizontal voltage grid line marks are shown for the active channel. Left-mouse dragging changes the offset and right-dragging adjusts the range of the active channel.
- The time marks of the vertical grid lines are located at the bottom. Left-mouse dragging changes the time (trigger horizontal) position and right-dragging adjusts the time base.
- On the right side of the view, left-mouse dragging changes the vertical trigger level and right-dragging adjusts the hysteresis level.
- On the top side, information about the viewed acquisition is displayed: number of samples, rate, and capture time.
- The channel list colors make channel identification easy. Left-mouse clicking the rectangle activates the channel. A right-mouse click disables/hides it.
- The status label shows the state of the oscilloscope. See Acquisition States for more information.
- The horizontal trigger position arrow can be dragged with the mouse and double-clicking resets the position to zero.
- The zero point arrows for each channel can be dragged with the mouse to change the vertical position (offset).
- The vertical trigger position arrow can be dragged with the mouse to change the trigger level. The two smaller arrows represent the low and high levels (hysteresis).
- See Plots in Common Interfaces.
- Noise band which indicates a glitch or components which have a frequency higher than the sampling frequency. See Real channels options.
4.1. Thumbnail
The Thumbnail shows the entire acquisition data highlighting the currently analyzed part.
When stopping the instrumenrts, the mouse click positions and mouse scroll resizes the visualized waveform. By clicking on the button in the top left edge, or mouse double-clicking, it will reset the time settings to show the entire acquisition.

4.2. Quick Measure
See Quick Measure in Common Interfaces.
The Quick Measure can be used in the following tree modes:
- Free: Allows measuring the distance between two mouse clicks, expressed in time and frequency. Also shows the vertical value and difference of the clicked positions.
- Vertical: It is similar to Free mode but the cursor sticks to signal transitions. The vertical measurement is performed on signal values for each channel.
- Pulse: When the mouse cursor position is in the signal view, it will place a vertical cursor along with two more horizontal ones towards the right, measuring the pulse-width, the period, the frequency, and the duty cycle. Otherwise, it will place a single vertical cursor showing the time position and the waveform's level at the intersections with the vertical cursor.

4.3. Cursors
The X and Y cursors are available for main time view. See Cursors.

The X cursor's drop-down menu contains adjustment controls for the position, reference cursor, delta x value, and remove button.

The Y cursor's drop-down menu contains adjustment controls for the channel, position, reference cursor, delta value, and remove button.

4.4. Digital Channels
The Logic Analyzer can be enabled inside the Oscilloscope interface by adding digital channels, or by enabling from the view menu.
The picture below shows the digital input and analog output of a resistor network.

5. Views
5.1. Zoom
The Zoom views are useful in analyzing a portion of the main view and comparing these segments.
The selected area is marked in the main time plot by an rectangle while the mouse cursor is above the zoom window.
5.2. XY
Using the XY view allows you to plot one channel against another. This plot could be the I-V curve of a component such as a capacitor, inductor, a diode, or a Lissajous figure showing the phase difference between two periodic waveforms. XY view is also capable of more advanced operations, such as plotting a math channel against a reference waveform.
The channels for X and Y representation can be selected on the top side and in the properties button in the top-left corner beside the other plot options.

5.3. FFT
The FFT view plots amplitude versus frequency. In other words, it shows signals in the frequency domain, as opposed to the time view, which shows signals in the time domain as amplitude versus time. It is especially useful for tracking down the cause of noise or distortion in measured signals.
This view contains a subset of Spectrum Analyzer instrument features. To have more options, use this instrument.

The FFT toolbar only shows the most important options by default. The down/up arrow in the top-right corner shows/hides the other features. This toolbar contains the following:
- Scale: Selects between Linear and Logarithmic frequency scale.
- Center/Span or Start/Stop: These options adjust the shown frequency range.
- Top: Adjusts the plot top magnitude level.
- Range: Selects the plot amplitude range.
- Units and Reference: See Spectrum Magnitude options.
- Type and Count/Weight: See Spectrum Traces options.
- Window and Beta: See Spectrum Traces options.
5.4. Spectrogram
The Spectrogram is a visual representation of the spectrum of frequencies in a sound or other signal as they vary with time. The horizontal axis represents time, the vertical axis is frequency; a third dimension indicating the amplitude of a particular frequency at a particular time is represented by the intensity or color of each point in the image.

The Spectrogram view toolbar only shows the most important options by default. The down/up arrow in the top-right corner shows/hides the other features. This toolbar contains the following:
- Source: Selects the channel for this view.
- Window: Selects the time domain window filter function. See Spectrum Magnitude options.
- Resolution: Selects the frequency resolution. Increasing this enlarges the sliding time window which reduces the horizontal resolution.
- Frequency: Selects to show the full, half, or quarter frequency range. The maximum frequency is half of the acquisition sample rate.
- Units/Reference: Selects the amplitude units. The voltage units result in linear, and dB units result in logarithmic magnitude representation. See Spectrum Magnitude options.
- Top/Range: These options adjust the amplitude mapping to color scale.
5.5. Histogram
A histogram is a graphical representation of the voltage distribution in a signal waveform. It plots the distribution of values for each voltage value, with the number of times the signal has a certain voltage value represented as a percentage.
The picture below shows the histogram view of a sine and another signal.
The Auto scale option adjusts the scale for each channel separately based on the maximum value. With manual scale, a common Top level can be specified.

5.6. Persistence
Persistence view superimposes multiple waveform acquisitions on the same view. The more frequent waveforms are drawn with hotter colors than rare ones. The view is cleared by the clear button, after making any configuration change, or restarting repeated acquisition.
This view is useful to detect glitches, or to catch a rare event in a series of repeated normal events. The areas of the view that have the highest density are red (hot), while the areas with the lowest density are blue (cold). The persistence is infinite.

5.7. Data
The Data view displays the acquisition samples and the time stamps.

The column header shows the sample index, the first column shows the time stamp, followed by the values for channels.
The selected cells can be copied and pasted to other applications.
5.8. Measurements
The Measurements view shows the list of the selected measurements.

The first column in the list shows the channel, the second shows the type, and the third shows the measurement result. See the mouse operations found in the Lists section.
Pressing the Add Default Measurement button opens the Add Measurement window. On the left side is the channel list, and on the right side is a tree view containing the measurement types in groups. Pressing the Add button here (or double-clicking an item) adds it to the measurement list.
The Show menu options allows you to create statistics out of measurements between acquisitions, which can be cleared with the Reset button.

Vertical-axis measurements for each channel:
- Maximum: the absolute largest value.
- Minimum: the absolute smallest value.
- Average: the mean value between maximum and minimum values.
- Peak2Peak: the difference between the extreme maximum and minimum values.
- High: pulse top settled value according to the histogram.
- Low: pulse bottom settled value according to the histogram.
- Middle: the middle value of the pulse between top (High) and bottom (Low) settled values.
- Amplitude: half of the difference between the pulse top (High) and bottom (Low) settled value.
- DC RMS: direct current root mean square represents the RMS applied to the entire signal, including AC and DC components.
- AC RMS: alternating current root mean square is used to characterize AC signals by subtracting out the DC, leaving only the AC signal components.
- Overshoot: = (Peak to Peak / 2 - Amplitude) / Amplitude.
- Rise Overshoot: = (Maximum - High) / Amplitude.
- Fall Overshoot: = (Minimum - Low) / Amplitude.
Horizontal-axis measurements for each channel:
- Cycles: number of full cycles in visible acquisition data.
- Frequency: frequency of the signal.
- Period: period of the signal.
- PosDuty: positive duty of the signal.
- NegDuty: negative duty of the signal.
- PosWidth: positive pulse-width of the signal.
- NegWidth: negative pulse-width of the signal.
- RiseTime: rise time of the signal.
- FallTime: fall time of the signal.
The Add/Custom Channel measurement opens a script editor with an average calculation example script. Acustom measurement involving one channel's data can be created here. This will be added to the Defined Measurement Custom category list to be used for other channels. See the predefined vertical measurements that can be opened with Edit as read-only examples.
See Script in Common interfaces. In the Locals menu, you can find Time and Channel, which are two script specific objects.
Average calculation:
// initialize a local variable
var value = 0
// loop to access each sample
Channel.data.forEach(function(sample){
// make sum of samples
value+=sample
})
// divide the sum with the number of samples to get the average
value /= Channel.data.length
// last line of code is the measurement value
Accessing other measurements, calculating peak-to-peak value:
Channel.measure("Maximum") - Channel.measure("Minimum")
The Add/Custom Global measurement opens a script editor with a phase calculation example script. Custom measurement accessing multiple channels can be created here. The Local is the instrument object called Scope.
Phase calculation:
// initialize local variables
var sum1 = 0
var sum2 = 0
var sum12 = 0
// for better performance get and use local copy of data array
var d1 = Scope.Channel1.data
var d2 = Scope.Channel2.data
var c = d1.length
for(var i = 0; i < c; i++){
sum1 += d1[i]*d1[i]
sum2 += d2[i]*d2[i]
sum12 += d1[i]*d2[i]
}
sum1 /= c
sum2 /= c
sum12 /= c
// last line of code is the measurement value
acos(sum12/sqrt(sum1*sum2))*180/PI
Accessing other measurements, calculating gain in dB:
log10(Scope.Channel1.measure("Amplitude")/Scope.Channel2.measure("Amplitude"))
The Edit opens the script editor for custom measurements. The predefined Vertical and Horizontal measurements for performance reason are hard-coded and some are shown as read-only example scripts in the editor.
5.9. Logging
See Logging in Common Interfaces.
The script allows custom saving of data, logging, or processed information. Scope is a local object. Index and Maximum are the values shown above the script.
// local variable
var ch = Scope.Channel1
// condition for saving, average measurement to be less than 5 V
if(ch.measure("Average")<5)
{
// instantiate file object for acquisition and write channel data
File("C:/temp/acq"+Index+".csv").write(ch.data)
// file file for measurements
var filem = File("C:/temp/measure.csv")
// in case file does not exists
if(!filem.exist())
{
// write (erasing earlier content) the header line
filem.writeLine("Time,Average,Peak2Peak")
}
// append line with measurement we want to save
var textm = Date()+","+ch.measure("Average")+","+ch.measure("Peak2Peak")
filem.appendLine(textm)
// increment Index
Index++
}
5.10. Audio
The audio view can play the data as sound using the default audio output of the computer.

- Start/Stop: starts or stops the audio playback.
- Channel: can be one of the real or mathematic channels.
- Speed: is the ratio between the play (output) and acquisition frequencies.
- Rate: is the playback sample frequency.
- Volume: is expressed as a percentage.
- Output: selects the audio output device.
5.11. X Cursors
The X Cursors show cursor information in table view. See Cursors.
This table shows additional information to cursor tooltips: the 1 / delta x frequency, delta y vertical difference, and delta y / delta x.

5.12. Y Cursors
The Y Cursors show cursor information in table view. See Cursors.
6. Export
See Export in Common Interfaces.