PiDaQ: A Raspberry Pi Data Aquisition Module

Using a highly configurable ADC the Raspberry Pi can be used to create a networked data acquisition module.

Similar projects worth following
My first introduction to Data Acquisition was in college. We where using an NI chassis system to monitor and control a complex dental vacuum system. One of the things that stood out to me was how incredibly expensive DAQ devices are (especially if they are networked).

The PiDaQ is my take on making a lower cost data acquisition and control module that can be used for all kinds of different operations. Basing the design around the Raspberry Pi allows for the addition of WiFi. Normally a DAQ with Wifi or even just network capabilities will cost well over $400.

The PiDaQ has about 20 IO which can be configured as a ADC (differential or single ended), a DAC, Digital IO, or can be Muxed to other IO. The IO will also be capable of handling a voltage range of +10V to -10V. The PiDaQ also has two relays and a MAX thermocouple IC for reading a thermocouple input. The design only uses 6 IO from the Raspberry Pi so people can still add there own sensors and systems if they want.

This project will be an open source project once the schematics and code are cleaned up a lot. Right now everything is wonderful development mess :)

  • 20 Flexible Inputs (ADC, Digital, DAC) with individual selectable voltage ranges
  • 12 Bit ADC (SAR)
  • Programmable Unique reference voltage for each port
  • 400Ksps
  • 2 NO relays for controlling whatever
  • 3 indicator LEDs (wired directly to the Raspberry Pi IO)
  • 1 Thermocouple Input
  • Raspberry Pi IO all available at the end of the board
  • 5V, 3.3V, 10V & -10V power available
  • Selectable voltage references (can use an external reference)
  • Simple analog design allows design to be reused easily
  • Nice screw-able terminal blocks for easy connection

  • First prototype built, time to test

    roboteurs11/25/2016 at 15:49 0 comments

    I have put together the first prototype. So far it seems the only silly mistake was a sneaky SOT23 package connected the wrong way.

    The software for this device will first be developed in Python. The idea is to keep the software library simple but very functional. The code will probably be initializing an IO and then reading from it. For faster sampling is might be necessary to handle the data differently, but first I will see how the Pi 3 handles the data. Function calls will probably look like...

    import pidaq as daq
    sensorA = daq.configIO(analog, in, single, 10V, 32averaging)
    outputA = daq.configIO(analog,  out, single, extern_ref)
    daq.relay(1, on)
    temprature = daq.thermo( )
    Thats some python pseudo-code of what the control might look like. As I explore the libraries more features may come to light.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates