Computing stuff tied to the physical world

Oscilloscope firmware

In Hardware on May 9, 2013 at 00:01

Oscilloscopes are very complex instruments. The “front end” is all about being able to capture a huge range of signals at a huge rate of speeds. This is what lets you hook up the same probe to AC mains one day, and pick up millivolt signals another day, and to collect many minutes of data on a single screen vs displaying the shape of a multi-MHz wave. This isn’t just about capture, at least as important is the triggering part: how to decide what to pick up for display on the screen.

For low sampling rates, it’s very easy to use an ADC and just collect some data points – as shown in this older weblog post, even AC mains, although triggering can be an issue.

With the Xminilab presented recently, a lot of this has been solved in software, supporting a pretty impressive range of options, even for triggering. The Xminilab is particularly interesting because the full source code is available.

But for serious work, you’ll need an Owon or Rigol scope. These can sample at up to 1 Gsa/s, i.e. one billion samples per second. Truly, truly capable front-ends, able to handle very wide voltage and acquisition speed ranges.

The Hameg HMO2024 is more expensive, and many of its specs are not much better than the Owon (worse even, in some cases: a smaller display size and less sample memory).

The devil is in the details. Here’s a recent screen from the HMO2024 (borders cropped):


And here’s my first cut at acquiring the same info on the Owon (click for full size):


Let me add that I now have lots of experience with the Hameg, and only just started using the Owon, so there might be relevant features I’ve failed to set up in an optimal fashion.

A couple of quick observations:

  • This is not a “typical” measurement setup: a very slow, low-amplitude signal is nothing like the usual measurements one would come across, with higher signal levels, and faster sampling rates. Then again, that’s part of the whole point of an oscilloscope: it’s so versatile that you end up using it in lots of situations!
  • As you can see, the Owon has a lot more pixels to display a signal on, so I was able to increase the voltage sensitivity one notch to get more detail, and capture a bit longer.
  • Some differences are obvious but not that important: the Owon provides less information on-screen about the current settings, and it does not use anti-aliasing for the traces (i.e. intensity variations to produce a fake “sharpening” effect of steep lines).

The two major differences are that: 1) the Hameg lets me apply additional digital signal processing to effectively reduce the random variations and smooth out the signal (this is done after capture, but before drawing things on-screen, i.e. all in software/firmware), and 2) the Hameg includes support for a “reference trace”, i.e. storing a previous trace in its built-in memory, and displaying it in white next to a new capture – to compare power consumption with and without WiFi, in this case.

Note that the Owon capture depth was set to 1,000 samples instead of the maximum 10 Msa, otherwise the screen would have shown a very wide red trace, almost completely swamping out the signal shown on screen. With this reduced setting, the current consumption is still fairly easy to estimate, despite the lack of low-pass filtering.

Is this a show-stopper for the Owon? Not really. It still gives a pretty good impression of the current consumption pattern during starup of the Carambola 2. If you really wanted to improve on this, you could insert an analog filter (a trivial RC filter with just 2 passive components would do). With a bit of extra work, I’m sure you can get at least as good a current consumption graph on the Owon.

The trade-off is (recurring) convenience and setup time vs. (up-front) equipment cost.

PS. The Rigol DS1052E does have a low-pass filter – every scope has different trade-offs!

PPS. For a great view into oscilloscope development over the past 5 years, see Dave Jones’ comparison video of the Rigol DS1052E and the new – phenomenal!DS2000 series.

  1. Owon makes absolutely atrocious oscilloscopes so it makes me kind of sad that you are telling people that they are alright. They really are terrible pieces of equipment.

    • I respectfully disagree – the main function is to capture a signal and display it, and the Owon does just fine (it worked for me with a 25 MHz signal). While there are differences in the noise level, jitter, sensitivity, and trigger + decoding capabilities of the front end – it is a low end scope after all – the point I was trying to make is that a lot of the capabilities are really a matter of firmware. Surprisingly, that’s where a company could add a lot of useful features without having to raise the price of the scope that much, so I’m surprised that the low-end vendors don’t pour much more effort into this.

  2. I’d like to thank you for your commentary a few days ago about the Xminilab – it kicked me in the pants enough to buy one of those cheap DSO Nano units that are all over eBay. It’s already teaching me useful stuff about the 3 different levels of optimization I have running on my RGB charlieplex light toy.

    The Arduino -Os version is the smallest but slowest, the avr-gcc -O3 version is bloated but refreshes a good 20% more often, while the version that moves the drawing routine into the ISR is marginally faster yet but it’s significantly more regular. If I’ve figured the loops right, jumping to the drawing routine takes ~500uS while jumping to the ISR takes only 200uS. I suspect the time spent jumping to the routine is actually what’s causing that last little bit of flicker that I catch out of the corner of my eye that I’m trying to eliminate. And all of this is just from hooking the probes up to the appropriate points on the boards – I haven’t even begun to add actual diagnostic routines into my code, this is just comparing the 3 compiled hex files I have at my disposal.

    And for once I can actually quantify what’s happening at POV speeds! Well worth the $53 I spent, and it whets my appetite for a $400-500 DSO. So thanks for taking a more balanced argument towards the tools that we use, they’re still useful even if they aren’t perfect.

    • And for once I can actually quantify what’s happening at POV speeds!

      Exactly. A scope is truly invaluable, even the most basic model – as long as it matches the problem you’re trying to solve.

  3. What Acquisition Mode are you using? If you are using Peak Detect, try Sample instead.

    You can save a waveform and then recall it (and display it with the live waveform) on the Owon, but I haven’t tried it. The restored waveform doesn’t pick up any adjustments, so the timebase and sensitivity must be the same.

    *edit* the Owon also has an averaging mode to reduce noise, but of course that only helps for periodic signals

    • It was sample mode, I think. The noise in the signal (and perhaps also the front end in this low range) seems to be messing up the capture. I’ll expand on this a bit more tomorrow.

      Thanks for mentioning the save feature for the display of a reference waveform, I clearly missed that. Yes, I did try averaging.

  4. The Owon does have a reputation for a noisy front end — I’d be interested in Jon’s experiences with them, so I know what to look out for.

  5. did anybody consider using one of those cheap SDR TV dongles as a fast ADC/scope ? question is then : how to create a simple/crude analog front end. I have not been able to find anything on it, and lack the time to start yet another project, but I’m curious if it is a useful idea.

    • Might not be possible – these dongles perform frequency-domain transformations (i.e. down-mixing) to process a specific range of frequencies. You can probably only analyse repetitive signal patterns in the MHz range and far above. Even a steady signal level as brief as 1 µs wouldn’t get past this sort of processing.

Comments are closed.