Data Acquisition similar to Labjack

I would like to see a data acquisition system similar to Labjack products but with a programmable Pic rather then one that has it’s code locked. Maybe 12 or 16 bit, high sample rate 10k/sec maybe, 16 single/8 diff inputs, programmable gain amplifiers, Low pass filtering, digital I/O, ability to trigger on an I/O line and analog input. Ability to take pretrigger samples, portable battery operated if possible, ability to log data to to microsd memory or flash eeprom, USB for communications to PC to download data and realtime monitoring and logging directly to PC.

A couple D/A channels would be nice too or ability to add SPI D/A, and Serial LCD for local viewing of channels and setup acquisition during portable operation. Just some suggestions.

Ability to use this in labview.

Just on my wish list for sparkfun.

Bryan

Hello from about [44 miles south of SparkFun.

This is an interesting product idea; it includes many things a LabJack can do, and some that it can’t. How important is it that you be able to program the microcontroller on the device? The LabJack U3, for example, has a programming header; we hope you understand we can’t support it, but we could give you a little help on how to void your warranty by loading your own code.

If you’re willing send commands to the LabJack via USB from a PC (our preferred, modular design), we’re really excited about the increasingly small form-factor you can get for PCs. The LabJack and the Chumby, to pick one, make a great pair. There’s a picture of a LabJack and Chumby on our [LJSocket page. You can use that pair with LabVIEW, log data to the Chumby’s MicroSD or attach a USB flash drive, use it’s touchscreen display, and generally do everything on your wish list. The Chumby One even has a battery backup, but it’s not really battery-powered. We also like the single-board computers from Technologic Systems. We fully support the [TS-7500 and [TS-7800. We haven’t got our hands on a [TS-7553 yet, but we like the look of it.

These directions may not suit you, but we wanted you to know that we’re listening.](http://www.embeddedarm.com/products/board-detail.php?product=TS-7553)](http://www.embeddedarm.com/products/board-detail.php?product=TS-7800)](http://www.embeddedarm.com/products/board-detail.php?product=TS-7500)](http://labjack.com/support/python/ljsocket)](http://maps.google.com/maps?f=d&source=s_d&saddr=6175+Longbow+Drive,+Boulder,+CO+80301+(SparkFun+Electronics)&daddr=3232+S+Vance+ST+%23100,+Lakewood,+CO+80227+(LabJack+Corporation)&geocode=Fa5XYwId1p-6-SHZ3vaPKtAbyimb8p6P0fFrhzHR9Jn-DmTM2A%3B&hl=en&mra=ls&sll=39.863725,-105.114075&sspn=0.708356,1.220856&ie=UTF8&z=10)

My complaint is that there are several data acq. systems out there but the sad thing is data acquisition’s requirements haven’t changed much over the years. It would be nice to have a smart system as BrianS mentioned. Most DAQ systems are just “dumb”.

I don’t want to have to send a lot of commands to the data acq. board. I’ve tried that and it’s ugly, you get hiccups over USB, the data competes with control code and what a hassle to work around the “dumb” das board. As an example, something as simple as hum-filtering a LabJack U3 analogs. Can I get a filtered/average value… or do I have to oversample, load an array, do some filtering in math… on the non-deterministic PC?

National Instruments messed up by using custom FPGAs on their DAQ boards, that were (are?) pretty dumb and expensive. Measuring RPM or auto-scanning A/D channels used up all your timers. You had A/D readings buffered for a few samples only. Very primitive functions and they expect you to use LabView to overcome this.

Can’t I just get pulse count or RPM, or the A/D buffer, or an averaged A/D value? High level data from the board.

I’d like it wireless too- the data acq. system rarely has network access, it’s out on the plant floor on some machine or the IT dept. won’t allow it on the corp. WAN.

I’m really looking for an embedded solution to eliminate having to have to design a test fixture with a custom data acquisition circuit for every project. It’s to costly to dedicate a several thousand dollar National Instruments card with filtering and amplifiers for every test fixture built. So a simplier approach would be to have a single board that can amplify, filter, and acquire the data yet be adaptable to different types of measurement conditions. Such as different filtering,amplifier gains, single or differential inputs, and sampling rates.

Possibly have the ability to expand channels via SPI controlled multiplexers. Or use additional A/D converters. As mentioned before triggering by both digital and analog inputs as well as acquiring pretrigger data. A couple of D/A channels (expandable). Ability to tie in a LCD display and possibly a keypad. Choose whether I can log my data to serial eeprom, microSD, or computer via USB for example. My purpose is product testing of other circuit boards. I need to be able to apply analog voltages as well as digital switching to circuit board inputs and be able to read analog voltages and digital conditions back from the circuit boards. I have usually performed data conversion by computer because they can perform better floating point math then the PICs I have been using. I needed highly accurate conversions. I have tried using a separate DSPic (the floating point processor sparkfun sells) to perform calculations with some good results.

I would rather stay away from FPGA even though they may fit the bill.

Labjack products are close to is needed but I would like to see some additional features and ability to alter their firmware. For labjack I can see it being a hard thing to provide source to firmware. Maybe they can work with sparkfun to design a new and better product. Even if it made use of a (ugly word) bootloader. Bitwacker?

Bryan

redwire:
Most DAQ systems are just “dumb”.

I called the U6 on my desk dumb, and it started weeping. I think I hit too close to home. :D

redwire:
As an example, something as simple as hum-filtering a LabJack U3 analogs. Can I get a filtered/average value?

You may be interested to know that the [[latest version](http://labjack.com/support/u6/firmware-revision-history) of the U6 firmware (1.13) can average. We added a DSP I/O type that can do, for example, RMS calculations. The framework we've added allows for different processing.

redwire:
Can’t I just get pulse count or RPM, or the A/D buffer, or an averaged A/D value? High level data from the board.

Here you're speaking about DAQs in general, and we agree that they should have the ability to return high-level data. The LabJacks do have counters and quadrature encoding, a large stream buffer that can return analog data in big blocks, and the U6 can average. We've also considered a way for customers to write scripts to load on a LabJack and do processing. We halted development when we couldn't find the right level of abstraction. Without completely highjacking BrianS' topic, feel free to contact us directly on what you think these type of scripts should look like.](http://labjack.com/support/u6/firmware-revision-history)

redwire:
As an example, something as simple as hum-filtering a LabJack U3 analogs. Can I get a filtered/average value… or do I have to oversample, load an array, do some filtering in math… on the non-deterministic PC?

Trying not to threadjack... in that case, I would probably grab the raw data, timestamp each reading, dump to a CSV file, then post-process the entire CSV. I have done similar stuff in the past. This way you are not trying to chug through a lot of floating point calculations in real time, and instead of having to update your DAQ with new firmware, then a new software revision to communicate with the DAQ, you are only revising your post-processing part of the app. Makes it very, very fast and easy to tinker with different filtering, etc, applied to the raw data.

BrianS:
I’m really looking for an embedded solution to eliminate having to have to design a test fixture with a custom data acquisition circuit for every project. It’s to costly to dedicate a several thousand dollar National Instruments card with filtering and amplifiers for every test fixture built. So a simplier approach would be to have a single board that can amplify, filter, and acquire the data yet be adaptable to different types of measurement conditions. Such as different filtering,amplifier gains, single or differential inputs, and sampling rates.

Possibly have the ability to expand channels via SPI controlled multiplexers. Or use additional A/D converters. As mentioned before triggering by both digital and analog inputs as well as acquiring pretrigger data. A couple of D/A channels (expandable). Ability to tie in a LCD display and possibly a keypad. Choose whether I can log my data to serial eeprom, microSD, or computer via USB for example. My purpose is product testing of other circuit boards. I need to be able to apply analog voltages as well as digital switching to circuit board inputs and be able to read analog voltages and digital conditions back from the circuit boards. I have usually performed data conversion by computer because they can perform better floating point math then the PICs I have been using. I needed highly accurate conversions. I have tried using a separate DSPic (the floating point processor sparkfun sells) to perform calculations with some good results.

I would rather stay away from FPGA even though they may fit the bill.

Labjack products are close to is needed but I would like to see some additional features and ability to alter their firmware. For labjack I can see it being a hard thing to provide source to firmware. Maybe they can work with sparkfun to design a new and better product. Even if it made use of a (ugly word) bootloader. Bitwacker?

I want this too.

This guys seems to have designs for one: http://folknologylabs.wordpress.com/201 … /#comments

Amino itself is a bigger project and I have literally tens of board designs I am whittling down based on different benefits and features. One of them for example provides both High speed differential ADCs (and DACs) as wells as PGA. Notice I haven’t added filtering, primarily because if the ADC is fast enough the filtering can actually be achieved digitally which has enormous benefits. Thus one just adds perhaps a roll off at input to lower HF noise. The board I’m referring to was actually being designed for motor control applications but I am rapidly coming to the conclusion that I should offer it as a generic DSP board as I have recently found a way to significantly reduces its BOM cost.