Screenshots over USB from Agilent DSO-X 3014A

The Agilent (now known as Keysight) oscilloscopes of the 2000X and 3000X series have a built-in USB device interface which allows them to be controlled from a USB host capable PC. It is implemented as a USB Test & Measurement Class Device (USBTMC) and is usually used by National Instruments implementation of the Virtual Instrument Software Architecture (VISA).

However there exists free alternatives such as pyvisa/pyvisa-py for Python. These allow Python to communicate with SCPI (Standard Commands for Programmable Instruments) compatible devices over RS232/TCP-IP/USB. The Agilent 2000X/3000X series oscilloscopes provide the :DISPlay:DATA? to retrieve the currently view display data as a screenshot. So I wrote a small Python script to get the data and write it to a PNG file. You can download it here: screendump.py. Continue reading

Bandwidth upgrade for Agilent DSO-X 3014A

A few weeks ago I ordered a bandwidth upgrade (DSOX3BW24) to 200 MHz for my Agilent DSO-X 3014A oscilloscope. As this is a software upgrade the hardware must be already have a bandwidth of at least 200 MHz which is limited in software. The only new hardware which is provided through the upgrade are four new N2863B probes which provide a bandwidth of up to 300 MHz instead of the N2862B which were supplied with my oscilloscope providing up to 150 MHz of bandwidth. Continue reading

BeagleBone Black

For my recent electronics projects I wanted something more powerful than the usual Atmel megaAVR or AVR XMEGA microcontrollers I used in the past. The obvious step upwards in performance is some embedded system running Linux. A few years ago I played a little bit with an ALIX.3D3 embedded board, but nowadays most people would start with a Raspberry Pi and I also used to have an early model of those as well. Even though the Raspberry Pi seems to be everywhere there is a better alternative in my view: The BeagleBone Black. The most obvious advantage of the the Raspberry Pi (even compared to the Model B) is the much high flexibility concerning I/O. Most important it provides with its general-purpose memory controller (GPMC) a high-bandwidth parallel memory interface which is ideal for a fast interconnection e.g. with FPGAs.
Continue reading

Compiling AVR Toolchain under OS X Lion

Atmel's official toolchain for programming its AVR devices is AVR Studio. AVR Studio 5 is Windows only, but uses the gcc as its C compiler which is open-source. A viable option for Mac users is to use CrossPack, which contains precompiled versions of everything you need to develop for AVR devices, but it does not always use the latest version available.

As I'm planning to use the new ATxmega128B1 I need a newer version and so I wanted to compile everything by myself. This article gives a brief overview how to compile everything. Continue reading