DIY LabVIEW Crew Blog

Community Browser
Showing results for 
Search instead for 
Did you mean: 

The open source revolution certainly has taken the world by storm. What started as something that could be pegged as something to be used by Academia only and as utopia in the cut throat commercial world in the early seventies is now a reality. It has changed the way our kids learn, the speed technology evolves, the level of accessibility less privileged individuals have to technology, and so many other aspects that some are now linking the open source movement with the very fabric of how companies will function and, why not to say, how society will live. 

It is impossible to say open source without immediately thinking Linux. The Unix-based operating system that was created by a student in 1991 - again Academia helping shape our future - is now almost as popular as the one day single ruler Microsoft Windows. For the ones with their fingers kept close in the pulse of the evolution of the Software development community, many more examples come to mind, such as; MySQL for databases, Apache for server software, Python for general scripting programming, PHP for web design and many others.

Historically, open source has been always correlated to Software. However, the community produced an aftershock of the first movement that has been as unexpected and formidable as the original one; the Hardware open source movement. The hardware open source movement, in its core, carries the same philosophy as its older brother: all artifacts produced are open and disclosed. In the Hardware world, that means schematics, bill of materials, mechanical model files, printed circuit board layout files, even manufacturing ready gerber sets are made available to the community.

There are several popular open source hardware projects; such as Raspberry Pi and Arduino. Some others are new kids on this block but are none less coming out strong, such as UDOO and Red Pitaya. In my opinion though, Arduino is for the Hardware open source movement what Linux was for the Software one. Arduino was the precursor of so many other projects of the same nature that an impressive critical mass was generated by the Hardware community around these types of projects. Arduino has now been slowly but surely migrating beyond the hobbyist audience, into the professional industrial one. 

Together; they are bringing about what some people are calling the next industrial revolution. Is this comparison an exaggeration? I sincerely don’t think it is. In order to make a case for the acceptance of this association between the original industrial revolution and the current open source movement, let’s take a quick trip back in time to evaluate, in the high level, the 1800s industrial revolution.

Back then, the main focus was to bring about change via increased efficiency of the industrial production. Henry Ford was certainly one of the great minds of that era, who made available the Ford production line concept; which is still an inspiration in today’s industrial settings with its concepts of lean manufacturing and 5S. Ford is probably the first name that comes to people’s mind from the industrial revolution movement. However, I offer that Ford wasn’t thinking much differently than all the other minds who were preoccupied with the obsession of transforming the way industries worked. The holly grail of that historic moment was to produce more with the same resources that were utilized to produce much less. Underneath it all; it was all about making things available to different levels of society. It was about creating different consumer markets; to create wealth. It was about having the ability to making cars; citing Ford again, available to the middle class in addition to the rich minority. All technological innovations of the time were centered on this very goal. That is how the steam engine was invented and propelled this concept into reality. The root concept was to make things; starting with consumable things but then later expanded to other things, available to the masses.

How is this different than what the maker’s movement is aiming at? Today’s obsession is very close to the industrial revolution one: it is also about making available to the masses what wasn’t available until then. Since technology is usually a big driver, if not the biggest one, to how we live our lives – e.g. facebook, tweeter and, why not to say, the Internet itself – making technology available to the masses will most likely shape our future’s reality a little differently than it is forged today. Having a microcontroller based hardware board available for around $20 – named the Arduino platform, just to cite one – has been putting and will continue to put technology in the hands of a larger and larger critical mass of people. This movement has given non-profit organizations and social movements, such as, the right to dream about actually having a shot at changing our kid’s and kid’s kids realities through technology. Let’s teach them how to fish instead of the futile attempt to give them the fish. Let’s develop productive members for our society through technology as opposed to complacently accept the reality that almost 15% of Americans live in a state of extreme poverty. And this is America, the richest and most powerful nation of the globe. I am embarrassed to even state statistics about Africa and South America.

The Arduino Compiler for LabVIEW is my small, infinitesimal even, contribution to this movement. I would like to see the test and measurements industry become more and more part of the new industrial revolution. Test is a fundamental aspect of every product; and, in order to make products more and more available to lower income individuals, test and measurements needs to get with the program. It needs to offer alternatives, low cost ones, so test Engineers can do their jobs in the most economical way possible.

Let’s take advantage of the maker’s movement machine that has started moving and give our own contributions to it. If every one of us offer ideas and use our skills in benefit of the biggest brotherhood of all, the human race, wealth will not only seek and find us, but it will also extend its graceful hands to our brothers and sisters. We can transform this world of inequalities into one much more leveled, where all of us could be free to explore our full potentials.


