Taking Measurements in the Cloud from a Keysight Oscilloscope

Considerations for scope data cloud storage and the Initial State data platform

I am working with a Keysight MSO-X 3034T. It’s a 5 Ghz 350MHz scope with a touch screen interface. Unfortunately, it does not have a LAN port, so USB is the only way to get the data off scope. Of course, there are setups to bring the data through the USB connection via VISA Commands (SCPI), but that requires a host computer, host software, and/or custom programming on your part. For this tutorial, we’ll show the simple way of getting data from the scope to the cloud using the save-to-USB functionality common on most oscilloscopes.

Let’s set a goal to do some basic measurements in the cloud on a digital signal including peak-to-peak voltage, pulse-width, duty cycle, frequency, rise-time, and fall-time. I understand that these measurement can be done on the scope, but lets assume you have archived data to the cloud, and want to recall the data and perform these measurements. Recalling data on the scope and performing measurements after the fact is much more cumbersome than simply performing these measurement back at your desk from the comfort “of your own home”

For the digital test signal, I am just using the probe compensation output on the scope to get a nice digital clock (also labeled as a “demo” signal on my Keysight).

Acquired a few periods of a digital signal from the Demo 2 line on the oscilloscope

Get data off the scope

There are a few ways on this particular Keysight scope to get to the save menu. The easiest is to click the physical button labeled ‘Save/Recall.’ You can also access save functionality through the main menu.

Configuring the Save functionality to use the USB port and save to CSV file.


  1. Click the Save/Recall button on the scope to bring up the menu for saving data.
  2. Plug in a USB stick to the scope. This will show as a “save to..” location once detected.
  3. Choose the CSV file format. For this experiment, I want a high resolution file so I choose the “ASCII XY data (*.csv)” selection in the “Format” menu.
  4. Under “Settings” you can choose the number of points to store in a file. Choosing maximum is ok, but you can also choose something smaller. If you do, the scope will automatically decimate the data before saving to a file.
  5. Touch “Press to Save” to complete the data transfer to the USB stick.
  6. Once complete, remove the USB drive and plug it into your computer for upload to Initial State a cloud-based waveform data platform.

Upload data to the cloud

For the next part, we are going to use the waveform viewer and analysis tool in Initial State. To start a trial, head over to initialstate.com. My file contains 2MM data points, and saved to the ASCII format was over 54 MB in size. This is not problem for the data viewer in Initial State. See below for an excerpt of the file contents.

The CSV has two columns: the timebase, labeled “second,” and the amplitude, labeled “Volt.” Once uploaded, it will create new bucket in the Initial State viewer container using the scope data.

Once the waveform is loaded in Intial State you can zoom, pan, inspect, run expressions, enable cursors, share, and generally do lots of things with your new data. Let’s take some basic measurements.

Making Measurements in the Cloud

Ok it may sound a little “buzzword-y” to talk about making measurements in the cloud. However, in speaking with engineers, there is certainly an appetite for aggregating measurements in a secure and durable location (i.e. cloud & encrypted), visualizing and making measurements on this data long after the acquisition, and sharing and annotating the data for further use within the design or test cycle and for traceability. These are just some of the things available with the Initial State platform. Let’s take some measurements.

Initial State has a number of ways to inspect data. “Tiles” lets you create a dashboard out of your charts and measurements. It includes things like lines graphs, bar graphs, singular summary numbers, and even emojis :). “Waves” is a stacked waveform viewer great for viewing multiple channels vertically, and especially good at digital data and logic analyzer use-cases. “Lines” looks a lot like a scope and lets use deep zoom, pan, and measure. Finally, “Source” lets me look at the raw contents of the file. All of the measurements below are done using the “Lines” view.


Using a cursor, measure from the center of the top of the signal to the center of the bottom.

Amplitude = 2.50 V 


Zoom deeply into a rising edge and Position the cursors at 10% of the top and bottom level. From the amplitude measurement we know 10% in from top and bottom should be .25V from each side and a total span of 2V.

Rise-Time = 1.02uS 


Like the rise-time measurement, zoom deeply into the falling edge of the waveform, get the cursors at 10% down and measure the time.

Fall Time = 1.02 uS

Pulse-Width (high time)

Take vertical cursors centered on the rising edge and see the time signal spent in the high state.

Pulse-Width = 500 uS

Period, Frequency, and Duty Cycle

Measure the full period and do some simple math from previous measurements to get Period, Frequency, and Duty Cycle.

Period = 1000 uS
Frequency = 1/Period = 1 kHz
Duty Cycle = Pulse-Width / Period * 100% = 50% Duty Cycle


Measure one of the high-side tops to see the peak-to-peak ripple in the signal.

Ripple = .05 Volts


Initial State can securely capture and store data from many sources … like a Keysight Oscilloscope. In addition to being able to dynamically inspect the data as a waveform, using cursors and measurements, you can actual do work with the visualizations. The browser-based viewing is pleasant and buttery compared to the scope, and I can access it from anywhere.