Skip to main content
pyPicoSDK

pyPicoSDK

GSAS Engineering · · 2 min read

pyPicoSDK: Getting started

Introduction

Pico Technology provides a wide range of PC-based oscilloscopes that can be controlled and automated using software. For Python developers, pyPicoSDK offers a convenient way to interface with PicoScope devices, enabling tasks such as data capture, automation, and analysis directly within Python scripts.

This approach is especially useful for engineers and researchers who want to integrate oscilloscope measurements into automated test setups, signal processing workflows, or data analysis pipelines.

Step 1: Install PicoSDK

Before using pyPicoSDK, you need to have the official PicoSDK drivers installed. These drivers act as the communication layer between your computer and the PicoScope hardware.

  • The SDK can be downloaded from Pico Technology’s official website.

  • Choose the installer that matches your operating system (Windows, Linux, or macOS).


Step 2: Install pyPicoSDK (Python Wrapper)

Once the drivers are ready, you can install the Python wrapper using pip:

pip install pypicosdk

This package provides Python bindings for the C-based PicoSDK libraries.


Step 3: Import pyPicoSDK in Your Python Project

After installation, you can start writing Python scripts. To load the library, simply import it:

import pypicosdk as psdk

Step 4: Quick Test Script

Here’s a minimal script to test your setup:

scope = psdk.ps6000a()
scope.open_unit()
print(scope.get_unit_serial())
scope.close_unit()

If everything is working correctly, this script will open the oscilloscope, print the device’s serial number, and then close the connection.


Step 5: Explore Example Scripts

pyPicoSDK includes a set of example scripts on GitHub that demonstrate how to configure the scope, capture signals, and process the data. Running these examples is the best way to get familiar with the library’s capabilities.

Supported Devices

Currently, pyPicoSDK supports:

  • PicoScope 6000E Series (via the ps6000a driver)

  • PicoScope 3000E Series (via the psospa driver)

More device families are expected to be added in the future as development progresses.


Why Use pyPicoSDK? (Theory)

Traditionally, oscilloscopes are controlled through vendor-specific GUI applications. While convenient, this limits flexibility in automated testing and integration with custom workflows. By exposing the hardware API through Python:

  • Engineers can integrate oscilloscopes into larger automated test systems.

  • Researchers can directly analyze captured data using libraries like NumPy, SciPy, or Matplotlib.

  • Developers can build custom measurement solutions that go beyond the scope of standard oscilloscope software.

In short, pyPicoSDK bridges the gap between PicoScope hardware and Python’s powerful ecosystem for scientific computing.

Interested in Pico Technology tools?

Talk to our application engineers for personalized tool recommendations.

Stay in the Loop

Get monthly compliance updates, product insights, and engineering best practices delivered to your inbox.

Related Articles

Master and slave roles on a 100BASE-T1 link: the master PHY times its transmitter from a local clock, the slave recovers the clock from the received signal, with the both-master and both-slave misconfigurations that leave the link down, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

100BASE-T1 Link Won't Come Up: A Vendor-Neutral Checklist

A 100BASE-T1 link that will not come up is almost never a mystery, but the answers on the web are written per silicon vendor and do not transfer. This is the ordered bring-up checklist that holds regardless of which PHY, switch or SoC you have: physical layer first, then the PHY over MDIO, then the master and slave pairing, then the causes of a link that comes up and drops. The standards and tooling claims trace to IEEE 802.3 task force records, the Linux ethtool and kernel documentation or published test material. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 14 min read
Side by side comparison of a 10BASE-T1S multidrop mixing segment, one balanced pair with four nodes on short stubs and a termination at each end, against a point to point star of four separate links into switch ports, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

10BASE-T1S and PLCA: Multidrop Ethernet Explained

10BASE-T1S is the one member of the T1 single-pair Ethernet family that keeps a shared medium, and PLCA is the reconciliation sublayer that stops the nodes on it from colliding. This article covers what IEEE 802.3cg standardises, how the beacon and transmit opportunities schedule a cycle, the node count and segment length figures the OPEN Alliance interoperability test suite works to, and the failure modes that put a segment quietly back into contention while every link still looks up. Written by the GSAS Micro Systems engineering team in India for teams bringing up multidrop segments on the bench.

29 Aug 2026 · 12 min read
Horizontal stacked bar showing where an ADAS test vehicle's bandwidth budget is spent, split into cameras, lidar, radar and bus traffic, with the logger uplink limit drawn as a vertical rule crossing the bar, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

ADAS Sensor Data Logging: Bandwidth Budgets That Add Up

Every page that tells you an ADAS test vehicle produces terabytes a day states the headline and skips the arithmetic, so you cannot redo it for your own sensor set. This article publishes the arithmetic instead: one formula, every table row derived on the page, a worked eight-hour drive that chains those rows into a sustained write rate, a media count and an offload window, and the five places bandwidth budgets go wrong. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 15 min read