Posts Tagged ‘pulseview’

Using USB123 USBee AX Pro $5 USB Logic Analyzer with PulseView in Linux

September 27th, 2015 11 comments

I recently wrote about an ultra low cost USB logic analyzer called USB123 USBee AX Pro, which I bought for $9.58 on DX, but I was later informed it also goes for $5.44 on Aliexpress including free shipping to most countries, and a few dollars extra for shipping to some other countries. Nevertheless, I’ve now received it, and instead of testing it with a closed source (and cracked) Windows software, I installed and ran PulseView open source graphical interface for sigrok, which I previously tested on UNI-T UT61E digital multimeter.

USB123_USBee_AX_ProThe package includes USBee AX PRO mini logic analyzer, 10 dupont wires for 8 channels (digital only) and 2 ground pins, as well as a mini USB to USB cable for connection to a computer.

The instructions to use the logic analyzer can be found on Sigrok Wiki. My computer runs Ubuntu 14.04, but Sigrok and PulseView can also be installed on other Linux distributions, as well as Windows, Mac OS, FreeBSD, and Android.

If you are using Ubuntu 15.04 or greater, you can simply install pulseview as follows:

However with Ubuntu 14.04 and earlier, you’ll either have to build Sigrok and PulseView from source, or much easier use sigrok PPA:

USBee AX PRO device relies on FX2 logic analyzer firmware, which is not installed by default, so you’ll also need to install it either from the ppa

or source @

You can now connect the logic analyzer to one of your computer USB port, and start PulseView by typing pulseview in a terminal (where you’ll get some output in case of issues).

The program will start with a “Demo Device” by default, so you’ll need to click on File->Connect to Device in the top menu, select fx2lafw (generic driver for FX2 based LAs) (fx2lafw), and finally Scan for Devices.

CWAV USBee AX with 8 channels should appear in the list of device and you can click OK.

The logic analyzer only works up to 24MHz, so you would not be able to use it to debug DRAM for example, but for low speed interface such as I2C, SPI or UART it should do the job. For testing purpose, I created a small board to capture UART console data from Orange Pi 2 mini while still having access to the serial console on a computer.

Orange_Pi_2_mini_logic_analyzerI used my main computer, but I could also have used the Orange Pi board to have a complete logic analyzer system for less than $30…

I just plan to run “ls” an capture the output. Since the UART speed is 115000 baud, 500 kHz capture would be enough, and I selected 1 million samples for capture for 2 seconds. 8 channels will show up at the beginning, but I disabled channels 2 to 7 for clarity.


Click to Enlarge

We can see the captured data after I typed ls. Somehow, there’s nothing on the UART TX… I also enabled and configured the UART decoder (Decoders->UART) to analyze the data. Clicking on the red UART icon will popup the configuration window, where you can assign the relevant channels to TX and RX, configure the UART connection, and define how you want the data to be decoded (ascii, dec, hex…)


Click to Enlarge

Then I verified that file names – generated by ls command – were indeed captured, and zoomed in the last part of the captured data, which correctly shows the command prompt: [email protected]:~$.


Click to Enlarge

Zooming further shows the binary representation of data, as well as the start (S) and stop (T) bits.


Click to Enlarge

Not bad for a $5 device, and neat features for PulseView and Sigrok open source software.