Dr. Damien, aka DFGray on the forums, has been working on building a homemade marimba. I was able to see some of his wood working prowess today at an internal NI science fair. He explained how the notch under each key and the length of the key creates the tone. In the longer keys (lower notes) he must customize the notch shape to account for 2nd and 3rd harmonics of the tone. Already an accomplished wood worker, he did all his grinding and tuning using LabVIEW to characterize the tone in the frequency spectrum to place the peaks at exactly the right frequency.

He has been using the forums as a journal of his work. Each of posts links to all the previous posts. Check out his latest stuff by searching Dr. Damien in the forums

Xylophone GUI no graphs


A long-time NI veteran, Greg Crouch, and his son worked together to create an analog circuit to increase the boost pressure of the stock turbo on the son's 2002 Volvo S60 by adjusting the PWM signal sent to Boost Controller Solenoid Valve. They were careful to create a circuit that would "trick" the ECU into thinking that nothing was different. The analog circuit intercepts the PWM signal going to the boost controller and adjusts the duty cycle based on a potentiometer mounted in the dash. With the ability to adjust the boost pressure inside the car for on-the-spot performance, Greg's son needed a gauge to show the status of the boost pressure as he adjusts the knob. The achieve this, they got a packaged pressure sensor from Freescale, hooked it up to an ARM board, and used LabVIEW to read the pressure sensor and output the data to an LCD screen they mounted next to the adjustment knob.

Check out the full document which includes a zero-to-sixty video of the LCD in action and a full description of the implementation from analog circuit to ARM-board LCD gauge.

Hobby Project - Using LabVIEW ARM and Multisim to a Build a LCD Turbo Boost Gauge



We all know Waterloo Labs is doing some awesome DIY stuff, but so far the general DIY usefulness has been low while awesomeness skyrockets (typical engineering tradeoff situation). Their latest first person shooter with real guns is no exception on the awesomeness scale. I especially love the detailed pdf they made explaining the math behind the vibration triangulation algorithm. One thing, however, intrigued me about their implementation that gives them some points on the "useful" scale. In order to interact with the game on the computer they automate mouse clicks in a program outside of LabVIEW. As you may know interacting with a mouse/joystick/keyboard is possible with LabVIEW built-in functions, but interacting with these I/O devices with LabVIEW in the background is not trivial at first glance. Waterloo Labs automates the mouse in the computer game using calls into the Windows user32.dll. They graciously provide a downloadable version of reusable functions with the call library nodes already set up correctly to "set cursor position" and "generate click."

mouse download.png

Hopefully your wheels are already turning about things you can automate with this clicking power. Certainly some intelligent macros for any existing computer program sounds like a good start. Perhaps a program that clicks the refresh button in your email client all day. Someone could create the perfect undetectable LabVIEW-based Poker bot or an auto-Warcraft gold miner. However, I would love to see someone create the best windows settings changer ever. Triggered when your coworker gets back from lunch, his/her monitor picture goes upside down, the background color turns hot pink, millions of windows start opening, the mouse reverses movement and the buttons get switched, the volume is set to 11, and "Girls Just Wanna Have Fun" fills the office though the speakers... just a thought. (but seriously if you create anything like this send it to me ASAP)


Of course, NI has a general "End User License Agreement" for NI software. Whether you just click through all EULAs or read every word, you will be happy to know that there is some verbiage in our contract to specifically address using LabVIEW at home. Section 7 of the the Software EULA is entitled the "Home usage Exception." Lets be clear, I am no lawyer, and therefore not qualified to officially interpret legal documents. So before I say anything, here is the entire section unabridged (and as always I am sure... subject to change):

7. Home Usage Exception. Notwithstanding anything in this Agreement to the contrary, if you are a business or other entity, the designated Named User for the applicable license (or in the case of single seat license, the primary user of the single computer on which the SOFTWARE is installed and used) may also install and use the SOFTWARE on one (1) computer located in such user′s home, provided that (i) the use of the SOFTWARE is pursuant to one of the licenses enumerated in Section 2 above (other than a debug license, concurrent use license, or academic research license); and (ii) the use of the SOFTWARE on such home computer is limited to work performed in the scope of such person′s employment with you and complies with all terms and conditions of this Agreement other than as expressly set forth in this Section 7. The SOFTWARE must be promptly uninstalled from the home computer upon the termination of the designated Named User′s employment with you or the termination of this Agreement (whichever is earlier). Notwithstanding the foregoing, if you have a debug license, concurrent use license, or academic research license, this Home Usage Exception does not apply to you.

