Logic Analyzers are a useful tool in your kit for analysis and decoding of signals particularly for working with Raspberry Pi and Arduino based (or similar) devices. In 80% of cases, you will be able to successfully complete your fault finding with a Logic Analyzer, particularly if your main use of diagnosis of Raspberry Pi or Arduino based I/O connected devices.
One of the big issues is the wide range of options available to you stretching from $10 to $1000 onward (and I do mean onward).
I have listed a few types here and things to watch out for when you review your options.
One of the important things to remember and a lot of people either forget it or lose sight of it, as they see these nice crisp outputs on their PC with beautiful square waves. The actual waveform that is being probed, may actually look nowhere near this “representation” on the screen. This “representation” is based on a close approximation based on the signal going above or below a Threshold voltage, which is enhanced in accuracy by the sample rate. This is why, in almost every article that read, the one thing that they agree on, is the sample rate and the higher the sample rate the more accurate.
Just some basic rules on Logic Analyzers.
- The Nyquist-Shannon Sampling theorem requires that you sample at twice the frequency to be able to read a signal. However it is recommenced (by most Logic Analyzer manufacturers) that at least 4 times your data rate is required to get an accurate reading (note this rate is for a Logic Analyzer with a digital signal and differs from an Oscilloscope which requires a 10x sample rate to accurately reconstruct)
- Probes and quality of the probes can impact the circuit that you are probing, particularly if you are probing higher frequency data rates.
- Other factors, again at the higher frequencies, other areas come into play, particularly if you are breadboarding, e.g. the length of wires, the quality of the breadboard, the fact that the wires are not soldered, interference from other devices etc.
There are some other factors that you should consider
There are several things to watch out for particularly with some of the Chinese sellers (which is where most of the “hobbyist” gear comes from anyhow). One of the benefits buying it from a local store (particularly Maker based stores) is that generally they correctly list the specifications and quite often have had a play with the gear themselves and can guide you to the correct gear that suits your requirements. Ok, they may be a little more expensive, but nothing beats faster delivery, local support, and dealing with a reputable dealer.
- Supported Product
A lot of gear that you may see online, has been around for a few years, sometimes more than 5 – 10 years. This is fine, as the general design has not changed radically of Logic Analyzers, the main improvements has been sampling rate improvements with newer models. One of main points I am raising however is that they continue to improve the software or revisions of their design. If you do chose to go for a low cost, older product, then look to see if there is Open Source software that supports this product. Likewise look to see of the OpenSource software is continually updated. A lack of recent updates normally points to either a product that is end of life or the software designers are no longer supporting it as the product now has some known limitations or their are some serious competing products offering better specs, more features and more value for money.
2. Product Design
Many “cheap” Logic Analyzers are based on or based off a reference design (if you are not sure what this means, basically the original reference design usually provided by a chip manufacturer on how to use their chip in its basic form). Logic Analyzer manufacturers may then produce a bare bones product based on the reference design or they may extend the product with a few changes, sometimes these changes are significant by adding additional components/chips.
Try to find details on the “heart” of the product, which generally will be from fellow enthusiasts performing a “teardown” of the product and reporting the various components of the product. In many cases they will also point out the limitations of the design. These may not be limitations in your case, but you need to keep these details in mind as you select a product.
A lot of the “cheap” units are typically under $US40 and even though they look different they are not much more than the reference design on a board, however in most cases they will do the job. I purchased one to give me an idea of the limitations of such a unit and what I was looking
Whilst we are talking about these Logic Analyzers, one of the things that you might go looking for is the specifications. I personally look for products that have clearly put some effort into their specifications, and have not just “copied” the next sellers specifications. And if I do see a difference, then I investigate whether there is a difference in the product, and whether it actually makes any difference.
Lets look at a table of features between the No Name Brand and another popular unit, the DSLogic Plus. This is not to say that these are the units to buy, but a look at features, so you can compare if you are looking at other brands.
I have included a column with numbers relating to the notes after this table, and things to watch out for.
|Feature||No Name Clone||DSLogic Plus||#|
|Sample Rate||24Mhz||400Mhz (4ch), 200Mhz (8ch), (100Mhz 16ch)||2|
|Triggers||None (SW only)||High,Low, Rising, Falling, edge, multi-stage Triggers||4|
|Min/Max Voltage||-0.5V-5.25V (abs Max)||-0.6v to 6V, +-30V with supplied probes||5|
|Threshold Voltage||Fixed: VIH=2.0V—5.25V, VIL=-0.5V—0.8V||Configurable 0-5V (0.1V increments)||6|
|Buffer||Streaming only||Streaming + Buffered||9|
- Pretty straight forward, the number of channels that the unit will support. For most basic tests, no more than 4 is needed for SPI / I2C /1-Wire etc, so 8 is a minimum, but for your more complex projects, you may want to test multiple points in the circuit simultaneously.
- The maximum sample rate of the device. So the no-name has a sample rate of 24Mhz, so its actually ability using the Nyquist-Shannon Theorem means that this device is not suitable for any signal over 6Mhz. But hey, if you have seen the page on I/O speeds on this website, you will see that generally it will be sufficient for 80% or more of the work you will want it for. If you look at the DSLogic plus, you will see the specs are far superior, but these have their limitations as well, for instance the 400Mhz supposedly means that it is good for a 100Mhz signal, but in real life (for reasons I mentioned previous such as leads, probes, design of the product etc), after 200Mhz, the reliability and indeed the waveform (which you cannot see with a logic analyzer comes into question.
- This is the maximum sample rate of “State” this is where you are using your projects clock as the clock signal instead of the clock signal from your Logic Analyzer
- Triggers, The higher end unit accepts Hardware Triggers (and software triggers), where as the Clone only accepts Software triggers.
- The min and max voltage is pretty important, higher than this and you could do damage to your Logic Analyzer. Both of these show similar specs which covers your 3.3V and 5V systems. However the DSLogic will support up to 30V using their probes, which means the DSLogic will be suitable for RS232 debugging (you can perform RS232 debugging on the Clone Logic Analyzer using some 10K resistors in series with the Logic Analyzer
- The Threshold voltage, this is a reasonably important one. This is where it makes a distinction between your logic 1 (high) or 0 (low). The low cost clone has fixed threshold voltage which is high voltage of 2.0V – 5.25V, and a low between 0.5V- 0.8V. Fortunately this is a nice middle ground for both 3.3v and 5.0V work, so it suits both. You can see about logic levels here https://learn.sparkfun.com/tutorials/logic-levels/all. The nice feature, and indeed included on all medium to higher end Logic Analyzers is the ability to set the logic high and low voltages in 0.1V increments, and is part of the DSLogic Analyzer as well.
- Memory installed on the Logic Analyzer. The low cost Logic Analyzer has no usable memory, so what this means is that the Logic Analyzer can only be used in Streaming mode, which can be impacted by the USB ports ability to service, especially when at the higher end of the sampling speeds. I personally have locked up the low cost unit on several occasions trying to achieve higher sampling rates. You will notice that the DSLogic Plus has a 256Mbits of Hardware memory which allows the Logic Analyzer to perform buffered + Streaming
- Compression pretty well goes hand in hand with having a memory buffer. This means that it compresses the data before sending over the USB connection. How good the compression algorithm/method that is used will differ from vendor to vendor, but it means that the “idle data” does not consume all of your buffer or indeed your USB bandwidth.
- Finally the buffer, which has been covered by the last two points.
Just so you get a more complete picture, have a look at Intronix’s product the LA1034 (34 channels), and their specifications, but keep in mind their product is 20x the cost of the Low cost logic analyzer and almost 3 x the cost of the DSLogic Plus, but they clearly layout the specifications of their device, their product 500Mhz sampling over 34 channels and they offer a great FAQ page. I don’t have one of their units, I am not recommending their units, just showing what you are looking for if you are going to compare units. I always look at the Sigrok Wiki to see if it is supported by Sigrok, just in case their software is not up to the mark, to see if at least it can be used by Pulseview or Sigrok CLI. In this case, it is only the output file that is readable by Sigrok, not direct control of the device. The other thing you need to look for is the O/S their software runs on, and in this case, they only have Windows software.
If you want to know more, can I recommend the following Youtube video from one of the developers of Pulseview. He does know his stuff.
I ended up going to a DSLogic Plus as my go to Logic Analyzer. First of all it is supported by Pulseview / Sigrok. It comes with its own software (although it was heavily based the Pulseview / Sigrok). There was a kerfuffle regarding the GPL rights (which I respect), but this appears to have now been resolved to a degree. Even one of the main contributors to Pulseview, appears to give a good report on the DSLogic Plus.
Why did I not stick with my low cost Logic Analyzer? As I mentioned, I believe the low cost unit will do 80% of what I want, and in fact I pull it out regularly, particularly on low frequency data checks. I also thought there is no harm in having a back up Logic Analyzer. The DSLogic Plus represented a nice middle ground, supports a clock input, an external trigger output and a trigger input as well. It’s own software runs on Windows and Linux, plus it works with Sigrok/Pulseview and the leads it come with are shielded. The main downside is the probe’s which are the cheap probes, but I can replace those with better ones later and the last part of my decision came down to the fact that I would like an oscilloscope and any savings I can make will allow me to get the oscilloscope sooner.
Datasheet for the Cypress Chip used in the low cost Logic Analyzers
Features of the DS Logic Plus
Nice article from Saleae
Another Article from Saleae on probe setup
Sigrok Wiki Article on the DSLogic Plus
Sigrok Wiki Article on the No-Name Clone