Skip to Main Content

Introduction


While individual oscilloscope instruments (hardware and software) may differ in look and feel, they do have a common set of functions and controls. Generally speaking, if you can use one, you can use another one. For convenience therefore in this article we will use the Proteus oscilloscope on schematic with a signal generator to to produce waveforms. This will let us discuss channel configuration, voltage and time scales, triggering and measurement in the context of a running simulation.

By necessity this article is long ; there is a lot to material to cover (scopes are complex instruments!). Those with some knowledge of Oscilloscopes may prefer to browse the article breakdown on the sidebar navigation and click through to navigate to areas of particular interest.

? Everything discussed below can be tried with the Proteus Demonstration Version, freely downloadable on our website. While there are enough pictures to simply follow along the article content, it's likely to be more informative if you experiment on the schematic as you progress.

Simple Schematic Setup


The setup in Proteus is simply to place a signal generator and an oscilloscope and wire up to channel A. You'll find both instruments in the parts bin when you select the virtual instruments icon.

Signal Generator wired to Oscilloscope in Proteus.

Once you press play to start the simulation, you will see two popup windows appear; one for the function generator and one for the oscilloscope (if no popup windows appear, then while the simulation is running click on the “Debug” tab and ensure that the function generator and oscilloscope are activated in this menu). Note that these windows can be repositioned and resized.

Setup the function generator so that it is generating a 10Hz sine wave, with a 10V output. The image below can be used to confirm the function generator settings. It is not important to match the oscilloscope settings at this point. This will be covered in detail below.

Signal Generator and Oscilloscope during a running simulation.

Basic Oscilloscope Settings


Reference the annotated picture below to adjust various settings on the scope popup.

Scope Popup with Annotations for different features.
  1. Enabling/Disabling Channels.
  2. Disabling and enabling channels on the virtual oscilloscope can be done using the vertical toggle switch available for each channel. To simplify the oscilloscope setup, turn off all the channels besides Channel A.

  3. Vertical Offset.
  4. Using the vertical offset wheel, adjust the offset to be zero. The vertical offset wheels determine where the channel signals will be displayed on the y-axis, allowing them to either be stacked one-on-top-of-the-other or overlaid. When comparing multiple signals, setting all the channels vertical offsets to zero allows easier voltage level comparison.

  5. Adjusting the Voltage Scale.
  6. Set the voltage amplitude to 1V/Div on the voltage amplitude knob. This is the y-axis 'zoom' and allows the displayed signal to be visually large enough to analyse. Please note that you can also simply type the required value in below each knob. Note that the outer knob is for large adjustments, while the inner knob can be used for finer adjustments. Counting the number of grid blocks from peak to peak, you should get 10, which is correct with a 10V signal where each vertical grid block is 1V (1V/Div).

Basic Triggering


Reference the annotated picture below to configure triggering on the scope popup.

Scope Popup with Annotations for triggering configuration.

Using the Trigger Source toggle switch (annotation 1 in the image above), ensure the trigger is set to Channel A. This makes the oscilloscope aware that we are analysing a signal on that channel. You may have noticed, if this was not set to channel A, that it appeared as if the signal on the oscilloscope display was 'moving'.

Using Auto mode (annotation 6) in the trigger section will automatically detect the waveform’s rising or falling edge depending on whether rising edge or falling edge is set (annotation 2). This can be seen on the screen as a vertical grey line (annotation 3) and will be referenced as the starting time of 0s. This point will be determined using the trigger level (annotation 7), where 0 is equivalent to 0V and is displayed as the horizontal grey line (annotation 8) while adjusting the trigger level. If you cannot see the vertical line displaying the triggered rising/falling edge, the horizontal scroll bar (annotation 4) can be used to find this point in time.

Using the time adjustment knob (annotation 5) you can scale the signal to fit the display area. Setting this to 10ms/Div will work well for the 10Hz signal. One 'cycle' should span approximately 10 grid blocks (100ms at 10ms/Div). Additionally, in the horizontal section, you will see a Source toggle. The default (orange) setting will plot all the channels as a function of voltage vs time. This is the most common use case. The other options will be discussed later in the article.

? That completes basic setup. Updating the settings of a signal generator will show the changes in real-time. For example, if you update the frequency of the sine wave on Channel A to 20Hz, and the output voltage to 12V, you will notice these changes on the Virtual Oscilloscope display with an increased number of complete sine waves displayed and the increased amplitude of the sine wave.

Cursor Measurement


To show the cursor functionality, we'll change the function generator output to a square wave. This can be done by clicking the Waveform button on the function generator until the square wave is highlighted.

