Logic analyzers historically have been the heavy artillery in an engineer’s arsenal. For many of us, the name invokes mental images of large HP and Tektronix iron with real CRT screens. Logic connections were made through pods, with hundreds of leads weaving their way back to the test equipment. The logic analyzer came out when all else failed, when even a four channel scope wasn’t enough to figure out your problems. Setting them up was a pain – if you were lucky, the analyzer had a PC keyboard interface. If not, you were stuck typing your signal names into the front panel keyboard. Once setup though, logic analyzers were great at finding bugs. You can see things you’d never see with another tool – like a data bus slowly settling out after the read or write strobe.
There have been a number of USB based logic analyzers introduced in recent years, but they didn’t really catch on until Saleae released their “Logic” line of devices. Low cost, high-speed, and easy to use – these devices were perfect. They also inspired an army of clone devices based upon the same Cypress Semiconductor parts. DSLogic designed by DreamSource Labs, can be thought of as an open source evolution of the original Saleae device.
DSLogic appeared in 2013 as a Kickstarter campaign for an open source logic analyzer with an optional oscilloscope extension. I think it’s safe to say that they did well, raising $111,497 USD, more than 10 times their initial goal of $10,000 USD. These days both the DSLogic and the oscilloscope extension are available at The Hackaday Store. In this review we’re focusing on the logic analyzer portion of the tool.
Click past the break for the full story!
Inside the box
The DSLogic ships in a fine multi-layer cardboard box which I marveled at for about 0.5 seconds before tearing it up to get at the goods. The unit itself is a flat (9mm tall) aluminum box similar to the Saleae logic in construction. One end allows the probes to pop on to their .100 headers. The probe header itself is quite something. Each of the data lines is actually a superfine coaxial cable. There were some issues with this cable assembly breaking in the early versions of the tool. Mine was an updated version, in which all the grounds are ganged at a small PCB on the connector end. While using coax doubles the connections, it’s vitally important to have proper grounding and signal integrity when measuring digital signals at speeds up to 400 MHz.
The only disappointment in the package were the included test clips. They’re the cheap kind that consist of a .100 pin soldered to some spring steel. The plastic parts of these clips tend to fall apart (in fact, a few had all ready fallen apart in shipping), but are easy to snap back together. I can understand Dreamsource Labs’ decision to go with the cheaper clips – they do work, they’re just a bit harder to work with. Considering the cost of quality clips from Tektronix, (several dollars each), I can’t complain too much.
Hardware
DSLogic’s specs are rather nice – 400 MHz max sampling rate, 16 channels, and 256 Megabit on-board memory. Of course you can’t do all of this at once. At 200 MHz, the DSLogic drops down to 8 channels, at 400 MHz, it’s a 4 channel device. Most of the internal logic is handled by a Xilinx Spartan 6 FPGA. At speeds like this, programmable logic is the way to go. Inputs to the DSLogic are protected by a ST DVIULC6-4SC6 “ESD protection device”. The DVIULC6 is an array of clamping diodes, often found in HDMI or Ethernet interfaces.
Software
DSLogic’s software is DSView, currently at version v0.93 on their website. The software is based upon Sigrok, which is the front end used to drive many of the Cypress based tools. DSView adapted it for their own hardware, and host the source on their Github.
The software should be familiar to anyone who has used a logic analyzer before – especially a USB device. Signal names and triggers are easily available on the left side of the interface. Inherited from Sigrok is a nice set of decoders, including USB. I tested this out by teeing the DSLogic to the data+ and data- lines of a common USB to serial board. I connected the board to a PC and captured the USB enumeration. DSLogic captured the data and DSView actually did display the USB transfers. While it’s not a replacement for a full USB protocol analyzer, this setup would make debugging USB hardware a lot easier than using a scope.
I tested a number of other hardware setups with DSLogic, and the hardware does perform well – as long as the logic levels are clean. Like any other logic analyzer, DSLogic is not a scope, so every edge looks perfect – even if the actual signal is a mess.
DSView is definitely a work in progress, but it does get the job done. The most glaring omission is the fact that you can’t save a setup. This is an issue in Sigrok’s Pulseview as well. It’s a major hinderance when using DSLogic for anything more than quick hardware checks. Setting up meaningful signal names on a 16 channel device takes time, not to mention complex triggers and decoders. This problem is made even worse by the fact that the software will sometimes toss away the setup without warning. Whenever I cranked up the sample depth beyond the buffer size of the DSLogic, DSView would switch to stream mode. Stream mode uses the host computer’s main memory as a buffer, but is limited to 25 MHz. The annoying part is that DSView reset my decoders and channels back to default values.
This all may become a moot point if and when DSLogic’s hardware is ported into the mainline version of Sigrok. That functionality is currently listed as a work in progress on the wiki page.
The TL:DR
In closing, DSLogic is a nice piece of open source hardware for analyzing digital signals. The software side does need some work, though. From the looks of DSView’s Github repo, changes are being made, albeit slowly. Since this is an open source project, maybe someone in the community will be inspired to help out DSView, or better yet, incorporate Dreamsource Labs’ changes in the mainline Sigrok project.
https://github.com/DreamSourceLab/DSView/issues/5 is open for over a year and as far as I could see the DSLogic guys made no effort at all to port their changes back upstream. :-/
Where do they get these nice cases from?
+1000 I wish I knew where to find / how to design such fantastic cases
they make them. Saleae’s is machined aluminum, and then anodized – this one looks to be the same.
I’m looking for a manufacturer. Lets assume I want 500 individual cases…. Or standard of the shelf cases…
I can’t find anything nice. Lots of ugly plastic things, Not even SickOfBeige in something more than single items…
/me sucks in sourcing.
Keep in mind that the DSLogic team is located in China. I’m pretty sure that they have a lot of businesses there that want to fulfill such machining needs for cheap.
Typically, this sort of stuff is completely custom (since it’s easy to design and machine, and relatively small). Just go to your local machine shop and have them make you some?
I bought one during the kickstarter campaign, but I haven’t used it yet. The one time since then that I’ve wanted to use a logic analyzer instead of a scope I needed more than 16 signals.
After an initial wave of complaints about the quality of the leads, they did offer a set of higher quality leads at a reasonable price, which I also bought. I’m surprised that they’d still be shipping with the lower quality leads.
I currently need a way to listen in on 3 digital signals at once at a sample rate around 10khz. Does anybody have a recommendation for the most cost effective tool that would do that? Is it the DSLogic, or are there even cheaper alternatives anybody could recommend?
Scanalogic-2 from Ikalogic could suit you for 50€
http://www.ikalogic.com/ikalogic-products/scanalogic-2/
If you’re not interested in super precision or deep sample buffers, I’d use an Arduino. (The horrors!) It would be about US$15
Can an arduino sample fast enough? I tried to use a Parallax Basic Stamp 2, but it only executes 2000 instructions per second so I couldn’t see a way to get anywhere near a high enough sample rate.
For 10 KHz an arduino should be adequate. A better solution would be a Parallax Propeller based product such as a QuickStart, which can devote a cog to collecting samples with clean timing without having to also save and display.
A $3 “Arduino” form China runs at 16MHz. To have 10k Sample/s means that each of the sample have 1600 cycles to execute. That’s very crappy coding if you can’t meet that requirement.
Someone that can write embedded C code and accessing the I/O port directly should easily be able to read an I/O location, compare it with a condition, store it in RAM, update pointer in 20-30 cycles range easily.
Don’t forget that you either store the data or stream it. if you store it, you are limited by a few sampled. But if you stream it you should be able to do about 8 bits at about 100Ksps
You should be able to get 1.5k worth of samples (or a bit more) in a 328.. With careful use of for triggering. that should be plenty of samples. FYI: In comparison oscilloscope defaults to 512 points per channel. You can also use SPI SRAM for the storage.
I supposed if you run it so that your sample rate exactly matches the transmit speed of the serial port to not having to poll nor buffer to maximize streaming. The 328 is a bit messed up in their port mapping for grabbing 8 full bits at a time..
Maybe you have a PICKit 2 (not 3) on the shelf. That should do the trick.
Less than $10 buys you a Chinese 25MHz 8 channel USB analyser from flebay or banggood that should be plenty good enough for the task at hand.
Wow that is really cheap.
What software works with the cheap china units?
Apparently it works with the Saleae software, and I suspect Sigrok.
Yeah, I’ve got one of the cheap Chinese ones and it works fine with Sigrok. Sigrok comes with its own open source firmware that supports most of the cheap Cypress FX2 based logic analyzers.
The Analog Discovery device is also a really good option. It costs $100, but it can do much more than a basic logic analyzer
I use the Open Bench Logic Sniffer. I got mine from Seeed years ago, but they have it on HaD store too. It is $50ish and does everything that I want to do with a logic analyzer.
(I wrote a review of it for the HaD store, but it is no longer showing… not sure if they got rid of user reviews overall, or if there was some DB troubles…)
Cheers
You can pick up clones of the original Saleae Logic for less than $10 off of ebay or aliexpress. These offer 6 channels at 20 MS/s or something. I honestly don’t know if and to what extend these clones are actually legal. All I know is that I started out with one of these clones without being aware they were clones. When I found out about Saleae, and their current crop of products, I purchased a genuine Logic 8.
An old PC you kept around, which has a real LPT port on its MB. Typically they can sample their inputs up to 1MSPS
Run your (turbo pascal) program in DOS, and disable things like keyboard interrupts, then use a bit of ASM instructions to read the 64-bit CPU counter in Pentuim chips to decide when to read a sample. (RT-linux didn’t exist at the time I played with this)
So i guess there is a limit on how many links I can post…ha?
The DSLogic p****d all over the sigrok codebase, making their changes virtually impossible to merge back upstream. I’d honestly rather see people contribute to sigrok directly than the DSLogic fork. The fork is – as far as I’m aware – a dead end.
Oh, and by the way – DSLogic is not open hardware either. They don’t provide the PCB files nor do they provide properly licensed HDL files (copyrighted by Xilinx). And they censored one of the sigrok authors when he asked on their forums about giving back to sigrok. Go figure. I really wish Hackaday would do proper research before posting such reviews. People like the DSLogic team seriously harm the open source scene and it should be made known.
Second that. I bought mine on the kickstarter campaign because they promised free software support. What we’ve got has nothing to do with community based free software as we all like it and contribute to. AFAIK sigrok guys are quite pissed about the behaviour of the DSLogic guys.
I bought one after reading Steve’s review on BMOW. It’s pretty good, better than using a Papilio with the Sump client. The software has some rough edges. As an open source project I was hoping the software would have improved quicker. Of course being a software developer by trade, I can squarely put some blame on my on shoulders for not contributing. The Sump client hasn’t had active development in years either.
It’s a nice product for the money though.
I have one of these. The hardware is nice.
The software is still a little lacking. I am still learning about this stuff in general and the software is pretty straight forward which made it easy… Except for when trying to do protocol decoding. The settings were finicky. I found that the configurations would disappear occasionally and I had to re-add the decoder. The other thing is exporting; it can only export binary data for each channel (at least it did 2 months ago). I decode some SPI signals and its awesome, but i cant export the byte data. Makes it impossible to do any automated analysis (unless there is a better way that i do not know about).
Mine works fine at 200Mhz, but lots of errors at 400Mhz prevented me from using it at that speed.
Just got mine a few hours ago, and noticed the same thing.
At 200 MSPS, the edges are clean.
At 400 MSPS, the same signals have unclean edges, with 1-2 oscillations before settling to a logic 0 or a 1.
Has someone experience (i.e. a direct comparison) between DSLogic (+ oscilloscope extension) and analog discovery?
Thinking already quite some time to get one of these. It would be nice to know which one delivers more usability/$$?
Hello, I just saw the “50 MHz maximum input BW” in the DSLogic spec. What is the point of 400 MHz sampling rate when the input is limited to 50 MHz? I am confused…
Shannon is rolling in his grave
go back to university to understand why..
Just buy that tektronix, thank me later
I have an 8 channel Salae which is splendid – it was expensive but well worth it. I’d like more channels but I seriously can’t afford the $599 for the pro-16. I’d also like the oscilloscope function – not necessarily analog but a continuous triggered display rather than capture and dump. I’m not sure whether this is up to the quality ofthe saleae though.