Picoscope Beta for Linux
Tux logo by Larry Ewing, Simon Budig, Anja Gerwinski
I’ve been a big fan of Picotech’s USB connected PC oscilloscopes ever since I purchased my first PicoScope 2204 almost two years ago. I liked the compact form factor on my desk a lot, and the powerful Picoscope software for Windows – Picotech makes only one version of this software so you get the same functionality with a £159 ($260) 2204 scope as a £5,995 ($9,900) PicoScope 6407 user would – although of course the scope features would be wildly different.
Now Picoscope is a great piece of Windows software and as I generally use Win7 to avoid reboots every time I want to use Photoshop or play a session of Mass Effect, it’s been perfect for me. However, quite a few of electronics enthusiasts are also big advocates of open software movement, and while Picotech has had drivers and SDK for Linux for a while to implement things like my realtime composite decoder, the fact that there is no Linux version of the oscilloscope software has been unfortunate. So when I noticed in the latest Picotech newsletter that there is now a beta of Picoscope for Linux, I knew I had to take it for a spin.
Installing Picoscope on Linux Mint 15
Picotech’s installation process is built on
apt packaging system, so a Debian-based Linux distro is the easiest installation target. This includes the wildly popular Ubuntu and Linux Mint distros, which means mainstream Linux users are well catered to. In Picotech forums, the beta thread had at least one user who extracted necessary stuff from the .deb packages and installed the software for Fedora, too.
In Debian-based Mint, the installation went without any hiccups just by following the instructions at Picotech’s Linux Drivers page. Note that
sudo apt-get install picoscope also installs all drivers so you don’t need to install your model-specific driver separately. Essentially the installation is just:
sudo echo deb http://labs.picotech.com/debian picoscope main >> /etc/apt/sources.list wget -O - http://labs.picotech.com/debian/dists/picoscope/Release.gpg.key | sudo apt-key add - sudo apt-get update sudo apt-get install picoscope
If the installation went without problems, plug in your Picoscope and just type
picoscope to launch the program.
Picoscope for Linux Beta First Impressions
I recently renewed the site’s sponsorship deal with Picotech and got a Picotech 5444B (review coming in near future :), so I had the great opportunity to try out the beta software with two different scopes, my 3206B and the new 5444B. Here’s a sample of dmesg output when connecting the scopes and running the software (which I think will reset the device when you select it):
[ 6290.385504] usb 1-1.2: new high-speed USB device number 11 using ehci-pci [ 6290.478035] usb 1-1.2: New USB device found, idVendor=0ce9, idProduct=1019 [ 6290.478040] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 6290.478043] usb 1-1.2: Product: PicoScope 5000 [ 6290.478045] usb 1-1.2: Manufacturer: Pico Technology [ 6290.621273] usb 1-1.2: reset high-speed USB device number 11 using ehci-pci [ 6293.767648] usb 1-1.1: USB disconnect, device number 10 [ 6295.500489] usb 1-1.1: new high-speed USB device number 12 using ehci-pci [ 6295.592990] usb 1-1.1: New USB device found, idVendor=0ce9, idProduct=1012 [ 6295.592994] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 6295.592997] usb 1-1.1: Product: PicoScope 3000 [ 6295.592999] usb 1-1.1: Manufacturer: Pico Technology [ 6295.804192] usb 1-1.1: reset high-speed USB device number 12 using ehci-pci
When launching Picoscope software with multiple scopes attached, you get to choose which you want to use, very much like in the Windows version (one instance cannot use two scopes, you need two windows for that). See the image on the left for illustration. After selecting the scope, you’ll hear the usual click sound from the scope as it starts measuring and sending data.
I initially had some trouble with two scopes and thought the software had problems with them, but it was solved by switching to Picoscope’s original cable and swapping the connected USB port, so it might’ve been just some powering issue (some USB ports in a computer tend to give more power than others, for example the ones directly on motherboard vs. those you connect with a cable to ports on PC case, or external hubs).
Once the program is launched, a very familiar Picoscope interface is available. All major functions I tend to use are already implemented (which may tell more about me though):
- Channel voltage range selection (and AC/DC option)
- Probe type (x1, x10, etc.) by clicking the channel label (A/B/C/D) – I had to manually change the type to x10 to match my probe setting and get correct voltage scale
- Turning channels on and off
- Display timebase (e.g. 1ms/div, 200ns/div)
- Amount of samples captured per measurement (default 1M)
- Capture accuracy (yes, 5000 series 14/15/16 bit options are supported already)
- Browsing of capture buffers and zooming
- Signal generator and its settings
- Trigger settings (looks like the whole range of options but didn’t compare them side-by-side with Windows software)
- Measurements (frequency, AC RMS, duty cycle, …) on signal
Persistent mode (on right) with it’s slowly fading previous waveforms is also there to pinpoint temporal changes in signal. Only things I noticed missing were maths channels (like create a virtual channel from A-B), protocol decoding support (e.g. serial signal decoding) and the (quite useless in my opinion as I like the next/prev buttons more) visual waveform buffer browser. I’m quite sure these will follow in time, and meanwhile, you can always export the measurement data to CSV, Matlab or some other supported format and analyze it with separate software. Considering the effort already put into the Linux version, I’m quite sure these features will also be implemented once the beta matures.
The spectrum analyzer mode is already implemented as well. I haven’t played with it much myself, but I couldn’t pinpoint any difference to Windows version – the UI-specific part of spectrum analysis is quite light so it might well be that all features are already there. In the example screenshot, you can see the 1 kHz square wave analyzed, with the expected harmonics at 3, 5, 7 kHz etc. (don’t draw any conclusions about the values around the peaks, I was playing with different options in the image).
Overall, the beta version of the Picoscope software for Linux left a very positive impression. The UI shares the look and feel of Windows version which is very good if you have used the Picoscope software before or need to use it in both operating systems. The UI is very responsive and doesn’t have any of that “we kinda ported this to Linux but didn’t really care enough” feeling that plague many Windows software ports. During my test run, the only issue I encountered was that one time the toolbar didn’t re-render properly and I had to resize the window to draw it (I had the same problem with Gimp, so it could be related to Cinnamon desktop in Linux Mint).
For a beta stage software, there’s a very polished feel to the software – in Linux world I actually have often encountered mature software with more warts. Functionality wise the Picoscope software is already lightyears ahead Qpicoscope and other attempts at Linux scope software – it’s an extremely powerful piece of software, well capable of replacing a professional benchtop scope. And once the Linux version gains protocol decoding support and maths channels, I don’t see any reason at all to reboot to Windows to get full potential out of the Picoscope hardware.
Big thumbs up for the Picotech guys for making the Linux version, and doing it well. Now let’s hope once they get past the beta stage, they’ll also get alternate package formats (Fedora, SUSE and plain tgz come to mind), after that we can gracefully forget this huge improvement and start badgering about OS X version. :)