This is a guest post by Sebastian. It was originally published on indiBit.

The single most important feature of Red Pitaya for me is the Oscilloscope.

It is available in two versions –  the “normal” Oscilloscope and the Oscilloscope Pro. I have already described how to obtain the Pro and we’ll take a look in this post.


The Oscilloscope Basics

In order to work efficiently with an oscilloscope, let’s take a look at some of the key concepts:

Oscilloscope:  A meter showing the temporal profiles of DC and AC voltages in a graph.
Trigger: It defines an event from which the graph is plotted. Typically, a voltage value and the flank (rising or falling) are determined. If the measured signal achieves the set values, the signal is recorded.
Div: A subunit on the X or Y axis (a box). Typically, the values are provided in mV / div (signal deviation) on the Y axis and ms / div (sweep) are given on the X axis.
Bandwidth: The upper limit frequency (the highest frequency that can be measured).
Sampling: The number of scans performed per second (torque values = samples)

Oscilloscope Pro

The basic elements of the interface are reminiscent of a normal oscilloscope with a few additions. Unlike the simple Oscilloscope app by Red Pitaya, the elements are arranged logically here and they offer a familiar operating concept.


Apart from the actual graph, the interface is divided into the following  5 key areas / elements:

  1. Auto Scale: sets the graph automatically. By pressing this button the voltage axis and time axis are set in a way that at least one full period of the signal will fill the screen.
  2. Channels / Trigger / Measuring Tools: this menu provides setting options for inputs / outputs, trigger, auxiliary lines, and measurements.
  3. Axis Control  Panel: by pressing the horizontal+/- keys you are changing the scaling of the X axis and the selected time range that will be displayed in the graph. By pressing the vertical+/- keys you are changing the Y axis, and thus the displayed voltage ranges of the signal. In addition, the settings for the time frame, the trigger, the zero point of the X axis and sampling rate are displayed.
  4. Channel Setting Display: indicates the scale of the Y axis for all channels that are switched on.
  5. Online Status: indicates whether online values are presented and what is the current data throughput.
Hardware Settings

IN1 and IN2 are the fast inputs on Red Pitaya and are used to measure high-frequency signals. Both channels can be adjusted separately and the Oscilloscope Pro offers several options. But first, let’s have a look at the hardware:

Each input on Red Pitaya is associated with two jumpers. These jumpers have the expected input voltage at the respective channel preselected. The jumper must be set in pairs for each input!

LV: ± 1V (Low Voltage /the  signal level is in the range -1 … + 1V)

HV :HV: ± 20V (High Voltage /the  signal level is in the range -20 … + 20V)

By this the voltage that actually comes to the input of the Red Pitaya is meant, and therefore it does not necessarily reflect the original measurement signal. At the “normal” probes you can switch the division between 1:1 and 1:10, for example in my TESTEC MF 312-2 probes. With a division of 1:1, the above specified values could be measured. If you switch to the 1:10 division, however, up to 10V is possible in the LV range, and up to 200V in the HV range. The PEAKTECH TK-2502 probe has a fixed division of 1:100. This could then measure up to 2000V. But then you are already circling an area not approved for commercial insulated screwdrivers. Besides, the probe is designed only for 1500V.


Back to Oscilloscope Pro. On the right side, the channels are listed one after another. Simply click the name of a channel (not the gearwheel) to highlight it. The highlighted channel, or its representation in the graph can now be controlled with the vertical +/- keys (up / down). With the + key you reduce the division of the Y axis (V / div); if you zoom the signal, the display in the graph becomes larger. The key does exactly the opposite. The fine key switches to a smaller gradation.

The horizontal +/- keys (left / right)  change the time base  on the X axis. This is independent  from the input. If the X axis changes, all displayed curves are either stretched or compressed.

Through the gearwheel you move to the  settings of the respective channel. Again, here it applies: a gray box means it’s active. The settings and what they mean:

SHOW: Shows or hides the curve associated with the channel.
INVERT: Reflects the graph on the X axis.
Probe attenuation: (must be selected manually) The division that was set on the probe.
Vertical offset: Moves the curve up or down.
LV and HV: Must be selected according to the jumper position on each channel.

The settings of the Probe attenuation, LV and HV have no direct effect on the signal. They scale the curves and the Y axis, and only serve the purpose of a correct display. In other words: for example, if one measures 180V, you will select the probe with the division 1:10 and set the input jumper to HV. If you track these measurements in the settings, you can observe that the Oscilloscope Pro is then displaying the 180V of the measured signal, instead of the 0.9V that actually comes to the internal electronics. The Vertical offset can also be easily changed by clicking and dragging the small channel marker on the left edge of the graph.


