~ TeensyDAQ - Capture, Visualize and Record Analog Input Signals from Teensy
» By Joren on Thursday 09 July 2015This post describes a tool to quickly visualize and record analog signals with a Teensy micro-controller and some custom software. It is mainly useful to quickly get an idea of how an analog sensor reacts to different stimuli. Since it is also able to capture and store analog input siginals it is also useful to generate test data recordings which then can be used for example to test a peak detection algorithm on. The tool is called TeensyDAQ hinting at the Data AcQuisition features and the micro-controller used.
Some of the features of the TeensyDAQ:
- Visualize up to five analog signals simultaneously in real-time.
- Capture analog input signals with sampling rates up to 8000Hz.
- Record analog input to a CSV-file and, using drag-and-drop, previously recorded CSV-files can be visualized.
- Works on Linux, Mac OS X and Windows.
- While a capture session is in progress you can going back in time and zoom, pan and drag to get a detailed view on your data.
- Allows you to listen to your input signal, this is especially practical with analog microphone input.
The system consists of two parts. A hardware and a software part. The hardware is a Teensy micro-controller running an Arduino sketch that ready analog input A0 to A4 at the requested sampling rate. A Teensy is used instead of a regular Arduino for two reasons. First the Teensy is capable of much higher data throughput, it is able to send five reading at 8000Hz, which is impossible on Arduino. The second reason is the 13bit analog read resolution. Classic Arduino only provides 10 bits.
The software part reads data from the serial port the Teensy is attached to. It interprets the data and stores it in an efficient data-structure. As quickly as possible the data is visualized. The software is written in Java. A recent Java runtime environment is needed to execute it.
Try out the latest version of TeensyDAQ or check out the source code on the github TeensyDAQ source repository.