Maybe I need to provide a little more info to wet the appetite of the “Makers” around here. There are some “Makers” hanging around here, aren’t there?
The home “maker” version of Labview is designed to work with free open-source labview functions (VI’s) and drivers for various embedded platforms such as Arduino, Raspberry Pi, Sparkfun boards, a wide range of Chipkit boards sold by Diligent, and others. A simple Arduino Leonardo board (under $10) is a good way to start.
The boards serve as a I/O portal, with firmware flashed on them by one of the open-source API’s such as LINX. The connection is normally by USB, but it could also be an RF link such as bluetooth, WiFi, XBee, or potentially even a longer range RF serial link such as the 3DR telemetry radios that we multicopter pilots use for two way communication and telemetry that is good for up to a mile.
For those of you without C programming skills, LabView itself is much easier to learn than the C-like language in Arduino. It is graphical in nature, but it embodies all of the advanced structures and functions of most modern programming languages. It is very modular and very high level - making complicated tasks easy to accomplish. The built in functions (Vi’s) are geared towards a wide range of engineering applications. Signal processing and analysis - including many FFT related functions, advanced mathematics, PID and Fuzzy logic process control, many networking and communication protocols, easy interfacing with external applications, automatic report generation that exports data to Microsoft Office applications. It has easy to use, yet sophisticated, array and matrix data manipulation functions. Labview is multi-threading, meaning that it can have many concurrent tasks running at once inside (and outside) any running application. Data can be passed and synchronized between them using queues, notifiers, semaphores, and such. There are many specialized datatypes such as waveforms and clusters which allow multiple datatypes to be bundled together and passed via a single “wire”.
There appears to be a very nice selection of I/O functions and commands included in LINX and other interfaces to embedded hardware like Arduino boards. If you are able to do a little Arduino programming, you can even create and add your own custom commands to LINX, etc.
To summarize, the thing that is so awesome about all if this is that we have at our disposal some VERY powerful building blocks that allows rapid creation of projects far beyond what could normally be accomplished in a short time with Arduino and the Aurduino function libraries. By leveraging more powerful building blocks we can build much more sophisticated applications without having to re-invent wheels along the way.
The only shortcoming, (or advantage - depending on your viewpoint) is that there is little or no custom Arduino code to write and run on the Arduino board itself. The Labview code runs on the host PC, with all data being passed between it and the Arduino board. Although this link is typically wired, it can be wireless as mentioned above.
Here are some interesting applications written in LabView:
Mind Controlled WheelChair
Underwater Robot Excavator
And one of my personal favorites…
Controlling the Worlds Largest Segmented Telescope Mirror in Real Time