Hello EEVblog community,
I’m excited to share a project I’ve been working on:
daqopen-lib. This open-source library simplifies data acquisition, making it easier to handle medium-speed streaming ADC data for various applications.
Why I Built It:Many projects require reliable and efficient data acquisition tools. I created daqopen-lib to streamline this process, starting with support for the Arduino Due, leveraging its high-speed ADC and USB 2.0 connectivity. It is a core part of my main project for power (quality) analysis and can be used separately for many other applications/projects which requires continous data acquisition.
Features:- ADC Driver: Easily communicate with Arduino Due and manage data using NumPy arrays.
- Circular Channel Buffer: Efficiently handle and store data for analysis or visualization.
- DAQ-Info Class: Description for data acquisition properties like scaling, samplerate.
- firmware included for Arduino Due.
Background:I use the Arduino Due (although it's more than 10 years old) because it has three main advantages for my use-cases:
- ADC Speed up to 1 MS/s
- Differential inputs with 12 bit resolution
- USB 2.0 interface to connect to edge-device like Raspberry Pi and transfer with ~16 MBit/s
I use the native USB-interface and collect the data on the edge device via simple /dev/ttyACM0. The "driver" application is written in Python and converts the streamed packages to numpy arrays. Using the daq-zmq server-client allows you to decouple time-critical data reading from further processing in your target application.
How to Get Started:The library is available on GitHub (
https://github.com/DaqOpen/daqopen-lib), and documentation and tutorials can be found here:
docs.daqopen.com.
Related projectsI'm actively developing and using this library for my main project PQopen. This will be an open source power (quality) analyzer for power networks. It is still under development.
Some example apps, including the daq-zmq-server, are available in a separate repository:
https://github.com/DaqOpen/daqopen-appsI’d love to hear your thoughts, suggestions, and ideas for improvement. Looking forward to your input!
Best regards,
Michael