Arduino IDE for Microsoft Visual Studio

NOTE: We are currently recommending Arduino 1.8.1 instead of the latest Arduino 1.8.2. Alternatively use the "Visual Micro" option instead of the "Arduino 1.6/1.8" option. Users of avr boards might encounter build issues with Arduinon 1.8.2. The issue will be resolved shortly.

tips: Blind Arduino Blog | Arduino Blog | Arduino.cc | release notes | GDB Debugging (new) | Share Code Between Projects | Faster Builds | Extend Intellisense | ESP8266 | Energia and Texas Instruments | Difference between .ino and .cpp | Atmel Studio 7 | Custom Build Events | Command Line Interface

Visual Micro is a free plugin for Microsoft Visual Studio (with C++ installed) that creates Arduino compatible cross-platform programs. The Visual  Studio and Atmel Studio IDEs are also available for free. The full pro version of Visual Micro, can be purchased for a small fee which provides more features and an improved user experience. Buying the pro version is appreciated and helps to fund maintaining and supporting this software.


Visual Micro does not use a propriatary build system and therefore does NOT need to be updated when new, previously unknown, hardware is released.  New hardware will automatically appear in the Visual Micro boards manager. The same applies to new libraries. Visual Micro implements the Arduino 3rd Party Hardware Guide.

important news: Feb 25th 2017. We are trying a new first time user experience that does not require the location of an Arduino IDE to be configured. This means that boards such as Uno, Mega will be installed using the Manage Boards tab of the Visual Micro explorer tool. Alternatively, please follow the ide setup guide in the documentation to configure the location of an Arduino IDE. The visual micro tool bar (and the vMicro menu) allows users to switch between the ready-to-go "Visual Micro" IDE and an actual Arduino IDE. Depending on the hardware and libraries that are installed, the build process without an Arduino IDE will be identical to with an Arduino IDE.


new Visual Micro out-of-the-box with board manager and library manager support
or Configure an Arduino IDE location to see additional built-in boards, libraries and examples (ie: Uno, Mega, 


Use the Arduino compatible library and board managers to discover and download hundreds of Arduino compatible boards and libraries.  Team capabilities of Visual Micro have been extended in recent versions along with better compatibility with the Arduino 3rd party hardware specificationUsing automatic intellisense path management alongside crosss-platform shared c++ projects, teams can build Arduino compatible programs without treading on other feet!

Click to see full size image of Arduino programming in Microsoft Visual Studio 2010.


Arduino code created with Visual Micro can be shared with the windows, linux and mac Arduino community. Visual Micro adheres to the standards created by the various hardware manufacturers, such as arduino.cc. Put simply, this means that newly released hardware can be programmed in Visual Micro without need for a software update from Visual Micro. Visual Micro even uses the same configuration as the Arduino IDE!

Arduino compatible hardware from a wide range of manufacturers is supported. Arduino sketch/project code does not need to change to work in Visual Studio, it remains fully compatible with the Arduino IDE (whichever version you are using). All Arduino examples for installed hardware and libraries can be used without modification.

Team - Shared code and cross-platform library development

Development teams can take advantage of Visual Studio shared projects which allow cross-platform code to be created in smaller projects that are automatically combined with the program code during build. Alternatively teams might elect to develop Arduino libraries which also benefit from Visual Studio shared projects (see image below)

Shared projects and shared libraries can be located in any location which makes source control and version control very easy. Another benefit is that Visual Micro provides varying cross-platform intellisense and build/upload when editing shared code. This is useful because shared cross-platform code does not have a specific architecture, therefore would not normally have platform specific intellisense or build/upload capability.


Unique Arduino Debugger (not available in the free version)

The Pro version of Visual Micro includes a unique usb/wifi debugger that allows code to be more easily visualized.

The Arduino debugger allows breakpoints and trace messages to be sent conditionally or at regular intervals.

Easy To Use

New Arduino users are guided to work within the normal Arduino framework, in a similar manner to the Arduino IDE. Advanced Arduino users have a range of options that allow the simple (but restricting) Arduino rules to be broken. The following example demonstrates the IDE in it's simplest form.

The project tool bar for Arduino provides a simple way to new users to insert libraries, add code, build and upload. Advanced users can make use of the standard Visual Studio commands and keyboard short cuts to perform the same tasks.

The Boards List shows install Arduino Boards grouped by Platform. Boards are automatically added to the Recently Used Boards List.

Download and configure new hardware and libraries

The plugin also supports all Arduino library formats, all third party Arduino compatible hardware and, for the more advanced user, all programmer combinations.

April 2015 now includes an automatic Board Downloader and Manager 

The Arduino Boards Manager provides a simple way to download and install the source code and tools for new hardware

and a Library Downloader and Manager

The Arduino Library Manager in Visual Studio provides a simple way to download and install new Arduino libraries. New versions of installed libraries will also appear in the Library Manager


Search Aruuno Help and Examples Explorer

Search Arduino IDE references and browse examples. Automatically discovers examples for newly instaleld libraries and hardware. Create a new project from an example.

Arduino IDE reference and help explorer. Open or copy Arduino examples with just a few mouse clicks

Tips for Arduino variations:-

Atmel Studio 7

chipKIT

Teensy

Arduino Yun

Energia and texas Instruments

Wiring Ide

ESP8266

 

Please see the documentation for more information.

For help, assistance and new release notifications please join the free forum