Skip to main content

picodaq — Python library for picoDAQ data acquisition

Introduction

Data acquisition is a central aspect of many types of scientific experiments. Commonly, some measurement device outputs a time-varying voltage which you would like to capture on a computer. With picodaq, this can be as easy as

with AnalogIn(channel=0, rate=50*kHz) as ai:
    data = ai.read(10*s)

At present, the picodaq library supports our soon-to-be-released picoDAQ hardware. Support for other popular hardware may be added in the future.

Features

  • Multi-channel data acquisition
  • Multi-channel analog output
  • Multi-channel signal generator
  • Continuous or episodic recording
  • Optional digital triggering
  • Synchronized digital input and output
  • All with a refreshingly simple API

Installation

As easy as

pip install picodaq

Examples of use

Single-channel data acquisition

After

from picodaq import *
import matplotlib.pyplot as plt

you really can acquire 10 seconds of data, sampled at 50 kHz from channel “ai 0” of your data acquisition board simply by

with AnalogIn(channel=0, rate=50*kHz) as ai:
    data = ai.read(10*s)

and plot the results with

plt.plot(data)

Multi-channel data acquisition

Of course, you can also capture several channels at once, and the “read” method can be made to return time stamps so you can have time in seconds rather than sample numbers on your x-axis:

with AnalogIn(channels=[0,2], rate=50*kHz) as ai:
    data, time_s = ai.read(10*s, times=True)
plt.plot(time_s, data)

Documentation

Full documentation for the picodaq library is at picodaq.github.io.

Development

Development of the picodaq library is on github.

Metadata

Release files for picodaq 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for picodaq 0.1.7
File Interpreter ABI Platform
picodaq-0.1.7-py3-none-any.whl Python 3 none any Details

Release files / picodaq-0.1.7-py3-none-any.whl

Download URL picodaq-0.1.7-py3-none-any.whl
Size 55.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f3cb50eddb1e401ac2bcb8732123da778e1d5e422a89dd51c69816b0c49fbb2
BLAKE2b-256 checksum
How to use checksums
cff87fc8f01f14263629e26d093c212a498f603dd035e6959a047f1a379254c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.1.7 This release

1 release file

0.1.4

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page