Visual Arduino is the way to go for serious projects. Here’s how.
Let’s take a step back. If you are doing anything with an Arduino, you have likely been using the Arduino IDE (Integrated Development Environment.) The Arduino IDE is free, fast and friendly. It is a great tool for developing programs (what Arduino community calls “sketches”) and uploading them into your Arduino hardware.
But the Arduino IDE has limitations which can be quite noticeable on a serious or large project, like my recent Arduino-based signal generator. These limitations are as follows:
- Limited developer assistance and error checking. While the Arduino IDE is smart, and got even smarter in its latest Version 1.6.7 release, it’s developer tools fall short of what is found in professional-grade development environments. This is particularly so in the areas covered by “Intellisense” features, where the IDE actually helps you write the code and prevent errors.
- No debugging. Debugging is a process where where you can track what is happening in your code as it runs on a computer or microcontroller like Arduino. Normally, Arduino developers do debugging by using the serial port to send messages back while the program runs. This does not allow features like “breakpoints” where you can stop the program at certain places and under certain conditions to examine what is going on. Since computers run at high speeds, the ability to stop and examine helps humans cope.
- No version or source control. When you are writing software, you are constantly making changes to your source code – additions, deletions, modifications. The ability to store and compare with previous versions of your code is called source control or version control. This feature is not available in the Arduino IDE.
The good news is that all of these limitations can be defeated easily and cheaply with a solution I call Visual Arduino.
Visual Arduino Rocks!
You can set up a professional yet easy to use Visual Arduino development environment as follows. There are four simple steps.
First, make sure that you have the latest version of Arduino IDE (1.6.7) installed. This contains many of the core compiling and uploading tools used with any Arduino board.
Second, install Microsoft’s Visual Studio 2015 Community Edition. It’s free and is shown above. It’s many features might seem overkill for Arduino, but that’s okay because of what comes next in the Visual Arduino solution. After you install Visual Studio, make sure that you also download and activate the Visual C++ language, as this is required for Arduino development.
Third, install Visual Micro. This is an extension that that creates a simple and effective Arduino programming environment within Visual Studio. The easiest way to install and activate Visual Micro is through the Visual Studio extensions manager. Once running, Visual Micro gives you a separate toolbar to select version of Arduino, the type of board and the serial port being used. Most important, it includes a high performance debugger!! (Note that after the 45 day trial period you need to purchase a license for the debugger, but at $23 it is worth the price. In the picture above, you can see the Visual Micro debugger examining the value of a variable at a breakpoint in the source code.)
Fourth, install a version control extension in Visual Studio. I am using a free extension called AnkhSVN Subversion support for Visual Studio. My software repository sits on a different computer which runs VisualSVN Server. Whenever I want to save my work, I just commit the latest source code to SVN. You can see in the picture above (lower right) that I have already made seven revisions to my signal generator software and saved them to the SVN.
That’s it! You can set the whole thing up in less than an hour. With this “Visual Arduino” solution you now have an industrial strength development environment for your Arduino sketching.
As a final note, there are many different ways to do source control using SVN or the alterative GIT. There are also many online solutions where you can establish code repositories and share your development efforts with others. But in the simplest case, you can just run VisualSVN on either your development computer or another PC. Also, make sure you create regular backups of your code repository – you don’t want to loose your work!