Amidst all the "Notwithstandings," "foregoings," and "pursuants," I think I am seeing that using an official copy of LabVIEW at home for your job is well within the bounds of the contract "expressly set forth in Section 7." Now, I would tend to believe, in my perhaps naive non-lawyer small mind, that training on a software package like LabVIEW would be well within the scope of your job which is set forth by your boss. Go with me here, but doesn't working with said software package within the bounds of its intended use constitute training just as simple drills constitute practice in sports? Certainly, programming a computer to do something small or large falls under the intended use of LabVIEW. Ipso Facto (awesome pseudo-lawyer term, don't worry about it) the lawful ability to program a sprinkler system, an MP3 playlist generator, or even an electronic chicken poop bingo board is really a contractual benefit afforded to us DIYers by the Home Usage Exception of the Software license agreement.

These are just my own observations (although astute) and should in no way be substituted for official interpretation and understanding the NI Software EULA. However, I think that I can boldly (although hesitantly and without any authority) say that that the DIY LabVIEW Crew is not just a fun set of people doing geeky things with LabVIEW in thier spare time but an intended use-case of the LabVIEW graphical programming language.

Rick Kuhlman, LabVIEW FPGA Product Manager


Troy took home a Flip Video Camera for his winning entry in the the "Flip for LabVIEW" DIY Contest. Troy's idea started when he was trying to easily make MP3 playlists (M3U files) that could be transported to different computers with differing directory structures. For him, it was targeted for use with his Home theater PC (HTPC) where he wanted playlists for any occasion. He was nice enough to share the program and source in his document entry within this group.

Like any good engineer he started out with a list of requirements. Also like any good engineer he allowed for some "feature creep" along the way to make everything better.(hence the secondary requirements)

Troy's requirements:

mp3_troy.pngM3U playlist generator

Primary Requirements:

     Generate list of full paths to MP3 files.

     Able to change the root path of the files. (Lists will be used on a different PC)

     Easy enough for my pregnant wife to use.

Secondary requirements:

     Able to edit existing files.

     Able to randomise order.

     Able to use environment variables (so any user's default music path can be automatically found "%USERPROFILE%\My Documents\My Music").

     Able to list more than just one file type. (*.mp3; *.aiff; *.ogg Etc)

For his day job, Troy works as a Systems Engineer for Bosch Australia. He has been working with LabVIEW for almost 10 years starting with some simple automated tests that have evolved into large test systems for the entire R&D department including hardware ranging from DAQ, Modular Instruments, CAN, and more. Everything is programmed with LabVIEW. "After 10 years I still love it, as you can probably tell by me developing vi's at home for fun!" Troy says.

Troy, thank you for your submission and congratulations on your win.

Rick Kuhlman - LabVIEW FPGA Product Manager (Unofficially "The DIY guy")



I'm happy because these past 2 weeks I have been working to decode and interpret the communication between the LOGO! PLC and a PC. Well ... I finished this work and achieved the following:

-        Ask the status of communication between PC – LOGO! PLC

-        Ask the status of the PLC (The PLC responds RUN/STOP status)

-        Forcing the status of the PLC to RUN mode.

-        Forcing the status of the PLC to STOP mode.

-        Ask the current values (in real-time) of all channels of the PLC:

o 24 digital inputs

o 16 digital outputs

o 8 analog inputs

o 2 analog outputs

o 24 digital marks

o 6 analog marks

o 4 cursors

The application developed in LabVIEW performs the main function of communicate the Desktop / Laptop with PLC LOGO! (That is to say link National Instruments with Siemens ... ja ja). The software performs the following functions:

-        Monitors and displays all channels of the LOGO!

-        Choose the communication port.

-        The user can save in a file all the data, each configurable period.

I have made many tests with different logic modules, and it has not given any problems.

In the image attached, I show you some of the topologies that can be implemented knowing this protocol of communication. I ask you to spread this to engineers/technicians who design and implement these MICRO-AUTOMATION systems, in order to offer this Software applicable to supervisory system or data-logger device.

I'm ready to be able to help.


Today, the DIY LabVIEW Crew annouced the Flip for LabVIEW Contest. If you have a cool home automation or hobbiest application that uses LabVIEW, share it with the group by April 1 for your chance to win a Flip Video Camera.