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

  • Yep you are both right. if you are technically minded enough and have the time then you will get closer to the hardware. It is also true that there is a wide variety of different cross-platform options, it will be interesting to see where we end up. For now, i like opening any arduino sketch in visual studio and clicking the compile and upload button :)

  • @Fab - I have to admit it has been some time since I tried a Processing install.  I will try it again - I am actually fairly agnostic... (my development machine is dual boot, so I could just as likely be in a Linux environment as a Windows environment.)  I tend to like the best tool for the purpose and find that rarely is ONE tool the best for all purposes.

     

    @Bart  I use (again, I'm no super programmer) Eclipse on Linux when working on anything Android.  Pretty much anything else it has been an older copy of Visual Studio on Windows, except of course for Arduino work - which I can now add once I upgrade (which I am doing now to VS Pro 2010.)  The funny thing is, even with all of that said, I have to agree that given the community nature of these projects staying multi-platform and low / no cost IS incredibly important.  - I was not suggesting that the community as a whole move to VS, but that it may be a good time to look at the tools out there and consider a change.

  • Just my two cents. I use Visual studio at work, and use eclipse at home for android development.I prefer Eclipse, although VS2010 has been pretty decent.

    @fab, I would disagree with "eclipse to be difficult to install", as extract and run pretty much worked for me. Using it has been very nice (for me), but like any IDE, you have to get used to its quirks. VS certainly has its share.

     

    Before making a transition to something , I would like to point out (the obvious) that Visual Studio is for Windows.... and not everyone runs that. Although there are workarounds, it would be really nice if we can move to / stay multi platform (i.e., QGroundControl using Qt).

     

    Just two cents from a linux based guy.

  • @Scott, good discussions. Have you installed a copy of processing recently? and the android sdk. I am very excited by the work they are doing at processing.org.

    In processing, I created a small sketch and compiled it first for windows using processing, then for android using processing and then for javascript using processing. All 3 compilations (click of a button) ended in an emulator being opened to show me my program.

    The android emulator is slow but excellent, the jscript emulator is in a browser and the processing windows emulator is a normal window. I had a play and browsed the web with the android emulator :)  Of course the real value was being able to use simple "arduino like" syntax and libraries to create a program for android.

    It's got me thinking about what we could have in visual studio. The arduino visual studio work, whilst simpler, would be the same for processing.

    I don't have time for questions about installing processing but if anyone reads this and decides to install it on windows for use with android then pls read this

  • 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.

  • @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

  • 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.

  • @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.

  • @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.

  • Hi,

    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.

     

This reply was deleted.