Low Cost DIY Logic Analyzer

PulseView_LogoA logic analyzer is an electronic instrument that captures and displays multiple signals from a digital system or circuit on a common time base. It is a really useful tool for debugging circuits and communications links. However, the cost of brand-name logic analyzers runs into hundreds of dollars and can be really hard to justify for hobby use.

Fortunately, there is a low cost alternative using open source software and inexpensive hardware.

Component Parts

A logic analyzer converts captured data about digital signals into timing diagrams, protocol decodes, state machine traces, assembly language, or, for advanced analyzers, correlate assembly with source-level software. Logic analyzers have triggering capabilities, and are great for visualizing timing relationships between mutiple signals in a digital system.

LogicAnalyzer_HardwareA logic analyzer is composed of two major components – the data collection hardware and the signal visualization software.

Signal detectors clipped to the circuit signal wires capture the signals being analyzed in real time. As a data set is captured it is displayed as simple digital traces (shown as square waveforms or state listings) or can be analyzed by protocol decoders into logical data streams.

Logic Analyzer Software

PulseView is an open source logic analyzer based on the sigrok project –  a portable, cross-platform, Free/Libre/Open-Source signal analysis software suite that supports various data collection device types. This means sigrok also supports digital multimeters, oscilloscopes and data collection devices.

PulseView_Demo

The PulseView software is regularly updated and has gained significant features and functionality in the two years I have been using it. It supports stacked protocol decoders, with each release generally able to handle new protocols. The figure above shows the PulseView window in demo mode.

I use the Windows version, downloaded as an install set from the distribution site. Versions exist for all major OS and all are free.

Data Collection Hardware

Logic Analyzer data collection hardware supported by sigrok is extensive and varied, with many inexpensive options easily obtained from online suppliers like eBay, AliExpress, DealXtreme, etc. The majority of the hardware provides 8 data collection channels, allowing 8 digital signals to be analyzed.

My data collection setup (shown in the photo above) cost around $10 and is made up of

  • USBee AX Pro logic analyzer, sold with DuPont connector terminated rainbow cable
  • Logic analyzer clips (supplied in sets of 10) for DuPont connectors

These are shown below.

 

I labelled my analyzer clips to match the channel (0-7 and Ground) to make it easier to use.

My User Experience

The installation instructions online cover everything, if a bit sparsely.

The only ‘tricky’ bit is that a special USB driver, compatible with your data collection device, needs to be installed. This is documented on the hardware page, with a link to the appropriate driver software download and install instructions. I missed this at first.

PulseView is installed by the Windows installer. The software automatically recognizes the data collection hardware and the experience is pretty smooth and painless. However, it is worth ‘playing around’ a while to familiarize yourself with the software, as the user interface feels a bit different from a normal Windows application.

An example of the software in use is shown in the graphic below. PulseView is being used with the SPI protocol decoder – note that the raw digital signals are decoded into more relevant byte values.

PulseView_SPI_Analysis

In conclusion, PulseView coupled with inexpensive hardware creates a very functional logic analyzer. While professional setups may include more functionality, hobby or casual users should find this near-free setup more than adequate.

Update 6 August 2017

After this post was published I found this very interesting video on Sigrock and Logic Analyzers, by OpenTechLabs, featuring Joel, the primary author of the PulseView GUI.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s