[posted] USB DAQ with the Teensy

@notthetup Yes, it was the mccdaq and the labjacks, that led me to feel the need to do this. This is better than any of those, for a few reasons.

Here are a few of the specs that I was particular about:

  • It's a much better quality, lower noise analog interface compared to any of the modestly priced USB DAQ's
  • The inputs have a reasonable impedance (not like the labjack)
  • It plays well with python in linux and windows
  • It has smooth ramps and waveforms for the DAC
  • The DAC output can drive 40 mA.
  • You can program the internals to give it what every functionality you want.

There are some accessories also, a precision high gain current amplifier (10^8), expansion boards to add more precision input channels, and a voltage driven power supply that can be used to drive waveforms at 1A. I use this for characterizing OLEDs and doing charge modulation studies.

I have started to look into having a small run made. It could be around $350/board if five people want to pitch in.
Last edited:
DAQ vendors in general are miserable sources of DAQ software, and very few are conscientious even about their hardware.

While expensive, DAQ hardware and LabVEW software from National Instruments offers top notch software and hardware with terrific responsive technical support. Accurate low noise DAQ with software ability to configure and control it down to very low level tasks is available.


I am a little bit familiar with NI, and I am not a fan. Moreover, with their focus on expensive software (400/year to 5K/seat plus fees for deployment), it is not easy to see why they would be relevant for us. The point here is to provide features and high performance rivalling or exceeding the best commercial offerings, while still at low cost.

To be fair, I just checked and it seems that NI's 16 and 18 bit 250 kS/s (aggregate) products for USB are still spec'd as good to 3 mV and the costs are from about $1,000 to $3,000. That seems pretty miserable. The board we posted here is a factor of 10 better.

The last time I worked with their PCI boards, they were polling rather than using interrupts and they would not let me have a register map to write my own driver. So much for low level access.

My impression is that they seem to be more about selling their high priced graphical software for generating control systems.

The people that I know who use their software, do not consider themselves to be programmers. It was said to me years ago at BNL, in an effort to justify using their stuff, that that is their market. That seems about right.
Last edited:
NI boards have separate clocks for AI, AO and digital IO with ability to define waveforms for each and synchronize them if desired. Able to internally by software, reroute signals such that a counter output appears on a different pin. Or route a specific pin for use as analog reference trigger with settable threshold and pre/post triggering. Perform buffered pulse separation measurements. Hardware clocked AO waveform generation can have its array buffer transferred during generation by the user’s software under program control, or have the driver do it in the background or load the entire waveform onto the board. This versatility is what I meant by low level control. In practice, I think their specs are more accurate. 5 volts AO for example is 5.000 +/-1mV. But yes I wish specs were better and don’t see why they couldn’t be especially for what it costs.

I don’t know why a LabViEW programmer would not consider themselves a programmer. Similar constructs as text based are there. You still have to design proper architecture and understand basic principles even though much of that is hidden from you. Just because it is doesn’t mean you shouldn’t understand it in order to develop proper code. Maybe not having to know certain aspects of programming makes it easier to write bad code.

You can take advantage of automatic multithreading and loop parallelization. In 20 minutes you can write a program from scratch to acquire at 1 MHz with real time plotting, graph zooming, cursors and much more. 25 if you want FFT and histograms. R-click gets you many more options...
The board described in this thread was designed to provide high precision low noise signal acquisition, waveform generation and digital I/O in a programmable board with an open API that interfaces easily with python, and at a price point of a few hundred dollar.

Most of the users here will understand how many clocks the Teensy provides and how to use them to run the ADC or DAC in ways that meet their needs, if I have not already provided it in the embedded code that I wrote for the board.

What NI does and charges thousands of dollars for, is really not the point.
I tried to find the files for this project that I think should be in the first post in this thread. But it does not work for some reason.
Can you point me in a direction where to find this? ..if you are still willing to share..=)
Hi, it is a SMT design. So you have to have the actual board. I am interested to make some more if there are a few people to help dilute the assembly costs.