
Imagine the most straightforward of data acquisition setups: Four analog inputs, four analog outputs, four digital inputs, and four digital outputs. Each channel sampled simultaneously at 75 kHz.
Everything is acquired on the same clock: clean, parallel acquisition and output across all lines.
GUI
No proprietary control or acquisition software: picoDAQ comes with a full-featured, free EScope GUI for immediate visualization, configuration, and recording:
> pip install escope
> escope

python interface
For users who prefer automation or integration into existing pipelines, a Python interface exposes the same capabilities programmatically—streaming, triggering, logging, and control in a few lines of code.
from picodaq import *
with AnalogOut(rate=50*kHz) as ao:
with AnalogIn(channels=[0, 1]) as ai:
ao[0].stimulus(train1)
ao[1].stimulus(train2)
ao.run()
data, times = ai.readall(times=True)
plt.plot(times, data)
plt.xlabel("Time (s)")
plt.ylabel("Voltage (V)")
Potential use cases
- Record four analog signals (e.g., photodiodes, microphones, sensors) at full bandwidth without sacrificing simultaneity.
- Drive four analog outputs (e.g., galvos, speakers, LEDs, stimulation hardware) with precise timing alignment to acquisition.
- Monitor and control four digital lines for triggers, frame clocks, behavioral events, or TTL pulses.
- Do it all at 75 kilosamples per second per channel, concurrently.
Deterministic acquisition and output, with a GUI when you want to see what’s happening, and Python when you want to control everything yourself. It just works.
- Choosing a selection results in a full page refresh.
- Opens in a new window.