3689349821?profile=original

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 

3689349781?profile=original 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

3689349786?profile=original

 

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.3689349834?profile=original

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

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • @Fab

    Your link doesn't work.

  • It looks like everyone can get a free copy of Visual Studio 2010 Pro. Read more

  • I would have liked that but express doesn't support addins. It is one the things that microsoft seem to feel would make express to good. It is a shame but you CAN make some things work for you in express and maybe there is more coming.

    There is a project on codeplex called "Arduino To Visual Studio Converter". It will create a vs project for any sketch. Then you can use vs to edit and also have the benefit of features such as intellisense. (The product extends the right mouse menu in windows explorer)

    http://arduinotovsconverter.codeplex.com/ 

    In the arduino ide preferences you can switch on "External Editor". This forces arduino to re-load the sketch from disk when you click compile. Allowing you to edit and save in Visual Studio and then switch to Arduino just for compile and upload.

    -----

    I have exchanged a couple of emails with the author of the converter and he seems interested in using the arduino api that ships with the Visual Studio addin to extend his project. He might use the api to also allow us to select boards, programmers and compile/upload.

    Personally I would like to see these projects combine to include a windows task bar icon or "ontop/floating" window that provides a small user interface with boards, programmers, serial, compile and upload. This would provide almost all of the functionality available from the addin.

  • Why not make a plugin for VS Express?

  • The compiler "Go To Error Location" command is not available in eclipse or the arduino ide. The red visual studio squiggles are useful when working in a source but for large projects it is very useful to be able to double click a compiler error to see a code error.

    3692292158?profile=original

    @mike i should have also said thank you for your last comment.

    @all. thanks for the feed back. 

  • @"I'll give up coding before I sink into that deep hole"

    Nice start for a religiously OS discussion.

    Wait a minute, I've to buy some popcorn to be prepared :)

  • I have been an Eclipse user for a long time now but was always searching for a better IDE for the Arduino stuff. I followed Fab's development of this plug-in from the start. I use VS2010 for C# development and found the IDE to be the best there is for Windows users. I have migrated all my Arduino projects to Visual Studio 2010 and Visual Micro. It cannot be simpler or easier to use the Arduino code framework than in VS2010 with Visual Micro.

  • As much as I like the arduino programming environment it is a relief that this is now compatible with VS. Great work!

  • Cool! 

  • Example: Exploring Arducopter with the Visual Studio object browser

    The object browser in visual studio can automatically provide simple or advanced views of any arduino sketch. 
    The advanced view will include libraries and the arduino core. This is a nice feature of the arduino integration in visual studio, normally we might expect compiler errors by including lib and core sources directly in a project.
    The object browser allows us to more easily understand the structure of the arducopter code.

    The simple view

    This view provides just the classes, methods, variables, constants etc. that are directly included in any of the source codes of an arduino sketch. Clicking the various options on the left will reveal the releated properties. The <search> allows us to find items more easily.

    image.axd?picture=2011%2f10%2fArduino+Visual+Studio+Object+Browser+with+Sketch+Files+Only.PNG

    Advanced View

    All libraries and core source codes are automatically included in the current arduino project by clicking the Visual Studio command "Project>Show All Arduino Files". Clicking the command again will remove the files. This means we can quickly toggle these additional files in/out of our visual studio projects.
    The advanced view provides a global view of how our program really works. The example below shows us, for the first time, some of the class inheritance used in the diydrones arducopter project

    image.axd?picture=2011%2f10%2fArduino+Visual+Studio+Object+Browser+with+All+Arduino+files.PNG

This reply was deleted.