A 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.
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.
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.
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.
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.