To use the cursors available with the Proteus oscilloscope, simply click on the cursor button (in the trigger section of the scope GUI). Moving your mouse cursor over the graph will now display both a vertical and horizontal line to accurately place cursors at any points of interest. Left-clicking will place a cursor as seen below.

In this case we have placed 3 cursors. The first one at the first rising edge (0s due to the trigger), the second one at the next rising edge, and the final one on the second falling edge. These cursors allow us to identify the period of 100ms, which is a frequency of 10Hz (as expected), as well as the duty cycle of the square wave. The duty cycle can be seen by determining the period a signal is high compared to the entire signal period, which is 50ms in this case, resulting in a duty cycle of 50%. Additionally, we can see the peak-to-peak voltage is 10V, centred around 0V.

Scope Popup with cursors for signal measurement.

? As well as left click placement of cursors you can drag cursors by holding left mouse down and dragging to a release point. This can be be useful for amplitude or period measurement, dragging from one edge of interest across or down to another.

Horizontal Zoom


The last setting is in the time (horizontal) settings section and deals with zooming in and out of the signal in terms of the x-axis. In this section a 'Zoom' wheel can be seen. This wheel can be used to zoom, horizontally, in and out of a captured signal. It is important to note however, that if this wheel is not on 100% zoom, that the ms/Div will no longer be accurate to one grid block. For example, in the image below, the zoom has been changed to 50% (zoomed out), and therefore, each grid block is now equivalent to 20ms, instead of 10ms.

Scope Popup with Horizontal Zoom applied at 50%.

To use the cursors available with the Proteus oscilloscope, simply click on the cursor button (in the trigger section of the scope GUI). Moving your mouse cursor over the graph will now display both a vertical and horizontal line to accurately place cursors at any points of interest. Left-clicking will place a cursor as seen below.

Multi Channel Schematic Setup


To demonstrate advanced features, we’ll use a schematic that consists of three function generators and a single oscilloscope. Connect one function generator to Channel A, one to Channel B, and the last one to Channel C. This setup is shown below.

Multi Channel Schematic Setup.

Now, when you press play to begin your simulation you will see multiple popup windows appear; one for each function generator and one for the oscilloscope. If you don't get popup windows then click on the 'Debug' tab while the simulation is running to open them.

Setup the function generators so that all three are generating a 10Hz signal, with a 10V output. Generate a sine wave for Channel A, square wave for Channel B and a triangle wave for Channel C. The image below can be used to confirm the function generator settings.

Three Function Generators configured as above.

Enable All Channels


In the oscilloscope window, enable Channels A, B, and C using the vertical toggle switches by setting them to DC. AC and DC coupling setting are covered in more detail below in the trigger section (setting this toggle to AC instead of DC will remove any DC offset present in the signal).

When multiple signals are being compared, it is useful to ensure that all the channels are configured with the same settings. In this case, each channel has the vertical offset set to 0 with the voltage scale set to 1V/Div. This allows you to visually compare the amplitude of signals, but also to determine if the signal has any DC offset compared to other overlayed signals.

Once again, we will be setting the time scale to 10ms/Div in order to view the 10Hz signals that are being displayed.

AC & DC Coupling


The Proteus Virtual Oscilloscope allows you to trigger using either DC or AC coupling. This is achieved by selecting AC or DC in the 'Trigger' section of the Virtual Oscilloscope. The DC coupling setting will trigger on a signal based on the expected voltage of the waveform at that period of time.

For example, if you have 2V peak-to-peak sine wave with a 5V DC offset, setting the trigger to anywhere between 4V to 6V would be correct. However, if you select AC coupling, this will remove any DC offsets present in the signal, meaning that a trigger value between -1V and 1V would be correct. This can be seen in the test jig example image below where the trigger level is below the signal for the DC coupling setting when the trigger is at 0, while the trigger level is in the centre of the signal for the AC coupling setting when the trigger is at 0. The 'Source' in the 'Trigger' section must be set to the channel in question for this to work correctly.

The One-Shot Mode section below will discuss the importance of ensuring that the trigger level intersects the signal that you wish to plot, otherwise the signal will not be displayed on the oscilloscope screen. However, this is not the case when the trigger mode is set to 'Auto' which will display the signal regardless of the trigger being set to either AC or DC coupling.

Oscilloscope with DC coupling set.

? Note that even though the signal will be displayed in 'Auto' mode regardless of the trigger level, you will need to adjust the trigger level to the desired voltage if you want the vertical trigger line (time = 0s) to be at a specific point, for example the peak, trough, or centre voltage of a sine wave.

One Shot Mode


