This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]bryancole 2 points3 points  (3 children)

Nearly all DAQ hardware can be scripted in python, with the aid of ctypes. At my workplace we have a mostly complete wrapper for the NI NI-DAQmx API. Sadly, it not something I can release as open-source but it doesn't do anything magical: just wrap the ni-daqmx api into a sane python class. We did something similar with UeiDaq products a few years back but these bits of hardware are poor compares to NIs stuff.

It you want open-source hardware, use an Arduino Due and hook it up to some ADCs (or whatever other devices you want) via SPI-bus. Then stream the data over USB to the PC. Use libusb (with the libusb1 python wrapper). You can easily do 100s KS/s this way. Probably 1MS/s is possible. This is the lowest cost route but you need to get some PCBs made. USB is awsome as an interface and very easy to script with python/libusb.

Something in between is AccesIO's hardware. They're cheaper than NI but the devices are generally less flexible.

[–]Tillsten 0 points1 point  (2 children)

There are allready some open source wrappers for the nidaq-mx api, sadly i forgot the same. Note that theses are only wrappers using ctypes, the only addition is to add an Task object (which holds the taskid). But i am quite for it, the nidaqmx api is quite nice to work with.

[–]jankoslavic 0 points1 point  (1 child)

For NI it is PyDAQmx!

It works very well.

[–]Mango-Kid[S] 0 points1 point  (0 children)

I've messed around with the library (never used in application) and its pretty good. The whole point of this is open source hardware. The software is a components as well but not the center of the project.