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.
The 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:
1 |
sudo apt-get install pulseview |
However with Ubuntu 14.04 and earlier, you’ll either have to build Sigrok and PulseView from source, or much easier use sigrok PPA:
1 2 3 |
sudo apt-add-repository ppa:jorik-kippendief/sigrok sudo apt-get update sudo apt-get install pulseview |
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
1 |
sudo apt-get install sigrok-firmware-fx2lafw |
or source @ http://sigrok.org/download/source/sigrok-firmware-fx2lafw/:
1 2 3 4 5 6 7 8 |
wget http://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.2.tar.gz tar xvf sigrok-firmware-fx2lafw-0.1.2.tar.gz cd sigrok-firmware-fx2lafw-0.1.2 sudo apt-get install sdcc ./autogen.sh ./configure make sudo make install |
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.
I 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.
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…)
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: orangepi@orangePI:~$.
Zooming further shows the binary representation of data, as well as the start (S) and stop (T) bits.
Not bad for a $5 device, and neat features for PulseView and Sigrok open source software.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Any idea if sigrok/USB123 supports non-standard UART settings.. for example, a 10khz, 1 start, 32-data bits, even parity, 1 stop? This 35bit data packet is not well known, but is used in suprising places, including some aviation subsystems! Also, does it support USART decoding? Where you can specify rising or falling edge of a separate clock line to latch the data? On my TODO list, is to create a dvr for digital signals. A logic anlayzer will record the data, but I haven’t seen any that can drive the recorded signal back out! I’d like to use sigrok as the… Read more »
FWIW: On my Ubuntu 14.04 I had to do this:
sudo apt-get install sdcc
Then get source from http://sigrok.org/download/source/sigrok-firmware-fx2lafw/
Then run configure, make, make install
@ben
The baudrate is configurable, and other parameters like stop bits and parity) as well (See screenshot in the post), but for example there’s no 32-data bits option available (only up to 9).
Since it’s open source software, you could probably locate the UART decoder code, and add what you need.
Very nice. Thank you!
In the following link mentioned USBee closed on sept.2015 and purchase after January 1, 2016, will be a counterfeit device.
http://www.ee101.com/suite.html
Should I buy it from DX or not?
Thanks.
@Dheeraj
The device on DX was always a clone of USBee, not the original one. So it will still work. It’s up to you whether you want to buy one or not.
Thanks for the concise tutorial. I followed several tutorials to get to this point on Ubuntu 14.0.4. My device is showing up with lsusb as Bus 001 Device 004: ID 08a9:0014 CWAV Inc. USBee AX-Pro but does not show up when I scan for devices in Pulseview using fx2lafw. Any suggestions on what to try?
Thanks!
John J., and anyone else who might be interested: When I had this problem (PulseView can’t find device) on Debian Stretch it was (surprise, this is Linux after all) permissions. Try it as root (sudo pulseview), if it works then you need to fix your udev rules. IIRC there is a section in the PulseView manual that explains how to do that. I don’t recommend running programs as root regularly, just as a test.
@John J.
Maybe launch pulseview from the command with debug logging enabled:
and see if you get any warning or error messages in the terminal when doing the detection.
Alternatively check the system logs / run dmesg to find out potential error message.
If you still can’t find anything, then it could be a good idea to ask on #sigrok IRC channel, people more knowledgeable than me should be able to help you there.
This device works like a charm. Now I am looking for a device like this but with at least 2 analog channels.
Please, could you let me know of any?
@iso9660
I think the USBee DX Pro could match your needs -> https://sigrok.org/wiki/HT_USBee-DxPro
It used to sell on Banggood @ http://www.banggood.com/16-Channel-Logic-Analyzer-Oscilloscope-USBee-DX-Pro-Compatible-p-926868.html
But now I could only find it on taobao @ https://world.taobao.com/item/36138317977.htm, so unless you are based in China or know somebody who is, you’d need to use a Taobao agent in English. There are many on the Internet.
@Jean-Luc Aufranc (CNXSoft)
Finally, I think the same model, or similar, can be found on Aliexpress under the name SYSCLK DX PRO -> https://www.aliexpress.com/af/dx-pro.html
Thanks for this! I have a “USBee AX PRO” (according to what it says on the box, I think I got it from dealextreme). I managed to install it some 3 years ago on a laptop, havent used it for years and it still works! But now I wanted it on a desktop as well (It works, but the part about ./autogen during install just didn’t want to work right). Somehow I still got it installed thanks to you (I’m no expert in Linux). Both systems run Linux Mint 17.1 Cinnamon 64-bit on pretty old hardware (10ish years?). I’m puzzled… Read more »
Hi.
The third comand may be “cd sigrok-firmware-fx2lafw-0.1.2” because the directory have the text “-0.1.2” at the end.
Thanks for the excelent post.
Gustavo
Thanks for the correction, and glad to know the post could be useful to you.
I am getting this error ” Unable to locate package sigrok-firmware-fx2law” for the first method and for the second method i don’t have autogen.sh file so i skipped the step and now i get 2 errors when i enter make. Do you know what can be the issue?
Thank you
When I download sigrok-firmware-fx2lafw-0.1.7.tar.gz, and extract it, the autogen.sh is here:
You can convert a “USBee AX Pro” into a Lakeview Research Saleae Logic device easily by programming the VID/PID in order to use their software. https://www.saleae.com/downloads/ use this guide https://gronlier.fr/blog/2014/07/usbee-ax-pro-reprogramming/
I think there is a typo in command to install sigrok-firmware-fx2law. it is maybe like this:
sudo apt-get install sigrok-firmware-fx2lafw
You’re right. I’ve updated the post.
Another problem is that in version you provided (sigrok–firmware–fx2lafw–0.1.2 ) there is no file named autogen.sh so it would not run. I recommond for other people to download latest version which contains this file from source which you provided link in article.
Yes. I wrote that nine years ago, so people should obviously download the latest version whenever possible.