Linux Software & Drivers for Oscilloscopes and Data Loggers

PicoScope 6 for Linux brings many of the features of our powerful oscilloscope software to a large number of platforms. Our Drivers and APIs can also be used, with bindings available for C and other higher-level languages.

Linux screenshot
Linux screenshot
Linux screenshot
Linux screenshot

Supported platforms

Pico officially supports Ubuntu 18.04 LTS, openSUSE Leap 15.0. However, a growing community of users apply our software on a wider variety of Linux distributions. Help for doing so may be available from the community via our forums. Our Linux drivers and APIs are available for Raspbian Stretch (release 2019-04-08) running on the Raspberry Pi 3, although PicoScope 6 has not been ported to ARM-based platforms.

Please note that the Linux builds are not formally tested and should be considered beta quality. PicoScope 6 for Linux is offered as a service to Pico Technology customers and not all features from PicoScope 6 for Windows have yet been ported to Linux. Whilst we shall do our best to help Linux customers, a timely response to questions or problems cannot be guaranteed. For this reason we suggest you use our support forum to discuss using Pico products with Linux.

PicoScope 6

PicoScope 6 for Linux remains in Beta status, and will continue to do so until it attains feature parity with the Windows version of the software. Please see the latest Release Notes for information about which PicoScope 6 for Windows features are yet to be ported to Linux.


PicoScope is distributed via our online repositories. For operating system-specific instructions, please choose your distribution.

  1. Add repository to the updater
    sudo bash -c 'echo "deb picoscope main" >/etc/apt/sources.list.d/picoscope.list'
  2. Import public key
    wget -O - | sudo apt-key add -
  3. Update package manager cache
    sudo apt-get update
  4. Install PicoScope
    sudo apt-get install picoscope
  1. Add repository to the updater
    sudo zypper addrepo picoscope
  2. Import public key
    sudo rpmkeys --import
  3. Update package manager cache
    sudo zypper refresh
  4. Install PicoScope
    sudo zypper install picoscope

Linux drivers and API

Installing PicoScope 6 will automatically install the drivers for all PicoScope products. If you do not wish to use PicoScope, then you may install only the software relevant to your device. Choose your Operating System and Device at the bottom of the page for further instructions.

Example programs exhibiting the use of a large number of the API functions can be found on GitHub. Examples and bindings are available for many languages, including C, Python, MATLAB and Java.

Documentation for our APIs can be found in the form of Programmer's Guides in the Library. Further support is available via our Linux Driver forums.

Locating the driver package files

  1. Open a terminal window
  2. Navigate to the the /opt/picoscope directory:
  3. cd /opt/picoscope
  4. The following directories will be available:
    • /include – C/C++ header files for the libraries (in a sub-directory according to the library name) and wrapper libraries
    • /lib – shared object (so) library files to link against
    • /share/doc/ – a set of directories corresponding to the various drivers, each containing a usbtest application e.g. /share/doc/libps6000 for the PicoScope 6000 Series Oscilloscopes
    • /bin (if you have installed the PicoScope software) – launch script for the PicoScope 6 software

Installing drivers only

To install drivers for a particular device please choose your Operating System and Device below. If you have not already done so, you must first follow steps 1–3 of the PicoScope 6 installation process above to add our repository to your updater and import our public key.


libpswrappers package

If you wish to use the PicoScope libraries with languages that do not support C-style callback functions (such as MathWorks MATLAB and National Instruments LabVIEW), you can install our wrapper libraries by also installing the libpswrappers package.

If you have not already done so, you must first follow steps 1–3 of the PicoScope 6 installation process above to add our repository to your updater and import our public key. Also install the necessary driver for your device (see previous section for instructions). Then install the libpswrappers package:

sudo [updater] install libpswrappers

Replace [updater] with the correct tool for your operating system (Ubuntu -> apt-get, OpenSUSE -> zypper).

Drivers for Raspberry Pi

Drivers for Pico products are available for the Raspberry Pi 3. The drivers target the ARMv7 architecture (with the VFP3-D16 floating point extension) so could be deployed on any compatible platform, although are distributed as Debian armhf packages for Raspbian. To obtain the packages, follow the instructions above for installing drivers only on Raspbian stretch (or click here to obtain the .deb packages directly).

  • We recommend using a powered USB hub to connect the devices. Some devices have high current requirements and connecting them to the embedded system may cause a current surge, which might cause the OS to hang or in extreme cases could damage the USB port.
  • Most embedded systems do not meet the recommended system requirements for the drivers. In some cases, the driver may not have sufficient resources to process incoming data causing applications to receive incomplete data or hang.
  • When designing your application, consider its memory requirements and adjust the sample rate accordingly.
  • These are beta drivers. All driver features are available, but they may not work in all cases. This release is targeted for experienced software/system developers willing to explore the possibility of running our devices on ARM-based platforms. For any queries and bug reports please contact