If the trigger is set to Auto, the oscilloscope will automatically attempt to graph any waveforms, while using the trigger level to determine the starting point (time = 0s) based on the first rising or falling edge (depending on which one is selected in the Trigger section). However, if you activate One-Shot mode (found just below Auto mode), you will need to adjust the trigger level to trigger at a voltage of your choice. The trigger level can be seen as a horizontal line when adjusting the level. If One-Shot is active and the trigger level is above or below the signal (the signal never crosses the trigger level) then the signal will not be displayed on the oscilloscope screen. This can be seen in the image below.

One shot mode failing to trigger.

Shifting the trigger level down to a point where it intersects the signal will trigger the graphing process as soon as it intersects with a waveform on the selected source channel. In this case the peak of the sine wave on Channel A. This can be seen in the image below.

One shot mode triggered.

? It is important to note that the Auto setting will display real-time changes to the signal, while One-Shot will only record the events around the first trigger event detected. This is particularly useful when you want to isolate a certain signal occurrence, for example, the first few bits in a UART communication scheme.

Inverting a Signal


In order to show the inversion of a signal, Channel C will be turned off to remove clutter. Clicking the “INV” setting (annotation 1 in the image below) for Channel A will result in the signal being inverted. This can be seen in the image below, whereas previously the peaks of the signals for Channel A and Channel B matched, they are now opposite due to Channel A being inverted. A common use case for inverting a signal will be looked at in the Differential Measurements section of this article.

Inverting a Signal with Proteus Scope.

Summing Channels


In order to visualise the sum functionality of the oscilloscope, the waveform on Channel B has been changed to a sine signal to match the signal on Channel A. By clicking the 'A+B' button available just below the “INV” button, we can see the result of summing the signals on Channel A and Channel B. This is shown in the image below where the max amplitude of the wave is now 10V instead of 5V. Channel C has also been turned on as a reference.

Summing Channels with Proteus Scope.

Changing the Horizontal Source


The basic functionality of an oscilloscope allows you to plot the voltage of a waveform versus time. This is achieved by using the orange waveform 'Source' setting in the Horizontal section of the Proteus Virtual Oscillocope. However, it is also possible to plot each waveform as a function of another using the oscilloscope. For example, if the source is changed to Channel A, all other channels will be graphed as a function of Channel A. In other words, instead of time on the x-axis, it will now be the waveform on Channel A. This functionality is typically used when plotting the phase difference of a signal, or when plotting I-V curves.

Differential Measurements


By combining the invert and summing functionality, that was discussed above, you can analyse the voltage difference between two points in a circuit. This is especially useful when the component under test is not referenced to ground, making a direct single-channel measurement less meaningful.

For example, consider a simple circuit consisting of three resistors, an LED, and a pulse generator (shown below). The pulse generator is generating a 5V pulse at 1Hz with a 50% duty cycle.

In order to measure the voltage drop across resistor R3, connect Channel A to the node before R3 and Channel B to the node after R3. By enabling the oscilloscope’s math function to display A + (-B) – achieved by inverting Channel B and then using the A+B setting in the Channel A section – you effectively display the voltage difference across R3. This differential measurement technique reveals the true voltage drop, shown in this case as 1.4V using the oscilloscope’s cursor function.

Differential Measurements with Proteus Scope.

Live Probing


So far we have shown how the Virtual Oscilloscope can be hardwired to nodes in your schematic. Alternatively, it is possible to place probes at any node on your schematic to reduce clutter and extra wiring. This can be done by using the “+” symbol next to each channel heading. Once you have clicked on the “+” symbol, the oscilloscope will be minimised and your mouser cursor will display a probe. Simply click on a node to place the probe. The image below demonstrates how these probes can be placed instead of needing to hardwire the connections.

Live Probing with Proteus Scope.

Summary


The advanced features of an oscilloscope, from multi-channel analysis to differential measurements, provide powerful tools for debugging and optimizing electronic circuits. By mastering these techniques, you can analyse complex signal interactions and measure critical parameters in a simulated environment, streamlining your design process.

? The next article in the series builds on the knowledge gained here and provides use scenarios in various electronic designs.

All content Copyright Labcenter Electronics Ltd. 2025. Please acknowledge Labcenter copyright on any translation and provide a link to the source content on www.labcenter.com with any usage.

Advanced Simulation

Learn more about our built in graphing and advanced simulation features. Harness the mixed-mode simulation engine in Proteus to quickly test your analogue or digital circuitry directly on the schematic.

Ask an Expert Icon Ask An Expert

Have a Question? Ask one of Labcenters' expert technical team directly.

Find the right package for you

Product Wizard Try Proteus