Author Options:

How to Make a Cheap Data Acquisition System Answered

Hello. I am new to this forum. I am a Physics  (Optics) student and i do not have access to a good data acquisition system. I tried data acquisition with Arduino Due (in under 40$) but it can only sample frequencies up to 1KHz. Is there any other cheap way to make a better DAQ system with higher speeds? By cheap i mean under 50$.

P.S. My electronics knowledge is not very good so please discuss in detail. 



2 years ago

An Arduino Uno or Due can sample at frequencies way above 50Khz, and store it on SD card using the Adafruit data logging shield. You'll have to digg up some source code from old links, see here: https://forums.adafruit.com/viewtopic.php?f=31&t=30557#p153175

There are systems out there that can provide low cost means of data acquisition. But for something a bit more feature filled there's a Tekdaqc, its system that is built specifically for high precision low cost. check out the Tekdaqc by tenkiv.com.

It might be good for your classroom and even school. Contact me and I can try and workout some educational discount.

full disclosure: I work for Tenkiv.


3 years ago

I've never worked with an Arduino Due (32 bit), but based on my experience with 8 bit AVRs, you should be able to sample at much higher frequencies than 1KHz.

I've built projects with the atmega8 (4 MHz clock) with a sample rate of 250KHz. At that clock speed, and with that prescaler it didn't sample with the full 10-bit resolution, but it still worked.

This website lists the sample rate at 1,000 ksps, or 1,000,000 samples per second. Without reading deeper (or warping my brain back to 2006), ksps probably means byte sample rate, which would be very fast indeed.

Actually, the Due has a 12-bit ADC, so it's 1,000 ksps w/ 12 bits, more than a byte per sample.

Thanks gmoon, Your reply was more relevant (at least to my understanding). The website you provided says Due speed is 1,000 ksps, but i have sampled the test signal from my Agilent Oscilloscope which is around 1.2kHz and then i plotted the data, i found approximately 1.2 to 2 points for one frequency cycle that is why I said Dues' speed is around 1kHz. May be my data acquisition code is not efficient. Anyhow Thanks for the reply.

Yeah, you might want to check the code. AFAIK, the Due processor runs at 84MHz, so it should have plenty of speed and power for sampling.

For a comparison, here's an old video of my crude hacked-up "toy" oscilloscope, which used a 4MHz atmega8 AVR for sampling, which transferred and displayed the data on a hacked C64DTV (Jeri Ellsworth's Commodore hardware 64 emulator, running at 1MHz).

The AVR is sampling audio waveforms (square, sine, sawtooth) produced by the C64DTV itself. It's pretty easy to see the shape of each waveform--including the imperfect wave shapes produced by the (somewhat) poorly emulated SID (sound chip on the original C-64) of the C64DTV. So it's using a reasonably high sampling rate.

Hey, new bug on Instructables! New to me, anyways...

The above should have had two different links in the middle paragraph. In fact I edited it twice because when I added the second link it overwrote the first (link code and text). After that edit it looked OK. Now that it's posted, each link is identical.

Maybe Ibles doesn't play well with Chrome.

Here's the link to the C64DTV.


3 years ago

Fast, high resolution, cheap... pick two.

If you want faster than 1KHz, and still cheap, you will need to sacrifice resolution (bit size of samples). If you sample Very Fast, you can use DSP techniques to downsample AND increase resolution. Depending on what you want to sample, this can work BUT the expense moves from $$$ (for hardware) to TIME (to write and debug the DSP code). How fast do you want to sample, and what is your time worth?

Hey AlanC2. my problem involves sampling of optical fringes from different types of interferometers. Sometime the fringes require speeds more than 3KHz which Arduino cannot sample.

And can You please tell me what kind of DSP technique is suitable for this specific problem?

Well if a 1Khz sample rate isn't sufficient what is?

In many cases a DIY solution isn't cheaper. Electronics manufactures don't tack on much for manufacturing. Most of the cost is in parts which they buy in bulk for a much greater discount per part then we can get. So their final product comes out cheaper even after they nearly double the price to make a profit. DIY mainly saves you money buy cutting out expensive labor charges. Such as automotive, construction and repair.