A complete Arduino development system for Visual Studio 2008 and 2010

A few weeks ago the new version of the free Visual Micro addin for Visual Studio was released. The addin provides full featured, 100% compatible, arduino development inside all Visual Studio 2008 and 2010 versions (except for express). This release means that we can code, compile, upload and burn bootloaders to any Arduino microprocessor using Visual Studio. Arduino for Visual Studio can be downloaded from here 

 Click to see more example images of arduino visual studio




The addin provides complete compatibility with all arduino libraries and cores, in addition to intellisense, goto compiler errors and many other useful features. One useful example is the "Auto Pause" and "Auto Resume" of serial before and after upload (unless using ISP). 


Multiple ground station and/or uav projects can be organised in a single Visual Studio solution


Compiler #defines are shown clearly in all source code. A high speed compiler uses file modification times to optimise the work required. Below you can see that an arducopter compile was completed in 5 seconds. An unlimited number of serial tool windows are available.


This example shows the compilations resulting from clicking a visual studio "Build Solution" command.

Note:  The ArduCopterMegaHybrid project is a full arducopter program with a minor change to the "pwm out", it's switched to i2c for the SD21 servo board. This project is not available for release it just happened to be available to demonstrate the speed of the visual studio arduino compiler


There are a few un-documented features still to be tested. One, for example, is an option to switch on support for parent library folders. This might be useful for diy drones projects that require two different versions of the same library. The feature allows the compiler to look for an additional "Libraries" folder in the parent folder of the current sketch.


Another feature we might find useful is a menu command that toggles all related sources in/out of the current project. "Project>Show All Arduino Files" does not affect sketch compilation, instead, this feature includes the sources of the arduino core and all of the libraries that have been "#included" into the current sketch. This makes is very easy for library developers/explorers to optionally work with libraries and core within their sketch projects.


Read more about Arduno for Visual Studio

Views: 8762

Comment by CrashingDutchman on April 24, 2010 at 11:01pm
I really would suggest people to try this. The install was a bit difficult for me, but Tim's support was excellent. I am a professional Visual Studio developer and now I can use the IDE I know so well with Arduino.

Comment by John Arne Birkeland on October 22, 2011 at 3:02pm

It is easy to dislike M$ products. But if you are running Windows, Visual Studio is one of the better (some would say the best) IDE's available. It has some of the best syntax highlighting and code completion out there, and still is snappy and responsive while editing. 

Comment by Peter Hofmann on October 22, 2011 at 6:42pm

Sounds good, but there is only one problem for me. When I hear Arduino I think "Hobby" and with that limited budgets. This new development works with all 2008/2010 Visual Studio but the Express (free) version. Last time I checked Visual Studio runs quite a few hundred dollars, not in by budget.

Comment by Sergio on October 22, 2011 at 10:42pm

Just in case any wants to try this but does not have the budget for it - microsoft offers Visual Studio Pro 2010 (and a bunch of other software) for free to anyone who has access to a .edu email. 


Comment by Ralph S. on October 23, 2011 at 3:31am


Looking at the source code of ArduCopter, I see there are some extra files (e.g., ".project") suggesting the development is project is done with Eclipse. So my question would be:

1) How to setup Eclipse as the Arduino-IDE?

2) How does the featues of Eclipse compare to Visual Studio when searching an Arduino-IDE for larger size projects?

BTW, I am using Visual Studio for all my C# programming and it is the best IDE I´ve ever had, so I will definitely try this Arduino plugin, and really appreciate all efforts put into providing it.


Comment by AVS on October 23, 2011 at 5:36am

@Peter. Visual Studio costs a lot less than an arducopter from jdrones. If it crashes it doesn't break and if a new version of a 3d robotics board is produced it doesn't need to go in the obselete drawer :) Many people already have it for work, so it is free for them and Sergio also makes a good point. It is a worthwhile investment and I am happy to pay Microsoft for a finished product that works. My experience of the alternative free (or open source) products seemed to cost me more in time than I was prepared to invest.

Comment by AVS on October 23, 2011 at 5:44am

@Ralph, yes it does look like eclipse is used. It's okay to use eclipse if you have a fixed project. The arduino addin for visual studio allows you to perform tasks such as "add/remove libraries" and "change arduino board" without needing to re-configure your project(s). I doubt the arduino serial upload is available quite as smoothly inside eclipse and I am not sure you can double click drill down into arduino compiler errors from eclipse. I found eclipse to be difficult to install and cumbersome to use. I like the simplicity of the arduino ide and wanted the same ease and simplicity inside visual studio. I use arduino for uav but also to manage my house heating system along with other projects, so fixed eclipse projects doesn't work for me.

Comment by I.S. on October 23, 2011 at 7:49am

I see this is a nice IDE for Arduino to work on more advanced projects.

This question may be answered before but:

Which IDE do Jason and other developpers use?
I suppose they don't use the super simplistic official Arduino IDE for the whole ArduCopter/Arduplane projects.

Thanks for the info Fab.

Comment by AVS on October 23, 2011 at 7:59am

@I.S. The main diydrones teams configure/force eclipse into working with their specific hardware, project versions and libraries. The arduino ide and the visual studio addin read the source of the sketch being opened and configure things automatically or provide one click config. Compile and upload is simpler than eclipse in both arduino and visual studio. Visual Studio is better at handling large projects and multiple project versions than both arduino and eclipse

Comment by Scott Plunkett on October 23, 2011 at 8:06am

You know it may even be a wise transition at this point given the proposed ARM future of Arduino - more powerful processors; more powerful IDE?  Eclipse is considered by some to be "the" dev platform for Android, but I have to agree with some here that I found it less intuitive to use.  The Processing environment is simple, but that realy seems to be its only redeeming feature.  In agreement with I.S. I would love to know what the teams here use.


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service