tips: Setup | Correct Way to Open Projects | Plotting and Charting | Atmel Studio | Create Project | Create Arduino Library | Share Code Between Projects | Faster Builds | Extend Intellisense | ESP32 |ESP8266 | Difference between .ino and .cpp | Custom Build Events | Command Line Interface | GDB Debugging | Relative Paths for Source Control | release notes | Custom Debug Output
What is Visual Micro?
Visual Micro is a free (for personal use) plugin for Microsoft Visual Studio (with C++ installed). Visual Micro creates Arduino compatible cross-platform programs.
The Visual Studio and Atmel Studio IDEs are available for free for most users. To help fund this project there is also a Pro version of Visual Micro, providing a few extra features and improvements.
When writing code with Visual Micro, if you adhere to the Arduino.cc rules then the code you create will remain Arduino IDE compatible.
Note to new users: Intellisense and build/upload are two seperate functions of Visual Micro. You might see a few invalid intellisense errors (which you should report to the forum). After building a project with substantial code changes intellisense will become more accurate. However for some boards it is only 99% but can easily be extended...
new Visual Micro new project templates (vs2015+) make it easy to create arduino compatible ibraries and share project code. Tip: Libraries created in official arduino library folders are automatially available to all other arduino projects and the arduino ide.
March 2018 - Esp8266 + Silicon Labs CP210 version 10x usb driver does not work correctly. This has been reported to silicon labs who are investigating the issue. Please use their version 6x usb driver which should be available via 'device manager > cp210 > change driver'
Feb 2018 - Arduino 1.6.9 or 1.6.5 as backend compiles MUCH faster than Arduino 1.8.x + Switch on "vMicro>Compiler>Parallel Builds" for signficantly faster build times (pro only), switch off "vMicro>Compiler>Deep Search" if all used libraries are #included in .ino code.
Jan 2018 - please note: Email issues for a few users have prevented some responses to requests for license reset or transfer (from pro users). The requests HAVE been processed so please try to activate again. Thank you.
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 specification. Using automatic intellisense path management alongside crosss-platform shared c++ projects, teams can build Arduino compatible programs without treading on other feet!
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.
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.
Cross Platform Shared Code and Library Editing
Development teams can take advantage of Visual Studio Shared Cross-Platform 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.
Serial/Bluetooth/XBee/WiFi Debugging (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.
Arduino Compatible Board and Library Manager
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
and a Library Downloader and Manager
Arduino Reference Help and Examples
Search Arduino IDE references and browse examples. Automatically discovers examples for newly instaleld libraries and hardware. Create a new project from an example.
Free Usage Explained
Users of the free visual micro software are prompted (nag screen) to "try or buy" once per day at the start of an Arduino build/compile. Free users must also upgrade to the latest Visual Micro release at least once every 6-9 months. Up to 14 days before the day that the software must be updated, a warning is displayed at the start of each build. The date the software must be updated by is shown in "tools>options>visual micro>version". Staying up to date helps us to support the product better.
Please see the documentation for more information. For help, assistance and new release notifications please join the free forum