The trigger offers different ways to create a static image. In the settings the corresponding event is defined. The parameter Source defines the source used for this purpose. With the IN1 or the IN2 the signal at the respective input is selected; with the EXT you can invoke the trigger from outside through Pin 3 on the header row E1.

The Edge defines the flank, that is whether the curve should be marked if it exceeds a value (positive flank/up arrow) or if it underruns. The Level indicates the amount of the value. Based on the figure, this would mean that the line is drawn when the voltage increases to a value of about 0.5 V. This value can be changed by simply clicking and dragging to the T in the graph.

The manner of the triggering is set in Mode. With the setting NORMAL, the curve is continuously being redrawn, so you always get the current values. This is useful for periodic signals. SINGLE draws the curve once, making it particularly well suited to identify outliers. With AUTO the Oscilloscope Pro tries to recognize the period itself and plot the graph accordingly.

With every type of triggering you have the possibility to pause the triggers by clicking STOP. By clicking RUN the triggers continue.

Measured values

In addition to the curves, the Red Pitaya also displays the measured values. You can find them in the menu in MEAS. Here you can select up to 4 measured values in total that, then provide the corresponding values.


In the field Operator you select the desired measurement and then you set withwith  Signal from which channel the value should be taken. One click on DONE shows the value in the bottom of the channel settings. You may choose among the following:

P2P: The difference between the lowest and the highest measured voltage value.
MEAN:  The calculated average of the signal.
MAX: The highest measured voltage value.
MIN: The lowest measured voltage value.
RMS: The calculated RMS (root mean square) of the signal.
DUTY CYCLE: The Signal’s duty cycle (ratio of the pulse duration and period length).
PERIOD: Displays the period length, the time length of a vibration.
FREQ: The frequency of the signal.

Auxiliary Lines

In addition to the display of measured values which outputs predefined values, there is also a possibility available to graphically identify any value. These can be activated in the CURSOR auxiliary lines menu.


Each axis can have two lines activated and be moved anywhere on the graph. They each have an indication of the absolute value and the difference between the respective pair of lines. In the Source the affiliation of both lines on the Y axis is set to an input.

Outputs (signal generator)

For me, the real highlight of Red Pitaya’s Oscilloscope Pro is the signal generator. It can be used for various types of periodic signals with a maximum amplitude of ± 1V (2V P2P) produced, and OUT1 and OUT2 spent. The maximum frequency that can be output is largely dependent on the signal form, and on the demands for the cleanliness of this form.


The output signal can be configured with the following settings:

ON: Turns the output on or off.
SHOW: Turns the display of the output in a graph on or off.
Type: The signal form to be output.
Trigger: The event to be launched at the output.
Frequency: Frequency of the output signal.
Amplitude: Amplitude of the output signal.
Offset: Moves the curve up or down.
Phase: Shifts the phase of the output signal.
Duty cycle: Duty cycle of the signal (for PWM signals).

Various waveforms are available for the output: SINE (sinus), SQUARE (rectangle), TRIANGLE (triangle), SAWU (rising sawtooth), SAWD (falling sawtooth), DC (DC) and PWM (Pulse Width Modulation). However, at very high frequencies, the waveforms are partly distorted beyond recognition. The displayed values are not correct.

While a sinusoidal signal at 8MHz looks pretty useful, we can perhaps assume that the triangular signal is quite similar to the square wave. The sawtooth is also completely useless, even at 800kHz for more undemanding requirements.

There is also a reason for the above display, namely, the OUT1 and IN2 are directly connected. As IN1 and IN2 inputs are intended for voltage measurement, naturally, there is a high resistance. The outputs OUT1 and OUT2 were designed for loads of 50Ω (see also the corresponding entry in Red Pitaya’s Wiki), so a load is missing.

The solution should now be connected parallel to a 50Ω resistor. By inserting an SMA T-connector with a matching 50Ω SMA resistance (Terminator) the necessary load is introduced into the circuit. The signal quality rises immediately, according to the signals we saw after cleaning the signals.

At the triangular signal without resistance, it is pretty visible that even square waveforms are always based on a sinusoidal wave.

Further functions and settings

The menu also features SETTINGS. The item CALIBRATION can calibrate the entire measurement system. A full calibration is somewhat complicated and should get its own. The second item, SYS INFO, shows a few information about the current system status, which is actually self-explanatory. In the current Red Pitaya, OS version 0.95-1, the FPS seems not to work, because a 0 is always displayed.


Last but not least we have MATH, one of the functions I haven’t tapped into yet. It offers the possibility of additional calculations. For example, you can multiply IN1 and IN2, or find the absolute value of an input and display it as an additional curve in the graph. The associated control panel is basically self-explanatory.

Who is Sebastian?
Sebastian is certified technician for electrical engineering with focus on process automation and power engineering. He is founder of the blog and writes about Red Pitaya and other technical things.