For novel ideas about building embedded systems (both hardware and firmware), join the 40,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.

The LabTool USB Oscilloscope and Logic Analyzer, by Jack Ganssle (Reviewed November 2013)

Summary: Here's a review of Embedded Artist's LabTool USB instrument.

For graduation from 8th grade (in the Catholic school system that's a milestone like finishing middle school) my dad gave me a Devry scope and VTVM combination. He had assembled the unit a few years earlier as part of a mail-order course in electronics. VTVM stands for "vacuum tube voltmeter," a long defunct phrase that described a high-impedance VOM. The device was about 19" wide and maybe 25" deep with quite a few tubes. There was no case, and it's amazing I never broke the exposed CRT. The scope didn't have a trigger; in that tube era trigger circuits were expensive, so it, like many others, had a free-running time base one adjusted in an attempt to stabilize the on-screen image.

Old scope

A Devry scope/VTVM combo.

The unit served me well till late high school when I managed to save enough to buy and build a transistorized (though still with CRT as TFT screens were decades away) Heathkit scope. Both of those are long gone, and there have been many more scopes in my life over the years. Favorites include Tektronix's 7000 series of modular scopes. The high-end units we used in the 70s were fantastically expensive, had tiny little push buttons, and for the time offered unbeatable performance. The old Tek 545 I had for a while was a monster. It probably weighed 100 pounds, used vacuum tubes, but just ran forever. No one wanted it when it was time to move on, and I regret having to send it to the dump. For the last 15 years my main instruments have been Agilent units; the MSO-X-3054A that now graces my bench is a fantastic unit they'll have to pry from my cold, dead hands.

In recent years some low-cost alternatives have come out. Rigol and others offer what appear to be fairly decent models in the half-a-thousand dollar range and less. Even Tek has some low-end sub-$1k units. I've not played with these but am very impressed with the specs versus cost.

A lot of money can be saved by using a PC for the front end, and I've reviewed quite a few of these very inexpensive USB-based devices. Some are scopes; some logic analyzers, and some a combination of the two, often with other features as well.

It isn't boxed; it's just two stacked and exposed boards as in the following picture.

The LabTool

The LabTool

Logic analyzer "probes" (a wiring harness) are supplied, sans clips, but no scope probes. This is all not surprising considering the price: just 99 €, or about $135 at November, 2013 exchange rates. That's a fantastic price.

This unit is a little different than most of the others I've reviewed. There's no fancy FPGA sucking in data at high rates of speed. Instead, the unit uses a fast LPC4370 MCU, which has a Cortex M4 and a pair of M0s. Digital and analog data is just sampled by the processor.

Here are the specs:

* 11 channel logic analyzer that can run at up to 100 Msps

* 2 channel oscilloscope that runs to 80Msps with a bandwidth that varies between 3 to 12 MHz depending on the channel's gain setting.

* The digital and analog channels can be turned around to generate signals.

* It will decode SPI, I2C and UART signals.

* The digital zero vs one limit is 3.3 volts. But you can connect an external voltage source to change it to any value between 2.4 and 5.5 volts.

As with most of these products, the sample rates depend on a number of factors. It can be as low as 20 Msps if both analog and digital data is being sampled.

The 47 page user's manual, downloaded from their web site, is the most complete and well-prepared I have encountered for one of these USB instruments. It was written in Sweden, though, and the English is rather imperfect, but is understandable. You have to read the manual before using the instrument; the UI appears very simple, but there's a lot of hidden functionality.

Triggering is not extensive: the unit supports normal analog triggers, of course (we can say "of course" now, as it uses millions of transistors, not the 15 or twenty tubes of my Devry unit fifty years ago). Digital triggers are limited to edges (positive or negative) of any channel; if multiple channels are selected the trigger is the logical OR of them all. No patterns are supported.

The user interface is simple and clean, and the screen updates very rapidly. It generally does a good job at issuing detailed prompts when an incorrect selection is made.

LabTool user interface

The UI. Note the digital measurement at cursor, and the data is displayed on the right.

The unit will generate two channels of analog data. Triangle, sine and square waves are supported. It is also possible to create quite complex digital patterns on all 11 channels, but I was not able to make either them or the analog outputs work. No doubt there was some button I didn't press.

Both the Windows code and the firmware is open source. I looked at some of the embedded code and it seems quite well-written. The schematic, too, is available, though one has to register the unit for access.

One surprising feature is a calibrate mode for the scope. You'll need a good DVM. And there are a pair of variable capacitors for each analog channel to compensate their input impedance. This is the first time I have seen this feature on one of these scopes. (Normally, one compensates the probes, so I wonder if this feature is for those using low-end probes, or maybe just hunks of coax.) The calibration is stored in EEPROM. The schematics show a very-well designed analog front end.

There were a couple of odd behaviors. I went into calibrate mode and then closed the window without performing a calibration. After that the unit would no longer capture data, issuing a cryptic CMD_STATUS_ERR dialog box. The fix was to restart the Windows program. I got one error for overrunning the buffer while sampling at high speeds, but was not able to repeat that. Occasionally the USB connection would drop, requiring me to disconnect the cable and then reconnect; the UI would then recognize the instrument.

There are a lot of other USB instruments that offer more functionality than available from the LabTool. Two features, though, make this a compelling choice. First, is the incredible price. Then there's the open-source code. One could enhance the product, change features, add more protocol analyzers, and maybe even turn this into a data logger.

Fiddling with the code would be a nice way to learn about working with embedded systems.