Recently, I acquired a new Owon HDS242 handheld oscilloscope. Overall, I’m really impressed with it and it is amazing to see technology continue to progress. This handheld unit is about the size of the average multi-meter, but can do more than my old desktop o-scope that was the size of a desktop server tower! It also can double as a regular multi-meter as well.

That said, I really wanted to see how I could integrate it with Linux. A quick duck-duck-go search lead me to Owondump, also called Owondriver [1]. Unfortunately, it is a really old program that has not been updated since 2010, and thus, didn’t build when I followed the instructions. It was written for libUSB 0.1, and now we are on libUSB 1.0 and there appears to be significant differences in the calls, making a lot of “undefined references” when you try to build. So after messing with that for about an hour, I moved on.

A little more searching lead me to Owon-sds7102-protocol [2]. While it is for a different model, it was from 2017 (much more recent than Owondump), and it stated it could work with other models. So I downloaded it from Github and started building. Unfortunately, I couldn’t get passed the errors in it either, and never was able to successfully build it.

Up next was OwonOszi [3], which is for my exact model of oscilloscope. However, it is written in pascal, and appears to be for Windows only? On the plus side, it was last updated 12 days ago, so it seems pretty current. Albiet, in my situation, not really useful at the moment. It also lacks documentation, and seems to be a tool to look at saved files from the HDS242, rather than a means to measure, control, or live capture data, so I skipped it for now.

Then, I was able to make some progress with Owoncontrol-qt [4]. Apparently, the author of it took Owon-sds7102-protocol a step farther by building a GUI that you could use to control or capture data to and from the o-scope. It was not a simple matter to build it, I had to first install qt5-make, qtbase5-dev, and libusb-1.0-0-dev, and then make symbolic links for g++ to point to g++-11. But, it did then successfully build, and even launch. However, even launched as root, it cannot connect to my HDS242, which is to be expected, since it was written for the SDS7102 instead. But, this was the farthest I got so far. Here was the error:

$ sudo ./owoncontrol-qt 
[sudo] password for alaskalinuxuser: 
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 531, resource id: 31377732, major code: 40 (TranslateCoords), minor code: 0
libusb: error [submit_bulk_transfer] submiturb failed, errno=2
^C

There is an official website for Owon multi-meters and oscilloscopes as well [5]. Unfortunately, all of the software is Windows based, which is not very helpful on a Linux based system. The API/SPIs are available, though, so it seems like you could write such a program if you were so inclined. Not sure if I’m technically minded enough for that, but I may take a look at it later.

Other than that, I can’t see any other program for connecting to the Owon oscilloscope in Linux. That’s okay, as it is a handheld unit, so I probably wouldn’t need to hook it up to a computer much. It was just a thought that something like this should be able to hook up with ease. I wonder why they don’t write any Linux programs for this purpose for the official Owon website, like they do for Windows?

Linux – keep it simple.

References:
[1] https://sourceforge.net/projects/owondriver/
[2] https://github.com/bjonnh/owon-sds7102-protocol
[3] https://github.com/h-elsner/OwonOszi
[4] https://github.com/7oxicshadow/owoncontrol-qt
[5] https://www.owontech.com/driver

Leave a Reply

Your email address will not be published. Required fields are marked *