Arduino for Visual Studio - Release Notes

Download from inside the IDE via "Tools>Extensions and Updates". Work in progress, previous releases, alternative download and/or email notifications is always here

notes: Upgrading from Arduino 1.6.5 and below? Arduino moved their local storage. Please run Arduino 1.6.6+ IDE once after install and update your hardware definitions as prompted.

Visual Micro Release 1904.24 - 24th April 2019 - Vs 2017-2019 

  • The recent integration of GDB prevent .net core Debug>Start command from working.
  • The previous issue also applied to our older gdb beta extension which is now discontinued. If you have the older GDB beta extension installed then please uninstall it using tools>extensions and updates. The extension has been updated in the gallery so that users with auto update enabled will install a version that is rendered harmless.
  • Correct spelling mistakes where "Ide" was used instead of "IDE"

Visual Micro Release 1904.23 - 23th April 2019 - Vs 2017-2019 

  • Integrated GDB. VS2017+ includes the same Microsoft MI cpp debug engine that is used in vs code. Gdb is enabled automatically for some boards. Integration via arduino 3rd party hardware specification and/or mi debugger json properties.
  • Fixed an issue that sometimes caused the ide to load showing "Setup". Requiring IDE re-start to reolve. The issue relates to the recent change to 2async" loading to be compatible with vs2019
  • Support for custom debuggers (more info to follow or follow the in-app guide)
  • Support new noverify on upload key for boards that define upload.params.noverbose
  • The IDE Locations dialog opens showing the currently selected application + minor spelling changes Ide to IDE.
  • Added serial debug support for stm32f103. Same can be added to a local project board.txt (see below)

Release 1903.24 - 25th March 2019 - Vs 2017-2019 + AS7 + Vs2012-2015

Important: Due to breaking changes in VS2019 there is now a different version of Visual Micro for users of Vs2012-2015. If you are using Vs2012-2015 then please uninstall Visual Micro and re-install from the gallery or via tools>options>extensions and updates.

  • Due to breaking chages (for good reason) in Vs2019 there are now three versions of Visual Micro, when previously there were two.
  • "vMicro>Compiler>Add Include (-I) for Project"  - A more accessible switch for adding -I compiler include for the current project. The alternative switch is in tools>options>visual micro>compiler. NB: By popular request, the default for this setting is ON, set it to OFF for compatibility with the Arduino IDE.
  • The Visual Micro GDB extensions have been removed from the gallery and will shortly be replaced with inbuilt GDB in the Vs2017 and vs2019 version of Visual Micro.
  • Fix: Check for library manger updates caused an error in Re-scan due to incorrect processing of abnormal json data in library-index.json (RTCLib Zero).
  • Remove Visual Micro from Tools menu because we have a new vMicro tool bar containing a full vMicro menu. Reminder: Tool bars can be made visible or hidden by right clicking the tool strip or enabling auto-hide on the vMicro>general menu.
  • Additional VS2019 async fixes
  • Intellisense improvements for SAMD
  • Build property build.source.path was incorrectly set to the full sketch name instead of the folder path.
  • Inbound serial textbox buffer reduced from 500kb to 125kb. VS2019 can not currently handle 500kb in the textbox. (reminder:  this is a tools>options setting that users can override)
  • Microsoft have moved all top level extension menus such as the vMicro menu to the new "Extensions" menu. As a result Visual Micro has a new tool bar called "Micro Menu". The tool bar contains a single button called "vMicro" enabling single click view of the Visual Micro menu.
  • The Serial Port selection has been moved from the Uploader menu to the vMicro menu making the currently select port more obvious when tool bars are hidden
NOTE: Vs2019 preview 4 and rc have a known issue if the new vs2019 Startup Window is closed without opening or creating a project. If visual micro loads in "setup mode" then click Rescan or re-start the ide. 

Release 1902.17 - 17th Feb 2019 - Visual Studio 2012-2019

  • Fix: Re-build to resolve gallery download issues. Dowinload from "tools>extensions and updates" has been failing for the past few days. Download using browser from the worked correctly.

Release 1902.15 - 15th Feb 2019 - Visual Studio 2012-2019

  • Support for VS2019 Preview 1 Fix: A Microsoft vsix creation bug caused dlls to be missing from the 1902.11 release. Visual Micro did not work correctly, board list and and dialogs were empty.

Release 1902.11 - 11th Feb 2019 - Visual Studio 2012-2019

  • ESP32 spiffs upload to use esptool_py
  • ESP32: Cater for updated esp32/espressif spiffs commands (Publish server data files from the project/data folder). Use upload.tool to discover esptool or esptool_py. Other minor spiffs updates to ensure that all required properties are available for either usb or network spiffs.
  • IMPORTANT: Revert esp32 intellisense to pre sept30th release. The intellisense error reporting for esp32 has not worked well since implementing the request in this forum post during the end of sept 2018
  • IMPORTANT: Better cater for boards that have menus with no values. This especially applies to the esp8266 which defines a crystal frequency of 26mhz with no build.extra_flags when the 40mhz crystal does define build.extra_flags.
  • Attempt to resolve missing contributed library sources from platform/hardware libraries. For example the nicoHood HID library uses HID.h from avr/libraries/HID.
  • Cache library dot a linkage output (.a). Prevent re-build of .a linkage archives for a library if it was previously built for the current board.
  • Note: VS2019 is Preview 1

Release 1812.22 - 22nd Dec 2018 - Visual Studio 2012-2019

  • Support for VS2019 Preview 1
  • Set working directory to the build folder during link so that the build path can be stripped from the .o object files. Allows for longer commands without hitting the windows size limit.
  • Note: VS2019 is Preview 1

Release 1811.24 - 24th Nov 2018 - Visual Studio 2012-2017 + Atmel Studio 7

  • Related library discovery (deep search) did not work for libraries are in the current solution as "shared library projects" and that had been "Referenced" from an Arduino project. Previously use of other libraries from within a shared library project would only have worked if the project code also contained #includes for the related libraries (vs only)
  • Fix last version:  Debug libraries failed to build  standard libraries unless they were "shared library projects" (vs only)
  • "Toggle Hidden Files" ignores libraries if they existing in the solution as shared library projects (vs only)
  • Update Esp32 intellisense paths (broken since last esp32 toolchain release) (vs only)
  • Debug support for Arduino Libraries. A new vMicro menu item enables library debugging. (note: that when this option is enabled, a copy of the library code is compiled from within the temp build folder, Compiler -I include paths will also point to the library code in the build folder) (vs only)
  • Roll-up of recent updates for AS7

Release 1810.4 - 4th Oct 2018 - Visual Studio 2012-2017

  • Revert library resolver path order to 1) sketchbook\libraries 2) platform\libraries 3) ide\libraries. This might cause a problem for some boards such as Teensy that prefer the ide libs in place of platform libs. However most other boards prefer platform libs as priority. Users should take care not to install a library into sketchbook\libraries that has the same name as a library they want to use from a platform. Recommendation: Copy/use shared library projects. Shared library projects are bormal Arduino libraries that can exist in any location, giving control to each project over which library version will be used.

Release 1810.3 - 3rd Oct 2018 - Visual Studio 2012-2017

  • Fix: Unable to compile "Shared library projects" that use "the old style" arduino library structure (without These projects were incorrectly compiled as a merge project instead of as a library project. This fix assumes a library 1) if a file exists or 2) if the folder structure contains a folder named "\libraries".
  • Libraries for specific architecture are now the lowest priority to reflect the way the Arduino IDE works. This means that if a library exists in sketchbook\libraries it will be used, otherwise if it exists in ide\libraries that will be used otherwise the  platform\libraries folder is used.
  • Fix: Arduino versions less then 1.5.7 failed to compile in debug mode when "Deep search for libraries" was enabled
  • Usb debug support for Adafruit M0 boards that have native_usb set to true yet use Serial instead of SerialUSB as default port.
  • Library resolver order: 1) sketchBook\LIbraries 2) Platform\Libraries 3) Ide Libraries

Release 1808.30.4 - 30th Aug 2018 - Visual Studio 2012-2017

  • "Tools>Options>Visual Micro>Compiler>Project Folder -I" is now enabled by default. This allows local files to be #included using <foo.h>. Previously only #include "foo.h" was supported unless the above tools>option was enabled. The option as the project folder as a -I compiler include.
  • Fix: "Tools>Options>Visual Micro>Compiler>Project Folder -I" failed with deep search enabled (is now on by default, see previous point).
  • Fix: It was possible to cause a linker error (.o object already defined here xyz...) with local library sources especially with a conflicting shared library project of the same name but different location causing duplicate .o files to be linked. This could easily have caused much confusion!

Release 1808.30 - 30th Aug 2018 - Visual Studio 2012-2017

This release fixes missing project properties in yesterdays release. The problem was caused by updating our build system to VS 15.8. We have re-built the last update with VS 15.6 which rectifies the problem.

VS 15.8 Please note: We have varying reports concerning intellisense in VS 15.8. We will investigate and report to Microsoft. In the meantime if you have intellisense issues after upgrading your Visual Studio 2017 IDE to 15.8 downgrade Visual Studio to 15.6 (stable) or 15.7! We encountered other intellisense issues in the preview of 15.8 which we reported to Microsoft and they promised to fix. It seems they have fixed those issues but this suggests the C++ intellisense system has been radically overhauled in 15.8. So unfortunately we should expect some issues for a few months with 15.8. 

Release 1808.25 - 28th Aug 2018 - Visual Studio 2012-2017 (use 1808.30 or 1807.8 !)

  • Fix: Copy to Intermediate was using the Output Directory instead of the "Intermediate Directory" project property
  • Burn bootloader: Use programmer from any related platform (not just from the current platform)
  • Solve extremely slow load of projects with many files
  • Fix issue that prevented the sonoff project from building (also applies to other projects that use a more complex syntax for prototypes)
  • Automatically include all source code when an existing arduino project is first opened. This ensures new users can see header files in project sub folders (previously only \src and below where automatically added)
  • Atmel studio resolve board options for intellisense and also to ensure the correct mcu device is set for the project. Cores such as MiniCore resolve {board.mcu} from the variant specified by the board options.
  • + Validated against Visual Studio 2017 15.8.0 Preview 4. Previous "preview" versions of VS had many c++ bugs but preview 4 appears to work well.
  • Defaulted "vMicro>Compiler>Copy to intermediate" because that is what the default has been. The default was changed when the menu item was added a few weeks ago.
  • Added new "tools>options>visual micro>compiler>Build In Project Intermediate" which will use the build folder specified in "project property pages > intermediate directory". When switching board a "Build>Clean" will be required, This property is for advanced users or exceptional circumstances.

Release 1807.8 - 8th July 2018 - Visual Studio 2012-2017 + Vs2017 15.8 Preview 4

Compatible with Preview 4

Release 1807.7 - 7th July 2018 - Visual Studio 2012-2017

Important for some: Build output is no longer automatically copied to the project intermediate directory preventing unnecessary folders and files below each sketch project.  A new menu item allows this facility to be enabled. "vMicro>Compiler>Copy Output To Intermediate" 

Added a new tools>options property to enable toe cached cores folder to be overridden. "tools>options>visual micro>compiler>build cores path". Reminder: Cached cores can be enabled/disabled in the options or using the vMicro>Compiler menu.

Release 1807.1 - 1st July 2018 - Visual Studio 2012-2017

This release resolves a bug in the latest Visual Studio 2017 release which caused intellisense to fail and prevented the project property pages from being viewed. 

The problem is specific to each configuration (such as Release or Debug) but might affected all configurations.

When new Arduino projects are created the <PlatformToolset> in the project file is now populated with a value that VS 2017 updated 15.6+ is happy with. [i]Users of older visual studio versions are unaffected.[/i]

How to fix existing projects - Existing projects might suffer from this problem

Do one of the following:-

1) Delete the visual studio .vcx files from your project folder then use "File>Open>Arduino Project" to re-open the project which recreates the .vcx files with the <PlatformToolset> correctly populated. If you have a large list of sources in your project option 2) below might be a better alternative than setting up a new project.


2) Edit the [project_name].vcxproj file with a text editor and ensure there is a <PlatformToolset> in EVERY "<PropertyGroup Condition="'$(Configuration)" xml entry. just like the following example. The order of properties is unimportant.

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">



more properties not shown here ....


  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">



more properties not shown here ....


Release 1806.2 Sp1 - 2nd June 2018 - Visual Studio 2012-2017 + AS7

  • Fix: Long standing issue that had been reported in various ways. The issue was that Libraries were  compiled and linked in alpha name order instead of the specified order. With this release of Visual Micro, the specified order is now as follows:-
       The order of the #includes discovered in the .ino project code
       If 'Deep Search Libraries' is enabled then the order of includes is returned via the Gcc-E compiler process
  • Fix: In the last Release we introduced shared core caching. The project cache was not cleared if a core was switched from Arduino 1.6 to, for example, Arduino 1.5. The result would be the compiled "project libraries" cache would be stale possibly giving linker errors.  (tip: Shared core cache is ON by default but can be controlled using the vMicro>Compiler menu).

Release 1806.1 - 29th May 2018 - Visual Studio 2012-2017 + AS7

  • Intelligent Core Shared Build Cache: There is a new menu item that enables control of the "Cores Cache". The menu item is called "vMicro>Compiler>Shared Cache for Cores" (the same is available in global settings "Tools>Options>Visual Micro>Compiler"). This option increases build times enormously, especially when building examples and new projects. (note: Verbose mode provides additional messages such as cache location)
  • Intelligent Core Shared Build Cache: Defaults to "On". Each type of core (distinguished by its variable build params) is then used by any project that resolves the exact same core/params. note: The cache is cleared/reset when switching this feature switched OFF.
  • Some file:/// paths in the verbose compiler output, such as '# Export' messages, did not support spaces. This caused CTRL+Click GoTo to fail.
  • Fix: "Build>Clean Solution" cleans the build temp folder for all arduino projects in a solution (previously only cleaned the active project)
  • Added new "Micro Application" option for "Arduino 1.9 (beta)" making it possible to configure both "Arduino 1.6/1.8" alongside "Arduino 1.9" and quickly switch between them.
  • Increase serial monitor terminal left margin. (reminder: the terminal font can be set using the lower tool bar on the serial monitor.

Release 1805.25.0 - 25th May 2018 - Visual Studio 2012-2017 

  • Use regex to determine .INO #includes for intellisense regardless of "Deep Search for Libraries" setting. This ensures intellisense is immediately updated when adding libraries and switching boards. Previously a build was required before library intellisense was updated fully (caused some confusion)
  • Right click -  Publish Local Library. Copies a library to "[sketchbook]/libraries". Saves a backup of the replaced lib in "sketchbook/_libs_bak/libName/time/LibName". After publish the library is ready for use in other arduino projects. Building other projects that use the library will update intellisense
  • Added a clear example of a self-contained project structure with source code sub folders and a local/private library. "File>New>Project>C++>Arduino Project With Local Library"
  • Fix: Debugger Min/Max values failed to display for float/decimal data
  • When Deep Search for Libraries is enabled the older arduino regex expression is no longer also used. This prevented libraries conditional #includes in .INO source code from having any effect, the library would be linked regardless of #condition. note: Switching off deep search and adhering to the restrictions of the older regex system dramatically improves some compile times.
  • Correction to last release: Auto detect usb connect now defaults to OFF
  • Correction to last release: Added optional menu item: vMicro>Compiler>Local Files Override Library Files - Ignore library source files if a file of the same name exists in the project
  • Changed (help/reference) links from http:// to https://
  • Fix: Support CTRL+Click shortcuts (file:///) paths that contain spaces in the build output
  • Export exports to the path resulting from "Visual Studio Project > Property Pages > Output Directory"
  • After a build, the build output can be found in "Visual Studio Project > Property Pages > Intermediate Directory"
  • Added verbose output messages for "export binary" and "final build output location"
  • Serial Monitor uses Visual Studio color theme (requires restart for changes to apply if the theme changes)
  • Serial terminal font has always defaulted to standard visual studio Text font. A new button has been added to the Serial Monitor bottom tool strip called "Terminal Font". This button enabled the serial monitor font to be changed. The setting is retained in Tools>Options>Visual Micro>Communications>Terminal Font
  • The "pre release / work in progress" of the past week, always ignored core .o files in a cached build, if the same name file was also included in the project. We now use the setting from tools>options, the default is to allow both core and project files of same name to be compiled.

Release 1805.14.1 - 14th May 2018 - Visual Studio 2012-2017 + AS7

  • Fix problem with the new compiler warnings in arduino 1.8.5 built in avr or any toolchain that does not specify a "default" warnings.
  • Fix intellisense for arduino 1.0 boards. Intellisense had gradually broken after the huge arduino architecture changes over the past year or so.
  • Fix build process for arduino 1.0 boards when more recent custom hardware definitions are installed in my sketchbook\hardware folder. Only hardware that has boards.txt but does NOT have platform.txt is loaded for Arduino 1.0
  • Add source code #line numbers and original source code file name to code in the temp build folder. This enables external tools and debuggers to work with the compiled .elf and object files.
  • Added a new menu item "vMicro>General>Auto Select Board/Port When A Device Connects". This feature is enabled by default which causes visual micro to select a newly found serial port and to use the usb vid/pid to resolve the connected board (if vid/pid is known in boards.txt). Some usb devices share a common vid/pid/driver so this feature only applies to certain boards. Most Arduino boards support this feature. Esp8266 and Esp32 do not.
  • Added ESP32 SPIFFS support to "vMicro>Publich Server Data". With or w/out password auth supported.
  • Resolve intellisense issue when toolchain and project are on different  drives
  • Implement newer "compiler warnings" syntax for the arduino framework : {compiler.warning_flags}
  • Change "menu "vMicro>Compiler" to support separate warnings for :- Project, Libraries and Core.
  • Fix: RTS was not enabled/disabled in the serial monitor. Will have affected some esp8266 users if their usb driver defaulted to RTS on
  • Support local project source code override for library and core. Skip compile and link of core or library source codes that have the same name as the project source code. This allows selected core and library sources to be used locally in the project for testing or redesign. (The Arduino IDE already supports this feature). For example creating a main.cpp and then click "Build>Rebuild". This provides complete control over the micro-controller outside (or with modification) of the Arduino framework. tip: When the Solution explorer is not "Showing all files", use "vMicro>Toggle Hidden Files" to easily see/copy "core and library" sources.
  • Show more informative error during debug if a break-point message has invalid syntax such as a missing brace
  • Fix: Serial debug support for expressif esp32 boards
  • Serial debug support for nRF boards
  • Resolve Arduino 1.5 avr intellisense issues
  • Slow toolchains such as arduino 1.5.8 might have timed out at the start of the first build of the session
  • Examples show examples for the current board under an easy to see separate tree node in the micro explorer
  • GDPR - Removed anon telemetry at start-up which was used to monitor vs version usage. It might be re-implemented in the future with more obvious user controls.
  • Energia 18 new boards required some additions (java.exe location for RunActions, more to follow)
  • Add new config property and default to ON for Energia which uses a custom action to add a main.cpp to the build folder. In this case, if visual studio is set to "compile files in project", as opposed to "compile files found on disk" then the main.cpp will be forced into the list of files to be compiled  := ide.actions_result_in_maincpp=true
  • New menu item 'vMicro>Compiler>Always Export Binary' saves the hex/bin to the project folder after each build. tip: The output files are available in the folder specified in "Project>Property Pages>Final Build Output Folder"
  • Tools>Options>Telemetry>Check for Updates is no longer read only for non-educational users. The tool tip of the property has also been extended to explain some Telemetry information (no personal info) is sent during check for updates. reminder: Microsoft Visual Studio also provides an update notifications facility configured in "tools>extensions and updates".
  • When there are new major releases of Visual Micro. Check for updates will show new release messages in a "quiet" output tool window instead of an annoying on top dialog.
  • Minor changes to the text of menus to make them more readable
  • "File>New>Arduino Project" creates a project with more informative comments in the new .ino file but only when "vMicro>General>Tutorial" Mode is enabled.
  • "vMicro>Compiler>Always Export Binary" - Verbose mode reports file names as clickable links
  • Changing "vMicro>Compiler>Deep Search for Libraries" for a project also changes the "default" setting that is applied to new projects and projects when "Deep Search" has not been specifically set.
  • The reason for debug build failures is better reported
  • The FAQ on is more obvious and has been updated
  • The Pro version has been merged into a single product. All features available to all users. The license model has changed to provide free download and evaluation for 90 days. After that time the software continues to work but should be purchased. Thank you

Release 1804.21 - 21st March 2018 - Visual Studio 2012-2017

  • Fix: Boards with "Board_" in their internal name failed to allow selection in the ide. Visual Micro now uses a unique internal board id prefix!
  • Intellisense: Arduino Primo/NRf boards - #undef _WIN32 is required because the platform ignores the nrf headers if it believes it is building WIN32. VS #defines _WIN32 for Cpp projects so we undefine when working with arduino
  • Intellisense: SAMD improvements
  • Intellisense: Esp8266 improvements
  • Fix: Escape single quotes in patterns to double quotes. Resolves upload issue with Microsoft MXChip AZ3166 boards
  • Intellisense: STM32 improvements
  • Add: "vMicro>Help", a short note about automatic updates of Visual Micro in some VS versions

Release 1804.16 - 17th March 2018 - Visual Studio 2012-2017

  • Release mode no Debug by default. Removes much confusion for new users!. When opening Arduino projects for the first time (or using "File>Open>Arduino Project") "Release" mode is selected instead of the default Visual Studio "Debug" mode.
  • IDE Locations dialog - Support high dpi monitors
  • Improved support for intellisense (non-build) fixes. Creating a vs-intellisense-fix.h in the project\__vm folder allows for user code to override intellisense without affecting compile.
  • Improved intellisense for samd maths.h
  • Removed AVR uint8_t intellisense fix because other intellisense updates resolved the issue.
  • Fix: Int64 cast error reading .jason package index if the package index fails to define a platform download "size". (Why: Some packages incorrectly define an empty string for the platform.size property instead of an integer)
  • Intellisense support for Aurix hardware
  • note: Users of this free version must update to the latest free version before April 2019

Release 1803.26 - 26th March 2018 - Visual Studio 2012-2017

  • Architecture/platform libraries now have priority over custom and ide libraries
  • Custom libraries only have priority over IDE libraries (NOTE: Remove and re-add shared libraries if they exist and you expect the path to change!!)
  • Revert serial reader to UTF8 (incorrect change in last point release)

Release 1803.6 sp3 - 4th March 2018 - Visual Studio 2012-2017

  • Added yield() to all Esp8266 debug packets. Prevents the esp from crashing if the serial buffer fills up.
  • Changed Serial reader from Encoding.UTF8 to Encoding.Default so that unicode characters display correctly in the serial monitor.
  • Extend serial monitor exception detection so that the "try resolve stack trace" ! icon appears more often.

Release 1803.4 - 4th March 2018 - Visual Studio 2012-2017

  • Fix: Library architecture resolution failed for some libraries due to an incorrect string case comparison resolving architecture= for
  • Add: PostUpload hook for standard upload. Previously was only applied to programmer/tool uploads. Syntax is:  recipe.hooks.deploy.postupload.1.pattern=
  • New pro feature: Support serial exception and stack reporting with dbl click drill down into code. A new icon appears on the serial monitor when an exception is detected. 



  • Visual Micro is pre-configured for esp8266 exception handling but can easily be implemented for other platforms/boards with the following properties in project, platform or board config files:-
    note: exceptions.serial.messages can be a file path or a , sep list of exceptions. Text file is line terminated. Each line or item # represents the full error Exception(29) relates to line or item 29.

    exceptions.serial.messages=[path to]/exceptions.txt
    exceptions.serial.regex.exception_number=Exception \(([0-9]*)\):
    exceptions.serial.resolve.addr2line.args=-aipfC -e"{build.path}/{build.project_name}.elf"
    exceptions.serial.resolve.stack_addresses.pattern="{compiler.path}{addr2line.cmd}" {addr2line.args} {stack_addresses.list}

Release 1801.27/28 - 27-28th Jan 2018 - Visual Studio 2012-2017 + Atmel Studio 7.0

  • Workaround Visual Studio VSIX bug that suddenly refuses to include newtonsoft.json dll in the VSIX. This is the reason the last release was retracted.
  • Copy sub folders when copying/cloning library examples
  • Support the creation of projects with name containing period (dot)
  • Allow libraries to compile even if they specify an incompatible architecture= in the settings. Many libraries specify only "avr" when they actually do work with other architectures. The supposedly incompatible libraries will not be displayed on "Add Library" menus but adding #includes will enable intellisense and compile.
  • Add clearer messages when library headers can not be resolved.
  • Code efficiency: Prevent various internal code exceptions with better validation
  • Fix: Upload failed for Boards that did not use a programmer or a com/ip port to upload when a user had never previously connected a COM port whilst using Visual Micro.
  • Fix: Certain STM32 cores (any core that included both a wpogram.h and an arduino.h) would fail to compile. Visual Micro will now use the "arduino.h" if it exists in preference to the "wprogram.h". This applies to the automatic #include created in the temp folder during compilation. If neither file exists in the core folder then the "arduino.h" is #included (and would be expected to be resolved via the automatically discovered include paths).
  • NB: Visual Micro uses the standard C# SerialPort object in the serial monitor. Some USB/Serial drivers are specified for Windows10 Universal only will fail with C# in WinXp, Win7, Win8 and Win10. Confusingly the arduino ide java serial access works better with Win10 universal drivers than Microsoft's own C# serial port object! Rule of thumb is use the correct driver for the OpSys that you are using.
  • Improved intellisense for SAMD boards (_asm_(x) and _Pragma(x))
  • Free Use: To keep support to a minimum, unlicenced users must update this software before Feb 2019

Release 1801.14 - 14th Jan 2018 - Visual Studio 2012-2017

  • Teensy 3 - An intellisense fix has been added for all functions found in the teensy3 wiring.h. Intellisense will show the following but the compiler will use the real teensy code.
  • Resolve most Nrf52 intellisense issues.
  • Added: vMicro>Delayed Startup (visual micro will load in background. The IDE will not be delayed during startup.
  • NB: This release was widthrawn due to an installer issue. These changes have been combined into the 1801.27 release.

Release 1711.19 - 19th November 2017 - Visual Studio 2012-2017, Atmel Studio 7.0

  • Add support Arduino 1.9
  • Minor fixes as per forum threads
  • Add support for pre-compiled files in each project\libs folder (.a). .a files in \libs will automatically be linked.
  • Esp8266 debug no wait at start. Esp8266 needs to do as little as possible before the wifi connects!!

Release 1709.3 - 3rd September 2017 - Visual Studio 2012-2017 

  • Fix: Order of files passed to linker ensures libraries can be overriden with local project code
  • Fix: Re-instate the "Create a shared project when adding libraries" check box menu
  • Fix: (Arduino Primo) Ensure that files with a lowercase ".s" extension are not compiled. (Must only use uppercase ".S" extensions for assember)
  • Fix: Better intellisense support for core variations (such as Sandeep Mistry Nrf52 cores)
  • Fix: "Toggle Hidden Files" was slow due to an attempt to workaround a VS2017 bug. If using VS2017 then ensure the latest service pack is installed Microsoft have fixed the issue in 90% of cases. If toggle hdiden files refuses to work correctly by showing an error in the output window then close the project, delete the .vcxproj, .vcxuser, .vcxfilters files and then reopen the project using "File>Open>Arduino Project>Your_Project.ino". NOTE: Backup the files before deleting them if you are using a non-arduino compatible project file structure or shared references.
  • Fix: Show board selection for the "Active code" editor as opposed to the "active solution explorer item" when "vMicro>General>Active code has priority over solution explorer" menu item is checked.
  • Add: Serial monitor has a new checkbox button called "Clear On Send". This feature clears the terminal receive window when data is SENT from the PC to the Arduino.
  • Add: When a shared library project is created automatically a vs-readme.txt is added with instructions of how to use and how to "add a reference" from master Arduino projects to shared projects
  • Tip: When an Arduino library is configured as shared project the library can be debugged using the Visual Micro debugger.
  • Fix: Revert to VSProject and VCProjectEngine v11
  • Fix: Prevent VSSDK via NuGet for the production of the .vsix installer

Release 1707.30 - 30th July 2017 - Visual Studio 2012-2017 

  • Debug support for adafruit nrf feather boards > 6.0 tool chain (debug compile failed because the name of the Serial class has changed, older nrf feather toolchains are no longer supported for serial debug) 
  • Merge properties from related platforms where missing. A custom arduino hardware folder that shares a platform such as avr can provide additional programmers and build/programmer properties that are not defined in other platforms of the same name.
  • Add more obvious error when the properties of a programmer can not be found. (previously the error was: index is outside of bounds of array)
  • Remove erroneous board with the same name as the platform. Affected some platforms only.
  • Fix: Add custom project -D defines to GCC-E library auto discovery.
  • Fix: Insert custom build flags and defines before the first -D or -I of a recipe. This prevents prep-processor errors during library discovery.
  • Fix: Issue compiling if a board option changed the variant file name. The stm32 discovery boards use a board option to switch between F4 and F7. This would fail unless tool chains were reloaded or the ide restarted after switch between options.
  • Test STM32 boards from

Release 1707.14 - 14th July 2017 - Visual Studio 2012-2017 and Atmel Studio 7

  • Reinstalled VS and re-built project to rectify Microsoft installer issues

Stable Major Release 1706.25 - 8th July 2017 - Visual Studio 2012-2017 and Atmel Studio 7

  • Fix: Prevent compile and upload when sketch reaches the max size specified for the board. This important test was ignored in the last few versions of visual micro which allowed programs to be uploaded when they should not have been. Sorry.
  • Add option to automatically open the Serial monitor after upload. This feature has existed when debugging for a long time but now it is also available when uploading a Release version of a program to a micro-controller. Menu item : 
    "vMicro>Uploader>Auto Open Serial"
  • Add more obvious setting that prevents boards from being Reset when debug starts. This mainly only affects boards that respond to the DTR serial property. The default is and has always been ON, switch OFF to jump into a running Arduino debug session when debug starts. Menu item "vMicro>Debugger>Reset or Delay When debug Starts"
  • Minor change in resolving tool dependencies. Tools that exist directly below a package are given priority when resolving tools for each platform. An example being that esp8266 might be installed under the \Sparkfun package and also under the \EspCommunity package. In this case espcommunity will use espcommunity tool versions and sparkfun will use sparkfun tool versions. In previous releases one or the other was used for all esp boards regardless of package ownership. This might have causes the Esp community boards to fail to upload.
  • Debug improvements for esp8266 UDP debugging. Visual Micro will no longer use delay(), will yield() and will poll for OTA updates more frequently when stopped in breakpoints.
  • Free users must update this release by 30th June 2018.
  • Refresh of free version for VS2010 and AS6.2 (but still compatible only with Arduino 1.6.9 and below)

Stable Release 1705.8 - 8th May 2017 - Visual Studio 2012-2017 and Atmel Studio 7

  • Reversed the new user experience changes from Feb 2017. First time usage prompts the Ide locations window. Advanced users who wish to work without an Arduino Ide can cancel and continue working with the "Visual Micro (No IDE)" option. The "No IDE" option supports board manager, library manager and sketch book custom hardware and libraries but will be missing the built-in hardware and libraries that are installed with an Arduino IDE (or clone).
  • Removed nag screens from atmel studio device programming except for the one, as described above.
  • Tested Atmel Studio Simulator with Uno and Mega 2560. nice!.
  • Esp32: Intellisense fix. Followi the esp32 arduino ide install guide. If using Symatec anti-virus, the esp32 tools give a false positve and will not work. change the platform.txt to use the linux python .py instead of .exe files. Make sure python is installed (see esp9266 community docs). Ask in the forum if you need help.
  • Fix: Shortcuts to library sources are added to the project if Toggle Hidden Files is enabled when adding libraries. note: This does not happen if "create a project when adding libraries" is enabled.
  • Board and library managers moved into the standard version of Visual Micro
  • High speed build moved into the standard version of Visual Micro
  • All local and custom library development moved into the standard version of Visual Micro
  • All shared project functionality moved into the standard version of Visual Micro
  • Board and Library Manager speed improvements
  • Board and Library Manager - Added new button 'Check for Updates'
  • Board and Library Manager - New global setting "tools>options>visual micro>contributions>update indexes". When 'True', Board and Library Managers will automatically check for updates when the managers are used. The default is False which requires the "Check for updates" button to be pressed before new BSP package_index.json and library.index.json urls are fetched/downloaded.
  • Added 14 day count down before the free version must be upgraded to the latest free. To help with support we force everyone using the free version of visual micro to upgrade at least once every 9-12 months.
  • Toggle Hidden Files - Due to bugs in Vs2017 the behavior has altered slightly. Variant shortcuts are combined with "Core". Library source shortcuts are grouped together for each library in a "Library Name" folder. The main difference is less virtual folders which can cause VS2017 to crash/hang.
  • Fuller and better defined experience for users of the unpaid free version. Nag screen once per day on first build. Software "required update by date" shown in "tools>options>visual micro>version". 14 day count down message in build output prior to the date. Free users must upgrade approx. every 9-12 months.
  • A trial is no longer automatically started for free users allowing the free software to be tested and used prior to starting a trial.
  • All types of shared project (in libraries) are available in the free version.

Stable Release 1704.30 - 30th April 2017 - Visual Studio 2012-2017, Atmel Studio 7

  • Fix issues with shared projects!
  • Added "New Arduino Library" and "New Arduino Shared Project" to the File>New>Project wizzard
  • Implemented debug in the code of Shared Library Projects
  • Free version Nag screen appears only once per day regardless of how many new instances of visual studio are opened.
  • Shared library projects failed to compile
  • The 'Help' with Visual Micro menu has been moved to the vMicro menu
  • Install GDb has been added to the Help menu. The comand opens a page that points to the various different supplementary gdb extensions.
  • Auto create shared project from a library has been added to the free version of visual micro. Libraries can exist in any location allowing for unlimited different versions selectively shared between multiple Arduino projects
  • Debug support for Shared Project code is fully available. Arduino library debug is also available with gdb and coming soon for usb/wifi/rf/bluetooth.


Important notes about maintaining Arduino compatibility in the code

  • solution example folder structure :-

  • > Shared Project A: solution/shared_stuff
  •    > solution/shared_stuff/bar.h
  •    > solution/shared_stuff/bar.cpp
  •    > solution/shared_stuff/src/foo2.cpp
  •    > solution/shared_stuff/src/foo2.h

  • > Arduino Project A: solution/breakpointtest/
  •    > solution/breakpointtest/breakpointtest.ino

  • > Arduino Project B: solution/example
  •    > solution/example/sketch2/sketch2.ino
  •    > solution/example/sketch2/src/foo.h

In the above example foo.h could "#include "foo2.h" and foo2.h could include foo.h. During compilation they will both be in the same folder! foo.h would have to step up one folder to access bar.h #include "../bar.h"

The Arduino IDE supports the project root and the \src sub folder and any sub folders below it.

When working with more than one arduino project in a solution that also has shared projects. The intellisense in the shared project code will be based on the "Startup Project". That's the project that shows in bold in the solution explorer. Right click an Arduino project to "set as Startup Project"

Adding a reference to a shared project from an Arduino project automatically makes all code from the shared project available to the Arduino project.

Release 1704.28 Sp2 - 28th April 2017 - Visual Studio 2012-2017

  • This release drops back to using older Microsoft visual studio api's avoiding bugs and also giving a better experience to vs2012 and 2013 users. 
  • One important fix as a result of using older api's is that "vMicro>Toggle Hidden Files" was prone to crash.
  • Gdb has also been removed from the main visual micro extension because come important Visual Studio components require different code and api versions for each version of Visual Studio. Instead the are some new optional extensions that work along side visual micro and provide gdb debugging. Working with these new version specific gdb extensions will provide a much more reliable basis for us to build better gdb functionality. If the visual micro gdb extension is not installed then visual studio will show an error message warning that debug can not be started for an unknown reason.
  • There have been some avr and adafruit nrf intellisense improvements

Release 1704.20 Sp1 - 24th April 2017 - Visual Studio 2012-2017

  • Fix - Serial ports list might have been empty sometimes. Workaround/protect against Windows 10 bug of  duplicate serial ports that caused visual micro not to display any serial ports.
  • Fix - When using the Gdb Command Window - Debug.MIExec commands the returned output will correctly show in the command window where as previously the output showed in the "Debug" output window. For example Debug.MIExec help and Debug.MIExec list will show the resulting help or code in the command window below the command that was entered.
  • Beta - Download GDB Debugging in Visual Studio 2017. A new light weight extension is available that simply launches the Visual Micro GDB debugger for projects that have a debugger flavor of "VisualMicroDebugger". Launching the debugger in Visual Studio is different for each version which therefore we will produce a separate extension for each version. The main Visual Micro Arduino IDE extension will remain compatible with all supported versions of Visual Studio. gdb aslso requires Android tools for Visual Studio to be installed.
  • Fix: Arduino as ISP - Burn bootloader passes serial port to command.
  • Fix: Removing all breakpoints from a .cpp (without making any edits to the source) failed to recompile and used the previously cached .o object files instead. A more efficient comparison is now made during file.copy and the LastModifiedDateTime is updated if the latest version of a source file is different from the cached build version.
  • Updated: avr intellisense to detect gcc 4.6.2 and 4.6.3. 4.8.1 is also still supported.
  • Added: intellisense redefines for the avr pgm_read defines which VS does not understand
  • Added: intellisense sense only preprocessor define _VMICRO_INTELLISENSE
  • Change: Enclose the vsarduino.h intellisense header source with if defined(_VMICRO_INTELLISENSE) read more
  • Automatically disable visual micro in project configurations that contain any of the following defines _WINRT_DLL; _WIN_IOT; _VMICRO_DISABLE
  • The above changes ensure that windows IoT projects containing a .ino course file can be compiled without interference from Visual Micro. Creating a new empty project configuration without the above defines will allow visual micro to build a windows 10 IoT project when the configuration is selected.
  • New draft documentation guide to cross-compiling Windows 10 IoT and Arduino projects. How to optionally enable Visual Micro for a specific Configuration and how to create code that or Microsoft IoT will compile.
  • Change: Automatic debugging will only be started for projects that have an active configuration name containing the text 'Debug' (not case sensitive). Previous version would enable debug unless the configuration name contained the text "Release". This is designed to prevent users who do not know what debugger is from accidentally enabling debugging.
  • 1704.18 - Reversed >> Updated to the latest SharpZip. Hopefully that solves some reported issues unpacking/installing new hardware. (issue report)
  • Workaround: Esp8266 debug failed to connect to wifi. If the esp8266 has a 2-3 second delay at the start of the setup() it fails to connect. Visual Micro no longer enforces this delay for esp boards. In fact the delay is only useful for boards such as the Uno which start almost instantly preventing the serial monitor (and debugger) from capture the earliest serial messages.
  • Missing last char when reading serial during debug. If serial.print() was used in the arduino code without line terminator the last printed char was missing from the display
  • Known bug: Unprocessed debugger packets can sometimes appear in the serial output window. Improved slightly in this release.
  • Intellisense and serial debugger support for Adafruit Feather/nrf52 type boards

new gdb hooks - examples


# Gdb override target_selected: fires after the target is selected and prior to halt

recipe.hooks.gdb.post_target_selected.1.pattern=monitor arm semihosting enable
recipe.hooks.gdb.post_target_selected.2.pattern=set mem inaccessible-by-default off
recipe.hooks.gdb.post_target_selected.3.pattern=monitor arm reg
recipe.hooks.gdb.post_target_selected.4.pattern=monitor arm semihosting_fileio enable 


Release 1704.3 - Due 3rd April 2017 - Visual Studio 2012-2017, Atmel Studio 7

  • Roll up of all recent changes
  • Much improved handling for missing or superceeded board manager tool chains
  • Important release for users of Arduino 1.8.2

Release 1703.31 - 31st March 2017 - Visual Studio 2012-2017

  • The Visual Micro entry in Platform Explorer did not draw correctly if an Arduino version was selected in the editor.
  • The Visual Micro entry did not show some tabs
  • Added support for boards that do not #define an ARDUINO version in the compiler syntax of platform.txt.
  • Added support for boards that incorrectly hard code the archive file name (core.a)
  • Added support for sparkun beta PSoC Dev Board

Release 1703.30 - 30th March 2017 - Visual Studio 2012-2017

  • Important update for Arduino 1.8.2 tool chain discovery
  • UTF8 in the Serial Monitor / Console. (tip: To create utf-8 source code click "File>Save As>With Encoding"
  • Fix: Tool chain discovery: Ignore discovered hardware source folders that are empty. Causes build errors if a package\version folder existed that was empty. The arduino.h and other sources would fail to be found by the compiler.
  • Add - New CLI tool. Compile Arduino folder structure or compile visual studio project structure. overview: Supports the same build as visual micro, all build properties can be overridden, final output can be copied to specified location. (the tool is beta, the output format is likely to change prior to release)
  • Handle situations where discovered tools are not listed in json index files and installed hardware references a similar but missing tool. The recent arduino 1.8.2 release was an example with hardware version 1.6.18 and a new unlisted atmel/avr tools version. Also now resolved by in board manager

Release 1703.25 - 25th March 2017 - Visual Studio 2012-2017, Atmel Studio 7

  • Support for Arduino 1.8.2 which defines the avr platform as 1.6.18 but that core has not yet been published to their Board Manager!! It also defines an atmel avr tool version that has also not been published to Board Manager. Neither are required but caused a breakage for Visual Micro. The new release of Visual Micro will find the highest tool and core based on version when missing items are encountered. (this issue only affected built in arduino ide avr boards)
  • Fix: Version comparison for platforms. (previously arduino 1.6.9 was considered higher than 1.6.17, oops!)
  • Allow discovered tools found on disk to be contained in the index even if they are not declared in the package.json
  • Note: It is recommended to use "Visual Micro" without the Arduino IDE. The Explorer > Board Manager and Library Manager can be used to install all hardware and libraries making the Arduino IDE redundant. Visual Micro is less susceptible to breakages when the Arduino IDE is not being relied upon.
  • Removed obsolete programmer entries from the Atmel Studio 7 version. The "Atmel Studio Device Programming" programmer is the only option required to use any Atmel studio hardware programmer (then set your prefered programmer using the standard Atmel Studio project properties. tip: make sure your as7 project type 8bit/32bit matches your hardware!)

Release 1703.20 - 20th March 2017 - Visual Studio 2012-2017

  • Fix: Support for shared (linked) .ino source code
  • Clearer tool tips on the Serial Monitor DTR and RTS checkboxes. NB: For esp8266 users the checkboxes must be OFF
  • Fix: Intellisense paths failed to be updated if an invalid path format was encountered in existing c++ project paths
  • Add: Custom hooks/actions for upload events. pre/post/error
    Example: paste the following into a board.txt that can be created via the Visual Micro "Add Code" menu. This examples gives a few useful properties. Switch on vMicro>Compiler>Verbose to see and "Show Build Properties" to see other property_name= {variables}

    these hooks are just examples and will produce error outputs
    # project build property overrides (board.txt)
    # before upload event - example
    recipe.hooks.deploy.preupload.pattern=cmd.exe /c "c:\hooks_test\test_pre.bat" "{build.path}  "{build.project_name}" "{build.project_path}"
    # upload failed event - example
    recipe.hooks.deploy.errorupload.pattern=cmd.exe /c "c:\hooks_test\test_error.bat" "{build.path}  "{build.project_name}" "{build.project_path}"
    # upload complete event - example
    recipe.hooks.deploy.postupload.pattern=cmd.exe /c "c:\hooks_test\test_post.bat" "{build.path}  "{build.project_name}" "{build.project_path}" 

Release 1702.25 - 25th February 2017 - Visual Studio 2012-2017

  • Burn boot-loader now works for boards that have a bootloader.pattern but do not specify a bootloader.file
  • Setup: Prevent output window error warnings when arduino projects are opened (or created) before hardware has been installed. This mainly applies when working without an arduino ide location and before the first package has been installed. In this case there are "0 installed or available boards"
  • When there are 0 installed boards the boards lists show a command to open the Visual Micro Explorer where the "Board Manager" tab can be used to install boards. (reminder: click Rescan or restart the ide after making changes to boards within visual micro or externally in windows explorer).
  • Also works with the windows store version of the arduino ide (tip: You do not need to configure an ide in visual micro when using window store arduino ide)
  • Visual Micro no longer requires the Arduino IDE to be installed. Existing users will notice no difference but new users will no longer be prompted to configure an Ide location. In all cases a new "Ide/Application" called "Visual Micro" automatically provides the Arduino environment. When using the Visual Micro option, Help/references will not be available. The standard AVR (Uno etc) tool chains and libraries can be downloaded/installed via the Board and Library Managers.
  • Fix: Shared library projects would fail to compile if the library_name.h was not #included before other headers from the same library. This only applied if "library deep search (conditional lib-in-lib auto discovery) was enabled on the vMicro>Compiler menu.
  • New users will find the arduino, esp8266, adafruit board packages are ready to be installed (as required). (atmel studio has arduino, chipKIT, sparkfun, adafruit)  To enable auto-check for package updates each package must be enabled in the auto-discovery list at the top of the Visual Micro Explorer > Board Manager.
  • The new "Folder Only" mode in VS2017 is still beta

Release 1702.18 - 18th February 2017 - Visual Studio 2012-2015 (+ 2017 RC4 beta)

  • Upload defaults to using a short windows 8.3 build path to avoid issues with unquoted build definitions and folders with spaces. (affected intel 101 upload for some users)
  • Add support for Arduino preferences to exist in the "SketchBook\ArduinoData" folder. The ArduinoData folder is created by the Arduino IDE when installed from the windows app store. Visual Micro does not support windows app store versions of Arduino because the default permissions prevent us from accessing the IDE. note:   If the ArduinoData folder exists it takes priority over the Users\Appdata\Local\Arduino15 folder. If [ArduinoIdeFolder]\portable exists then it takes priority.
  • Tool chain discovery improvements. Some hardware failed to build or upload.
  • Platforms with missing tools have more intelligence to find tools in other packages. If the correct version can not be found then the latest installed version of the same tool name is used.
  • Discover and mark as installed tools that exist below the downloaded package folders but that are not declared in any indexes (packageindex.json)
  • Better discovery of tools for packages that were designed for an older version of the Arduino IDE than is currently installed (mainly applies to AVR boards)
  • Updated support to VS2017.RC4 which required all visual studio dte references to be reset.

Release 1702.15 Sp1 - 15th February 2017 - Visual Studio 2012-2015 (+ 2017RC beta)

  • Platforms that referenced tools using a version format with less than 4 segments failed to discover tools resulting in compiler or uploader "{} errors. This also affected the installation of hardware via board manager where by tools would not be installed if the version number format was less than 4 segments (v1.1 failed but was ok). If hardware has been recently installed and the problem persists after applying Sp1 then use Board Manager to uninstall and reinstall the hardware/platform.

Release 1702.15 - 12th February 2017 - Visual Studio 2012-2015 (+ 2017RC beta, Atmel Studio 7)

  • Serial usb debug support for many more variations of samd based boards (atmel boards etc.)
  • Atmel Studio version sync with latest release.
  • Atmel Studio bug fix: Menu item "vMicro>Atmel studio  debugging" is not available in the free version again. Reminder: Setting the programmer to "Atmel Studio Device Programming" and switching on "Use for uploads" enables native Atmel Studio devices and settings to be used for upload.
  • Library searcher discovers all library paths for a source file and then resolves all discovered libraries. This fixes issues compiling some libraries that inter-relate such as Microsoft Azure libraries and mqtt samples.
  • Make more accurate insertion point for prototypes in .ino code
  • Various compile issues related to code formatting
  • Serial debug commands are no longer added to .c files (caused compile errors)
  • Gdb and Atmel hardware debuging is now free (applies to visual studio and atmel studio 7)
  • Shared projects improved
  • Shared libraries edit and debug, libs in any location, ideal for large development teams and advanced users
  • Cross-platform intellisense in shared projects (see the correct intellisense for the architecture of the currently selected master project)
  • The "Parallel builds" feature is now out of beta and speeds up large builds by 100's of % (for paid users)

Release 1702.11 Sp1 - 11th February 2017 - Visual Studio 2012-2015 (+ 2017RC beta)

  • Fix - Board and Library Manager. Platforms and libraries that contain versions defined in reverse or ad-hoc order will now suggest the correct "Latest Release" (for example: esp8266 will prompt v2.3.0 (newest) instead of 1.6.5 (oldest).
  • Board Manager - Tested installing and building 400+ boards. Installing 3rd party board packages can no longer break other packages due to incorrect tool chain specification in 3rd party indexes. This protects packages, such as Adafruit, that inherit tools and cores from other packages.
  • Fix - Prevent board manager tool chains from overriding the original. It was possible that a working build system would break after installing board manager packages that use the same tool versions as the currently installed arduino package. This could be a serious issue for some users by causing the build system to appear unstable.
  • More resilient and more intelligent  tools discovery for all 3rd part boards. Especially avr boards.
  • IoT device discovery failed if mdns properties were not available. For example connecting an esp8266 without using ArduinoOTA would fail to automatically discover the device. (applies only to apple bonjour for windows users)
  • Removed invalid #prama warnings from arduino 1.0.x debug builds. Did not cause a build to fail.
  • Added new build property {deploy.transport_type} to distinguish between normal and programmer upload types.   deploy.transport_type=upload and  deploy.transport_type=program (gdb debug forum)
  • Downloadable packages that contain platforms using the same named tool but of different versions could cause the wrong tool path to be available. This issue surfaced for the Intel Galileo gen2 boards that use a tool called sketchupload.exe. The intel package also contains the Genuino 101 definition which uses a different version of sketchupload.exe. Gal Gen2 boards would show {} error when upload was attempted.
  • Assembly view - Added support for the latest "Teensy" style compiler path definitions (used to find -objdupmp.exe)
  • Added a new tools>options>visual micro>compiler property. "Disassembled View Auto Activate". If disassembled view has been enabled for a project then automatically display it after each successful build (defaults to OFF/false). tip: The view automatically converts temp build locations to correct source locations (dbl click to go to source).
  • Discover downloaded tools that exist on disk but that have not been registered in a package index.json. (example: Samsung Artik 10 linuxuploader.exe)
  • Use PnP serial device discovery instead of win32. This allows for more port properties to be discovered from WMI. The VId, PID and iSerial variables are now correctly populated. Build/upload properties include the {serial.port.iserial} which contains the unique serial device id and is used by boards such as Samsung Artik 10 during upload.
  • Project name showed as "Sketch". After creating a new project using "File>New Arduino Project", the project name would revert to "Sketch" when it was next opened. This was caused by users clicking "No" to the visual studio prompt "save changes to the project (vcxfilters)". This release of Visual micro forces projects to be saved immediately after creation.
  • Fix: "Key already in dictionary" error during load of hardware that contains key/values for properties that are normally set by the IDE at run time. Caused some hardware to be excluded from the available/installed boards list
  • Improved threading and status bar animation
  • Improved status messages during Esp8266 SPIFFS upload "vMicro>Upload Server Data Files"
  • Append Vid/Pid specific build properties for the currently selected serial port (does not apply to Net/WiFi/OTA uploads).
  • Show USB/Serial discovery properties in outputs when "Show Build Properties" is enabled. Properties are shown as Serial.[propName]=[value]
  • Nucleo Fxx type boards using the mass storage upload method incorrectly define the disk volume in the upload command with quotes. For example "tools.nucleoFlasher.upload.pattern=-O "{node}" produces an invalid volume name of "NODE_F103RB". Visual Micro strips the quotes so that mass storage upload completes successfully.
  • Allow Visual Micro to be used while board manager is downloading/installing packages. Currently, only one package can be downloaded at a time (more board manager improvements coming soon).
  • Usb debug support for ARM_CORTEXA
  • Usb debug support for STM32L4
  • Implement better resolution of tool chain locations for hardware that inherits tools from other packages (boards that were designed for older gcc tool chains (but that inherit the core from packages such as arduino) will now use the version of tools (such as avrdude) that matches the core.
  • Resolve the correct variants location for downloaded packages that use arduino ide\hardware variants. Caused certain boards such as "arcode" avr boards to fail to compile due a missing pins_arduino.h
  • Fix: Platforms with index.json without dependencies now resolve to the latest arduino gcc. (attiny and other platforms would fail to compile)
  • Network Esp8266 spiffs failed if authentication was not used unless an empty network.password= was provided via board.txt (tip: spiffs is the upload of files from the "project\data" folder to the esp8266 file system)
  • Intellisense improvements for the latest arduino samd tool chain.
  • Board Manager - Download and install multiple packages at the same time
  • Board Mnanager - Allow project edit and upload during while new hardware is being downloaded and installed
  • Board Manager - New hardware installation progress "Number of packages remaining"
  • Arduino 1.6 and above only: -The default working directory when running build and upload processes has been changed from the arduinoide folder to arduinoide\java\bin. This enables .bat files that use java (such as some variations of serialuploader.bat and mapleuploader.bat stm32 and maple) to run without error.
  • Board Manager - Improved installation of new package url index files via the 3rd party Board "Auto Discovery List". Instant download of new index.json files when clicking auto discovery nodes. Select as many as you want and then click the Re-scan button to view install-able platforms (will appear as in the available platforms list)

Release 1701.19 Sp1 (Release) - 19th January 2017 - Visual Studio 2012-2015 (2017RC beta)

  • Sp1 fixes a plugin startup issue in the previous 1701.19 release 6 hours earlier. Affected all users unless Visual Studio 2017RC is also installed.
  • Fix intellisense bug in last few releases mainly for users with nas drives
  • Improve verbose compiler output proving CTRL+Click to view a directory that is shown in the output
  • Fixed (reverted) intellisense bug with forced includes. .ino and other source file names have been removed. Only the .project-name.vsarduino.h is applied. This will in the short term have a detrimental effect on intellisense when the new VS2017RC beta feature "File>Open Folder" is used. Wiill be resolved in the next release.

Release 1701.17 (Release) - 16th January 2017 - Visual Studio 2012-2015 (2017RC beta)

  • Arduino 1.8.1
  • Fix: Removed debug message from GDB startup
  • Sp2 fixes an intellisense issue with the new relative paths used during auto update of the c++ forced includes. The problem was a result of the work to support the new Visual Studio 2017RC "File>Open Folder". There are no longer any fixed intellisense paths in Visual Studio Arduino projects.
  • New version with many Team improvements
  • Edit and debug libraries from any location (add them as shared c++ projects) read more
  • New checkable menu item > Add Library>Create a shared project when adding libraries. When ON, a shared project is automatically created when a library is added to an Arduino project. Adding a refeference to the library project from a master project in the same solution provides cross-platform intellisense and debug.
  • Non-library shared projects are also now fully supported (vs 2015 and 2017 only)
  • Gdb board paramaters can now reference selected programmer properties
  • beta>The new "File>open Folder" feature of Visual Studio 2017 RC is supported for edit and build (no debug)
  • If project board, libs or settings had changed but users clicked "cancel" to the save changes dialog when closing the project intellisense would be incorrect after next open. Intellisense would correct itself after various events such as board, libraries, adding .ino source, adding methods to .ino files. The impact was unrecognized  #defines such as ARDUINO
  • Added initial beta support for the new "Visual Studio 2017 RC > Open Folder" command. Allows edit and upload of Arduino programs without need for a project file. Debug and project settings are not yet supported for this type of project. Visual Studio requires a CppProperties.json in the root of the project for intellisense to work in "Folder" mode. Visual Micro creates a CppProperties.json if it does not exist. A configuration called "Visual Micro" is maintained in the CppProperties.json. Arduino intellisense will only work when the "Visual Micro" configuration is selected. VS RC has a few minor bugs. IE: Re-opening a "Folder" can fail to show any source code, requiring an ide restart.
  • Fix: Stop debugging did not always manage the gdb kill command correctly. Start/stop gdb debug should be improved
  • The automatic project include (for intellisense) .vsarduino.h now uses a relative path.
  • Initial blog about shared c++ projects and arduino libraries

Major New Release 1701.3 - 3rd January 2017 - Visual Studio 2012-2015 (2017RC beta)

draft - more to follow

  • More intelligent compiler cache managment, less rebuilds, faster compile times.
  • Pro/paid users please try the new vMcro>Compiler>Parallel Build feature. Build all the files in each folder at the same time.
  • Fix crash when clicking "Create New Local Arduino Library"
  • Fix possible program freeze during build > library search. An example would be if a header or code file #included itself. In this case the gcc tool chain might never return from an infinite loop causing visual micro to freeze. A 3 second timeout is now imposed on library discovery commands and 90 seconds for compiler commands. Under normal use the timeouts should never be hit.
  • Limit compiler error messages to max 250. Huge errors would cause extreme sluggish ide performance.
  • Support C++ shared projects as References. The code from shared projects is compiled as if it were part of the main project therefore all source file names must be unique within the build. (tip: If using sub folders in shared projects it is recommended that only one first level sub folder called \src is used. This will make it easier to recombine sources into a single arduino ide compatible project. The arduino ide only recognize the src\ sub folder branch.)
  • Read more from Microsoft about C++ shared projects. Visual Micro applies the same rules to Arduino as is defined  here for Cross-Platform and Android
  • Seemless development in a shared c++ project. Upload, debug exactly the same as when developing in the main project.
  • When editing code in a shared project, intellisense will be provided based on the the Visual Studio "Startup Project". The build and upload controls will also assume the current Solution Startup Project.
  • When the F4 project properties of a shared c++ project are viewed a "Micro" option allows the folder path of the shared project to be added as a -I compiler included. The setting is not required to successfully build projects based on shared projects. The setting is for advanced users that understand clearly what adding compiler -I includes does.
  • Intellisense: C++ includes are now relative to the project folder and the $(ProjDir) macro is used to specify the root.
  • Opening a project does not cause automatic check out.
  • Many improvement for shared development teams. (More to follow)
  • Build progress messages and progress.
  • Free users: Try buy nag screen opens one time, on the first build after each start of visual studio. Clicking Cancel allows the build to proceed.
  • Tip for Arduino AVR users only: The Arduino IDE moved to a new avr tool chain that runs slower than the older versions. If compile speed is slow then point visual micro to a slightly older version of the Arduino Ide.
  • Open (and create if it doesn't exist) board.txt when "Create board.txt" is clicked
  • More intelligent auto detect when a rebuild is required as a result of board options value change.
  • Fix bug introduced in 1612.20 - Library search was cached too heavily. The latest release has a high degree if intelligence for all build cache phases. Tp: The cache defaults to "preserved between ide sessions". "Build>Rebuild" always clears the cache and performs a clean build.
  • Free users must update prior to 25th Jan 2018

Release 1612.24 - 24th December 2016 - Visual Studio 2012-2015 (2017RC beta) 

  • The Arduino 1.8.0 IDE has been released and is supported. The release works the same way as the Arduino 1.6.x versions. The Visual Micro application
  • Fix problem for first time users, after entering an arduino location visual micro would not operate until the ide had been restarted.
  • Compiler speed improvement
  • Using the Visual Micro 'Add Code' or 'Create Project' menu commands prevent illegal characters in file names (especially applies to Atmel studio which does not allow spaces in file names (unlike the Arduino Ide). Visual Micro supports spaces for new files in Visual Studio
  • The "Debug>Attach to process" command (attaches to an existing debug session is available) has been improved and is more responsive to a change of port or ip
  • Opening visual studio no longer shows the visual micro 14/45 day nag screen to buy visual micro. Instead the window opens the first time an Arduino build happens in the session. This will happen once every 14 days. (Feed back suggested it didn't make sense to nag visual studio users when not working with arduino projects. makes sense to us, thanks!)

Release 1612.20 Sp2 - 21st December 2016 - Visual Studio 2012-2015 (2017RC beta) 

  • Last update before the holiday. 
  • Fix debugger trace messages slow or non existent refresh
  • minor: Display trace updates before visualization updates (@plot, analog, digitial viewers) are refreshed

Release 1612.20 Sp1 - 21st December 2016 - Visual Studio 2012-2015 (2017RC beta)

  • SP1 - Fixes a startup crash for some unlicensed users. The prompt that appears every 14 days for free users was causing the problem. The prompt will now appear at the start of compilation once every 14 days.
  • AVR intellisense fix for arduino 1.6.10+
  • Esp8266 intellisense improvements.
  • Compiler cache defaults to per configuration causing compile to be much faster when switching between release and debug. (Switch this feature off in tools>options>visual micro>debug advanced)
  • vMicro>Debugger menu extended so that Digital Pin, Analog Pin and Free Memory viewers can be enabled without needing to edit the project properties.
  • Default debugger "In-Break Live View" to ON giving status updates while paused at a break point.
  • Improvements to default @plot chart viewer.
  • "Serial Monitor>Wrap" released in previous version didn't work properly. With wrap switched off clicking into the received data text box will show horizontal scroll bars.
  • Clearer status bar messages during debug
  • Prevented "vMicro>Toggle Hidden Files" from adding .c shortcuts because they cause the VS intellisense to break. This issue is under investigation.

Release 1612.12 - 12th December 2016 - Visual Studio 2012-2015 (2017RC beta) 

  • Enhanced support for OTA upload with Arduino Linux (Bridge) boards.
  • Improved handling of Ssh commands for Arduino Yun
  • Ssh password dialog auto focuses to the password field. (enter key presses the OK button)
  • Fixed a bug that prevented the Ssh password from being cleared when an Authentication error is encountered during a connection attempt (a restart was required to set a new password)
  • Merge bootloader for linux boards if a noblink.hex is defined for the board (yun)
  • Fix a problem that prevented the evrdude .config path from being overriden by the hardware/board
  • Force each package to use tools from within its own folder location (if installed), otherwise fall back to similar tool from other package.
  • Opening and closing of Serial/Network monitors improved. Also the handling of port auto-reconnect/errors has been improved.
  • Many debugger improvements...
  • Extended the hardware support for the Live memory viewer to all SAM, SAMD, ESP, 101 boards.
  • "vMicro>Debugger>In-Break Live View" - Optionally provides updated watch and charts during a breakpoint hit/pause event.
  • "vMicro>Debugger>Performance Stats" - Proves the mcu "up time" and time taken to execute code between two breakpoints.
  • A new notification system when a breakpoint is paused allows the debugger to more easily connect to and continue debugging for a micro-controller without need for reset (previously a blank monitor appeared requiring the 'c' char to be sent to the remote device)
  • Better status messages during a debug session
  • Known bug/todo: Ssh/Console debug does not yet support sending from pc to the remote device.

Release 1612.07 SP1  - 7th December 2016 - Visual Studio 

  • Fix - Last 3 releases the debugger failed to override the Dtr (for qualifying boards) during startup
  • The "tutorial" break-point in new projects has been changed to a trace-point. A message is printed every 250ms. This ensures the mcu will not stop in code unexpectedly for new users. tip: Switch off the "Continue Execution" break-point property to make the code pause and wait for a "Continue" command.
  • Fix: Rts is used more intelligently. The toggling of Rts is required for some boards but causes other boards, such as esp8266 to switch mode.
  • Debug message throttling is no longer applied to breakpoints that have "conditionw" and/or "hit count". This means a 250ms breakpoint will now be sent every 250ms. tip: To disable all debugger message throttling use the "vMicro>Debugger>Full Speed" setting but make sure the amount of trace and/or plot messages are limited to what your pc can handle (otherwise display falls behind real-time).

Release 1612.07  - 7th December 2016 - Visual Studio 

  • Esp8266 WiFi Debugging Beta (beta might cause the esp/network (uses udp ports 10112 and 10113 ) to require reset)  - Automatic when an ip address is the upload port. otherwise set project properties RemoteTransport=Udp and LocalPort=IpAddress. (NB: Update of debugger variables (=?) is not yet supported and will cause the esp to hang when attempting to change a variable value in the watch window)
  • All other features in this version are normal release (non-beta)
  • When using Esp9266 OTA Upload and Debug it is not required to configure the project properties (LocalPort/Ip and RemoteTransport/Udp)

Release 1612.01  - 1st December 2016 - Visual Studio 

  • Esp8266 SPIFFS uses apple bonjour dns info when available
  • Fixed bug that caused the project to be un-selected from the VS build process. Not normally a problem for Arduino builds but the same setting allows custom build events to be executed. Please recheck the the build option for your project in "Build>Configuration Manager" if you want to use Visual Studio build events alongisde Arduino builds.
  • Support "network.password=" in each projects board.txt (pro users)
  • Added new menu item vMicro>Debugger>Full Speed. This switches off the default debugger  message throttling allowing the micro-controller to run at full speed (approx). Enabling this property causes the advanced project property "Throttle Enabled" to be ignored and provides a more obvious setting for users who do not like to read the documentation. This setting is also required to debug in ISR handlers subject to a compatible debugger Serial/Pin configuration (example: if Serial does not work because the timer is being used then we have to select different port or pin for debug)
  • Captured the "Debug>Attach to process" event allowing debug to be resumed without need to for upload. This is the same as opening the serial monitor on the debug port. Useful when using Net/IP upload but debugging using a different port or pins.
  • Board Manager will warn/ask to run "post_install.bat" bat files if they exist with the tools installed during package installation. This allows usb drivers to be installed. The warning states the package must have come from a known reliable url (from a known package on a secure system).
  • Debugger - Fix for esp8266 free memory graph: {@ReportFreeMemory)
  • Updated to latest ICSharp.Zip api. Improves Board Manager package installer for GZip and TAR packages
  • Improve detection for new network/IoT devices when using the Apple Bonjour Printer Service for discovery (esp8266 + Arduino Yun).
  • Removed compiler delay in free version but removed the 'recently used boards' instead
  • Added menu item "Upload Last Build" to the vMicro>Uploader menu and removed from the Visual Studio "Project" menu
  • Removed all Visual Micro menu items from the standard Visual Studio "Project" menu. This applies to the "Add Code" and "Add Library" menu items. These items are available on the visual micro menus and bars, on the visual studio>solution>project right mouse context menu and on the visual studio "Add Items to Project" menus.
  • The dtr setting in the serial monitor defaults to False for boards such as esp8266

reminder esp8266 network config with or without apple bonjour print discovery services (as per arduino ide OTA guide)

local project board.txt




Release 1611.20  - 20th November 2016 - Visual Studio and Atmel Studio 7

  • Added intial support for Visual Studio 2017 RC
  • Intellisense fix for most tool chains. Stray )" in intellisense primer
  • Esp8266 debugger > digital pin, anlog pin and free memory visuals

Release 1611.18  - 18th November 2016 - Visual Studio (excl. 15 preview)

  • Deep search libraries supported for older tool chains. For example: Discover spi library for the Intel Galilao
  • Fix: Assembler .S and .inc files were not supported correctly

Release 1611.5 Sp1  - 5th November 2016 - Visual Studio (excl. 15 preview)

  • Fix: Missing "arduino15\packages\arduino\hardware" folder caused package load to fail. Applied to machines that had never used "board manager" to install genuine Arduino platforms (such as 32 bit). 

Release 1611.5  - 5th November 2016 - Visual Studio (excl. 15 preview)

  • Fix: Gdb debug failed in builds of the past 30 days note
  • Gdb uses localhost:3333 by default
  • Add: Optional Gdb debug property to control connection (ie: tools.gdb.tcp=localhost:4444):­ tools.gdb.tcp=

Reminder of gdb board.txt/platform.txt config properties

#board specific

[board_id].build.openocdscript=board/[board openocd].cfg

# platform general





tools.gdb.pattern="{path}/{cmd}" ­interpreter=mi ­d "{build.project_path}"





tools.gdb.openocd.pattern="{path}/{cmd}" ­s "{path}/scripts/" ­f "{path}/scripts/{build.openocdscript}"

Release 1610.27  - 27nd October 2016 - Visual Studio (excl. 15 preview release)

  • Board Manager Urls: Support local package index files that start with file://
  • Removed restrictions for package index file names that do not start with "package_"
  • Display package index.json "not found" errors (if encountered) when opening the Visual Micro Explorer.
  • Display package index.json parser errors (if encountered) when opening the Visual Micro Explorer.

known bug: Boards Manager - After adding new package urls or installing new hardware versions, the Re-scan button needs to be clicked twice or the ide restarted.

Release 1610.25  - 25nd October 2016 - Visual Studio (excl. 15 preview release)

  • Support library auto-discovery in the \utility folder of old format libraries. Example: SoftwareSerial will automatically be compiled for the Firmata library because "\Utility\SerialFirmat.cpp" relies on it.

Release 1610.23  - 23nd October 2016 - Visual Studio (excl. 15 preview release)

  • Support 1.7.11 - Uses roaming/arduino17 prefs folder if it exists otherwise uses roaming/arduino15
  • Automatic library resolution extended to include all project sources. Previously only the .ino and library sources were scanned for library #includes)
  • ESP8266 SPIFFS upload detects changes to property overrides in the local board.txt
  • Better detection of new and moved libraries after clicking Reload Toolchains or Rescan. Applies to projects where a board had never specifically been set, the default/last board selection was being used. In previous version the Ide might have required restart before the current project would recognize library installation changes.
  • +Micro Explorer Installed Tab: Keyword search improved
  • +Micro Explorer Installed Tab: Added an 'Libraries List' node. Click a library name to use the library in the current Arduino project.
  • +Micro Explorer Installed Tab: Keyword library search.
  • +Micro Explorer References Tab: Keyword help/reference document name search.
  • +Micro Explorer References Tab: Help/references show from a higher folder level, catering for all Arduino/clone IDE versions
  • +Micro Explorer References Tab: Tool tips show the physical location of the source files and folders
  • +Micro Explorer Reference and Examples Tabs: 'Refresh' button
  • ESP8266 SPIFFS (upload data files) upload support for network.port, network.password
  • Add support for "Tools>Options>Stop asking me to buy stuff". Configured via administrator .xml (see educational use/mass-roll out instructions)
  • nb: Visual Studio 2012-2015 are fully supported but Visual Micro for the new Visual Studio 15 Preview can not currently be uploaded to the gallery due to a bug that Microsoft will resolve within the next 30 days. Contact us if you need an update for "vs15"
  • Using in "Free" mode? To reduce support, this version must be updated before August 2017

Release 1610.04  - 4th October 2016 - Visual Studio

  • Fix: Serial window might not restart after re-open until connect button was re-checked
  • Compiler cache is cleared when switching between debug and release
  • Hide the many debugger compiler errors when a genuine code error causes compile to fail
  • Improvements to the serial window for both free and paid users
  • All files from the project folder and its sub directories are copied to the temp build folder regardless of inclusion in the solution explorer/project. This avoids confusion for users who are new to Visual Studio and do not realize that source code must be "included" in the project/solution. It is a half-way-house between arduino and visual studio allowing header files to be found more easily. NOTE: Only files included in the solution/project are compiled. Arduino normally supports only one sub folder chain called \src but Visual Micro supports multiple but only when sources are included in the solution explorer.
  • Using in "Free" mode? To reduce support, this version and previous 2016 releases must be updated before April 2017

Release 1609.20  - 20th September 2016 - Visual Studio

  • Fix: Leonardo/native usb upload failed in last release (detected boot on new usb port but did not use it for upload)

Release 1609.18  - 18th September 2016 - Visual Studio

  • Fix: Ignore tools within board packages that had only partially been removed. In previous releases the tools folder below the users\...\arduino15\packages could cause compiler confusion if the tools folder remained
  • Support inherited bootloader commands (such as atmel xplained)
  • Improved verbose messages during burn bootloader

Release 1609.17  - 17th September 2016 - Visual Studio

  • Fix: Esp8266 OTA configuration via local project board.txt without Bonjour failed to upload (assumed serial instead of network)
  • Board.txt now reliably overrides the build and upload comands
  • serial.port= override via board.txt (useful for ip address without help from apple bonjour)
  • Ip addresses used to upload, that have not been discovered by Apple Bonjour, will appear in the Serial Ports list for the remainder of the current session.

Release 1609.15  - 15th September 2016 - Visual Studio

  • Minor intellisense update for SAMD boards

Release 1609.9  - 9th September 2016 - Visual Studio

  • Support Visual Studio Gdb using project_name.cpp or .ino files (when using .cpp a prject_name.ino must still exist in the project but it can be empty)
  • Reminder: When using a project_name.cpp libraries should be included in the usual Arduino way! #include <Mylib.h> without path qualifier. Same applies to #includes with other .cpp files within the project.
  • New menu item when a board is configured for gdb debug - "vMicro>Debugger>Microsoft GDB Debugger". When the menu item is checked gdb will start when debug is requested. When the menu item is unchecked the visual micro debugger will start unless the "Release" configuration (see documentation for variations)
  • Stm32 Nucleo St Link - Gdb debug tested.
  • NOTE: To use the Stm32 Nucleo with the Visual Micro software debugger the TX (optionally RX) pins from the board need to be connected to the pc via usb using ftdi or ano adapter. This is because the nucleo Serial is not connected to the usb socket on the board. Without the connection the board will appear to hang if/when it reaches debugger breakpoints. Ensure the Visual Studio configuration on the tool bar is set to Release or use the default Microsoft GDB/ST Link debugger

Release 1609.04 Sp2 - 4th September 2016 - Visual Studio and Atmel Studio 7

  • The recent changes to support importing of libraries caused a number of issues with library resolution which are now fixed.
  • Toggle Hidden Files had also suffered from the changes and is now working correctly.
  • This is an important release in terms of stabalization of changes from arduino 1.6.11, atmel studio (affects VS) and new functionality surrounding the use of .cpp instead of .ino files
  • Note about arduino 1.6.11. It seems to be deleting the package_index.json from the contributions folder at times. This causes compiler errors with tools failing to be resolved. You can repair the issues by opening the visual micro board manager (via the Visual Micro Explorer) and click the Rescan button (sometimes twice).
  • Recommended update for all users.

Outstanding items

1) Compiler cache is recompiling too often 2) Platforms with any ToolDependancies (such as as Adafruit Trinket which uses the latest Arduino 1.6.11 core, its own variants and requires a later gcc) resolve to the wrong gcc tool (version) depending on what other hardware is installed. 3) Deleting previously compiled code without remiving #includes. The objects files are still found by the compiler until a "Clean" or "Rebuild" event occurs. Can be confusing and will be fixed asap 4)The issue will only affect certain installations but could surface after using the arduino or visual micro board manager to install new hardware. 
3) There will be a minor update later this week with these issues resolved and it is hoped we are then back onto a stable release. 

Release 1609.04 - 3rd September 2016 - Visual Studio 

  • Very important fixes for Arduino 1.6.11 in relation to loading and download the package_index.json for downloaded hardware discovery.
  • The 1.6.11 issues were prone to cause a variety of confusing compiler issues. Furthermore after opening and closing the arduino ide different issues could arise. Uggh!
  • Toggle Hidden Files, Compiler Warnings etc all moved to the free version but with a random nag screen to purchase. (feedback welcome, it's a fine line to walk)
  • Resolve issues compiling local libraries
  • Resolve issues resolving compiler include paths in certain situations
  • Resolved a VM_DBG.h include error that would cause compiler errors in certain configurations
  • Resolved issues using the "Toggle Hidden Files" command
  • Improved compiler auto detection of changed files.
  • Reinstate - Automatically add .ino (and project_name.cpp if it exists) to sketches when using the "visual micro file>open>arduino project" command (can be disabled in the options)
  • Some important overall fixes for issues that have crept in during the past months of high volume Arduino and Visual Micro IDE changes.
  • Menu visibility improvements. Some menus items such as "Publish Server Data" appeared even if a board without wifi support (such as esp8266, yun) was being used.

Stable Release 1609.02 - 2nd September 2016 - Visual Studio and Atmel Studio

  • Resolve issues that caused the compiler to attempt to compile files that has been moved around or removed. Mainly affected single project solutions. Required ide restart in some cases.
  • Added support visual micro serial debug when using a project_name.cpp instead of .ino files
  • Fix: Failed to import when importing Arduino v2 format libraries (causes compiler errors)
  • Auto detect v2 format Arduino libraries that are missing a file
  • Fix: deep search libraries-in-libraries failed in local project libraries
  • Automatically use temp build folder if building .ino files or if using the visual micro serial debugger. Otherwise compile project sources directly from the project.
  • Local libraries now fully working

Release 1609.01 - 1st September 2016 - Atmel Studio

  • Support [project_name].cpp as an alternative to .ino files. NOTE: A project_name.ino MUST still exist in the project folder and project. The ino can be empty and is ignored by the compiler when a project_name.cpp exists in the project. Visual Micro requires the project_name.ino to determine the project is an Arduino project.
  • When using a project_name.cpp instead of .ino files, the build is performed on the live project sources instead of a copy in the temporary folder. The compiler include paths will contain the path of the project folder instead of the path of the temp build folder. by popuar request :)
  • To make use of the "vMicro>Debugger>Use Atmel Studio Debugger" facility it is hightly recommended that a project_name.cpp is used instead of .ino files. The Atmel debuger doesn't work well with projects that contain .ino source code and will display code from the temp folder during a debug "step/break" operation which is highly confusing for users.
  • When using a "project_name.cpp", all the arduino build rules remain in place. Libraries must be #included using the standard Arduino #include <lib.h> syntax (no qualified paths). 
  • When using a "project_name.ino", the "Add Library" facility will add demo #includes to the "project_name.ino". The #includes are ignored because the .ino is ignored, however it is useful to see the correct #include syntax for each library which can be copied into .cpp files as required.
  • Support new Arduino property called "includes". The "includes" property enables library developers to control which headers are #included when the "Add Code>Add Library" command is used.
  • When using a project_name.cpp it must serve the most basic of arduino code for the project to compile correctly. 1) #include "Arduino.h" 2) void setup() {} 3) void loop() {}. The setup() and loop() must have prototypes. To find a "ready made" project_name.cpp with the correct code for the current Arduino project switch on "vMicro>Compiler>Show Build Folder" then build. The build output will contain a link to the build folder and in the folder will be a project_name.cpp. Copy the project_name.cpp into the current project and the .ino files will no longer be used during builds.

Release 1608.31 - 31st August 2016 - Visual Studio

  • The core variant objects are no longer archived into a core.a, instead are passed as .o files to the linker before the core.a
  • Compiler - Library source modification always uses .d dependancy scanning and more relianbly detects changes to #included headers
  • Serial more robustly uses the DTR and RTS settings even when testing to see if a port is busy/available or not. The usb driver of the WICD stm32 board hangs if this doesn't happen. The WICED board needs DTR and RTS ON
  • Serial Monitor open/close more resiliant (feedback in forum appreciated)
  • General compiler cache improvements
  • Toggle Hidden Files now includes all variant files (previously just showed headers)
  • Honour libraryproperties.includes to determine which headers are added when using "Add LIbrary"
  • Fixed issues that caused board settings such as defines to fail to refresh when switching between configurations such as Debug/Release
  • Reintroduced new version dialog notification for major updates (if check for new releases has not been disabled)
  • Tested with various STM32 boards such as Adafruit WICED
Release 29th August 2016 - Visual Studio Versions and Atmel Studio 7
  • Debug in Atmel Studio using JTAG, Segger, ICE. All Atmel debuggers and the avr simulator are supported
  • AS7 > New menu item "vMicro>Debugger>Atmel Studio Debugging". Launch Atmel Debugger after upload instead of the Visual Micro debugger.
  • Important fixes for Arduino 1.6.11
  • Resolve compile error for Arduino default avr definitions since 1.6.10.
  • Single project solutions over cached the upload port making it difficult to change to a different port or IP and upload again.
  • Serial Monitor cleaner close/stop debug
  • Added new application called Energia 1.6 compatible with the latest Energia IDE which is based on Arduino 1.6.10. The Energia 1.6 option has its own Boards Manager and Library Manager accessible via the Visual Micro platform explorer.
  • Delete the relevant arduino15\packages\package_name_.json when removing hardware from the Board Manager.
  • Add board to Recent Boards List when selecting via the "Micro Explorer>Installed" list
  • Ignore and continue to load if uninstalled downloaded hardware had not been fully removed
  • File>Open>Arduino Project automatically adds any cpp\c\h\s sources from the src folder. Recently Arduino finalized support for code in sub folders within the [project]\src folder so it makes sense for Visual Micro to automatically add the code if it exists. Some new users reported that Visual Micro did not appear to work with code in sub folders therefore this change should make it more oabious how this is done and allow the sketch to compile without having to include the sources manually into the project.
  • NOTE: The Arduino IDE no longer supports code in sub foldesr except as described above using the \src folder. Visual Micro compiles the files included in each project (via the solution explorer right click) regardless of which folder they exist in. Visual Micro also reads short cuts to code outside of the current project if the code has been included in the project (see best practise in docs for mroe info). Therefore, Visual Micro users decide if a project will remain comatible with the Arduino IDE by the location of source code. We recommend staying within the Arduino guidelines.

Release (1608.25) - 25th Auguest 2016 - Visual Studio

  • Support for libraries below additional cores (WiringIDE)

Release (1608.24) - 24th Auguest 2016 - Visual Studio

  • Fix: Wiring Ide compile failed in recent builds
  • Support serial/usb debug for the Wiring Ide
  • Add compiler support for the WIRING constant. The value is set to the Ide version similar to the ARDUINO constant. Both constants are defined allowing a single source code to be be compiled for either platform:- 
  • Code:
    #if defined(WIRING) && (WIRING >= 100)
    #include "Wiring.h"
    #elif defined(ARDUINO) && (ARDUINO >= 100)
    #include "Arduino.h"
    #include "WProgram.h"

Release (1608.18) - 18th Auguest 2016 - Visual Studio

  • Detection of old and new Arduino library format has been changed to cater for 3 types: 1) Libraries without without treated as old style 2) libraries with library properties but no \src folder treated as old style 3) Libaries with and with \src folder treated as new style. With new style libaries, the \src folder and recursive \src\sub folders are candidates for compilation. With old style libraries, the files directly in the library folder and optional \utility sub folder are compiled. Hopefully this caters for people who have really old arduino libraries as well as newer libraries.
  • Automatic Gdb support for Energia > LaunchPad (Tiva C) w/ tm4c123 (80MHz)
  • Automatic Gdb support for Energia > LaunchPad (Tiva C) w/ tm4c129 (120MHz)
  • Automatic Gdb support for Energia > LaunchPad (Stellaris) w/ lm4f120 (80MHz)
  • Local project board.txt support for override of openOCD cfg script:- build.openocdscript=board/[cfg file name].cfg
  • Tested with Energia IDE v0017

Release (1608.14 Sp4) - 14th Auguest 2016 - Visual Studio

  • Improved compiler warning and error output. (full error display, line numbers show in any errors that can be drilled into ++)
  • Improved verbose output so that core, lib, project, link, final output stages are clearer.
  • Prevent Arduino Mkr1000 and Arduino Zero/M0 on NativeUSB from attemtping GDB debug. They now default to using the USB debugger. (Override with debug.tool=)
  • Arduino Due Support - Live Free Memory viewer (previously failed for SAM boards). The SAM free memory calculation is a combination of static, dynamic, stack.
  • Removed setting of build include paths and object files environment variables. Unused and cause a build error if the lengths are too long for windows env vars. (ArduPilot build error
  • Debugger "Gauge visualization example" failed to load since move to .net4.5.1. Attempting to use would show an error each time the debugegr started and it wasn't possible to switch ot off again!

Release (1608.1) - 11th Auguest 2016 - Visual Studio

  • Support {program.verify} when uploading using a programmer. This was a new arduino property released about 8 weeks ago that was over looked. Newer toolchain and bard defintions might have failed to upload with error.
  • Fix creation of new projects in VS 2012 and 2013 on compauter that have never had VS2015 installed.  (Using .vcxproj ToolsVersion="4.0")

Release (1607.31) - 31st July 2016 - Visual Studio

  • Fix debugger visualizations broke since update to .net 4/4.5
  • Fix - Digital Pins Live View
  • Fix - Analog Pins Live View
  • Fix - Free Memory Live View

Release (1607.25) - 25th July 2016 - Visual Studio

  • Fix: Arduino 1.0 upload for sketch projects that use the .pde file extension
  • The "Board List" on menu and tool bars shows the name/description of the platform. User installed sketchbook/hardware platforms also show the source location relative to the hardware folder. The board names are tabbed below the platform names for easier reading.
  • Board list shows recently used boards at the top. The list and max list item count can be overridden in tools>options>visual micro>mc general
  • Gdb is now automatically provided in any visual micro project if the Android Tools for Visual Studio are installed and a Gdb capable board is connected. Older/existing Visual Micro projects must be edited or re-created. New docs will be available soon (see notes below for more info)
  • Removed "File>New>Project>Cross Platform Templates" used in the gdb beta. The projects are still supported but Visual Micro no longer requires a "special" project format for gdb.

Any visual micro project, with the android tools installed, can now run gdb debug without need for the cross platform projects used previously (still supported). For Gdb, automatic debugging can remain at default state (on).

Selecting the Arduino Zero/M0 (or board with debug.tool defined) and clicking "Debug>Start debugging" will start a GDB debug session. "Debug>Attach To Process" will start gdb without build/upload.

The Visual Micro new project templates now contain two new properties in the .vcproj files. However existing visual micro .vcxproj files currently need to be updated manually (or deleted and re-created using "file>open>arduino project") before GDB will work.

To edit a .vcproj users can right click a project in the solution explorer then click Unload. Then right click again and click "Edit project.vcxproj". Adding the ItemGroup and PropertyGroup shown below will allow gdb to work. fyi: I added them just prior to the existing <ItemGroup> entries.

Right click the project in the solution tree and select Reload project to reload the project again.

Old .vcxproj update to support gdb. Add the following xml:-
    <ProjectCapability Include="VisualMicro" />

Boards Menu - Eeasier to Use

The board menu combobox shows an indented list of boards below the relevant platform title. Each platform title shows a version for platforms installed with the Ide (or via Boards Manager). For user installed hardware the sketchbook\hardware location is displayed next to the platform title.

The recently used boards list is stored in new tools>options properties under heading Mcu General. The number of entries to show on the recent boards list is also in the same options area.

The end of the list of boards contains a shortcut to board keyword search and board manager / installer

Toggle Hidden Files

Links are now added to:-


Release (1607.22) - 22th July 2016 - Visual Studio

  • -E build cache - Intellisense now uses the results of "deep search lib/include discovery" removing the need to #include libs in the project_name.ino when only used in .cpp sources.
  • Many fixes and updates over the initial release of Visual Micro for AS7
  • Workaround ESP8266 2.3.0 missing escaped quotes: Auto change -D="{build.board}" to -D=\"{build.board}\" prior to compile
  • Debug local libraries
  • Caching of library and includes paths from the -E deep search/pre-compile (used to bolster intellisense)
  • GDB debug out of beta. No longer requires the Microsoft GDB extension. Still requires the Android tools (or MS MI Debugger for VS)
  • GDB debug resolved issues with breakpoint positions in .ino files
  • GDB debug support for "Debug>Attach To Process". Starts debug without need for recompile and upload.
  • GDB debug is only active if a project is the "Startup Project"
  • GDB debug improved logging under "[ProjectOutputDirectory]/logs/gdb"
  • GDB debug no longer prompts win32 build
  • Min .NET version increased to 4.5.1
  • Using the new Microsoft Visual Studio Project api to capture build events
  • Known issue: To use gdb debug "vMicro>Automatic Debugging" must be switched off

Release (1607.7) - 7th July 2016 - Atmel Studio 7

  • Many fixes and updates over the initial release of Visual Micro for AS7
  • Import local core, variants and libraries (Beta - Paid Version Only)
  • Debug local libraries (Paid Version Only)
  • Intellisense automatic discovery of libraries that are in .cpp files but not in .ino source
  • Caching of library and includes paths from the -E pre-compile (used to bolster intellisense)
  • Visual Studio update coming soon.

Release (1606.17 Sp 1-10) - 24th June 2016

  • Intellisense fixes for the Arduino Due (SAM)
  • Intellisense fix for the ESP8266 (there was an error in the vsarduino.h intellisense file)
  • Added the esp8266FSupdater.exe back into the release. Adding an .exe icon and license info seemed to satisy all but one (uncommon) virus scanner. Please email if you receive a virus warning for the file. It is sfe but has caused some false positives
  • Removed the esp8266updater.exe from the install because some virus scanners were raising a false positive Trojan report. It is an incorrect report but we will find a solution then re-implement. In the meantime if you would like the source code the the .exe then please email. It will be posted to git shortly.
  • esp8266 file system spiffs uploader caused a false positive with Norton Anti-virus. This release contains a refresh of the exe in the hope that the problem goes away
  • The number of maximum number of Additional Options for each Board has been increased from 10 to 20. The ESP8266 hit the limit causing the ESP "Debug" options list to be empty
  • Improved error and message capture from external processes which improves the messages returned from the compiler and also the esp8266 spiffs upload
  • Atmel Studio 7 is back in our core build system. Thanks to Atmel Corp. who helped us fix the Microsoft vsix installer issue.
  • The ESP8266/YUN SPIFFS/SSH data file upload command has been moved to the "vMicro>Publish Data Files" menu (use sub folder project\data or project\www)
  • Intellisense fixes for ESP8266 (feedback appreciated in the forum)
  • Fix: Local project Board.txt was ignored unless Verbose was enabled (oops)
  • Fix: Arduino 1.0.x - Was not possible to switch off Verify during Upload

Release (1606.17) - 17th June 2016 - for Visual Studio 2012 -> 15

  • Using updated SharpZipLib which solves issues installing tool chains from tar and gzip files (such as ESP8266 via Boards Manager)

Release (1606.14) - 14th June 2016 - for Visual Studio 2012 -> 15

  • Added "conditional/deep search includes" support for older format Arduino libraries that have a private "\utility" folder

Release (1606.11) - 11th June 2016 - for Visual Studio 2012 -> 15

  • More robust JSON package loader
  • Adafruit M0 feather - Debug Support
  • Support RedBear Duo + Debug (todo: still some intellisense errors in the errors list)

Release (1606.8) - 8th June 2016 - for Visual Studio 2012 -> 15

  • Minor intellisense update for avr boards ( F("string") raised an error in some usage cases)
  • Intellisense - Removed invalid definition of cli() from all hardware defs (was a hang over from a less intelligent intellisense past)
  • Added support for "Micro Platforms\intellisense.core.redefs.code.h" allowing core definitions that intellisense doesn't fully understand to be redefined (for intellise sense purposes only)

Release (1606.6) - 6th June 2016 - for Visual Studio 2012 -> 15

  • Fixed: Failed to read board index files that contained only a single package (for example redbear)
  • Fix: Incorrectly default to avr objcopy if the platform did not define an epp or hex output.
  • Fix: Intellisense ensure library include paths come before core paths. example: In the case of teensy the libarry EEPROM.h will be used instead of the avr\eeprom.h. The library version is used during compile therefore this change makes intellisense work the same way.
  • Changed error when build fails from "Error creating .elf" to "Error compiling for board [board name]"
  • Important Arduino sam/due intellisense fixes. Still not perfect but shortly moving to using the VS Clang system which will be much better for Arduino intellisense (does not affect compile)
  • Board Manager - Removing packages shows an informative error if the tools can not be deleted (ie: permissions issue)
  • Startup - Package discovery ignores empty tool folders. Previously, builds would failed with tool not found errors if empty tools folders existed (ie: If a package uninstall had previously not completed fully due to file system permissions)
  • Moved arduino.h insertion point to the top of the temp.cpp file created with the combined .ino sources. Some libraries fail to compile with "macro redefined errors" if the arduino.h is not #included before the libraries.
  • Fixed a lot of intellisense errors with various 32 bit hardware such as Arduino Due
  • Intellisense search paths: Give library paths have a higher priority than the core
  • Intellisense search paths: Add missing low level tool chain paths
  • Intellisense Arduino Due: #include sam3x...h before Arduino.h
  • Restructuring of vMicro menu with new additions reflecting existing global and project options. Use the "Customize" feature of Visual Studio to place Visual Micro (vMicro) commands on menus of choice and/or to set Shortcut keys.
  • Save programmer selection per project.

Release (1605.28) - 28th May 2016 - for Visual Studio 2012 - 15

  • Minor update to add the paths of any source code "short cuts" to the intellisense path list. This enabled linked source code to be included in the sketch/project.ino without path qualification #include "myheader.h"
  • Support debug using alternative hardware serial ports for Teensy:- Serial1, Serial2, Serial3

Release (1605.14) - 14th May 2016 - for Visual Studio 2012, 2013, 2015

  • Support the new "upload.verify" board property introduced in the Arduino SAM 1.6.8 core (resolves bossac.exe error with Arduino Due)
  • Fix: Attempt to deep search for lib-in-libs caused issue with older Arduino releases such as 1.5.x ad
  • New release of the old Visual Micro VS 2010 and AS 6.2 add-in for (Windows XP users only) with basic support for Arduino 1.6.9. Must be upgraded before May 1st 2018.(see alternative visual studio gallery entry)

Release (1605.12) - 12th May 2016 - for Visual Studio 2012, 2013, 2015

  • Fix. yesterdays version containing Arduino Ide 1.6.9 and Esp8266 support (auto creation of the deep search command) caused a very long pause when compiling with the hardware and also with version below 1.6.6

Release (1605.11) - 11th May 2016 - for Visual Studio 2012, 2013, 2015

  • Important additions for Arduino 1.6.9 - Auto create missing preproc.macros from compiler command. (Boards such as esp8266 reply on this new feature to provide "deep search" discovery of libraies in libraries. This feature would have been missing for users who had updated to the latest esp8266 core and build errors would have resulted for any library that was not #included in the [project_name.ino].
  • Fix: Change {build_path}\sketch to {build_path} when loading hardware which ensures that there is a compiler include path for the correct build folder.
  • Better compiler error message when "deep search" fails as a result of linked sources (chared code shortcuts, not libs) outside of the current project. (for example include "..\..\foo\foo.h")
  • Debug support for ChipKIT Fubarino Mini. Support for Serial, Serial0 and Serial1 should be available. Some intellisense work is outstanding and will be completed shortly. For example Serial0 shows an intellisense error but builds correctly.
  • The "vMicro>Debugger Settings" menu has a "Local Port", "Remote Port" and "Monitor" options. They are beta and will be joined by more options. All of thje debug settings in project properties are still valid. These new options are designed to make it simpler for users to configure different defaults for the debugger.
  • Creation of new project from existing sketch has reverted to only adding sources from the sketch/.ino folder. In the last few versions sub folders were scanned for source code. The feature has been removed pending further testing and was possibly responsible for a crash opening new projects from existing code.

Release (1605.10) - 10th May 2016 - for Visual Studio 2012, 2013, 2015

  • Only request password once when opening the serial monitor for an ssh connection. If an empty password or the cancel button is pressed the monitor does not connect and displays a connection error. This is in contrast to how serial normally works where by it will attempt to connect to the hardware for some seconds before displaying an error.
  • Support Stm32 serial debug
  • Serial Monitor for an Ip address that does not support Ssh shows an error after a single password request (previously looped until a password was entered)
  • Fix: Linked/shared sources failed to compile. Shared Source Code Rules/Tips:- It is important to bear in mind that linked sources are copied to the temp build folder and then compiled. Linked source code should be treated as if the code exists in the current project folder (same place as the [project_name].ino). #includes in the code can be relative or fixed however because the source code is copied to the build folder the compiler will actually find the code in the local build temp folder and include the path specified in the #include. This means that it is only intellisense and not the build that uses the path of an #include statement.
  • There is a new menu item "vMicro>Debugger Settings". The menu "Debug Trace Only" has been moved to the menu and renamed to "Trace Only (No Break)". The "Automatic Debugging" menu has also been moved to "Debugger Settings". In the next release the "Debugger settings" menu will also provide quick access to the debug > "LocalPort, RemotePort, RemoteSpeed" project properties.

Release (1605.06) - 6th May 2016 - for Visual Studio 2012, 2013, 2015

  • Ignore DotALinkage library spec if AR Pattern is not provided. This allow for older Arduino 1.5.x builds with newer libraries designed with .a linkage (see
  • Added "AVR Dragon as ISP" programmer for AVR boards when using Visual Micro alongside 1.6.x, 1.5.x and versions of the Arduino Ide.
  • Serial port list - Manually enter ip address/port. Allows Ip addresses to be entered without need for install of Apple Bonjour for Windows which auto discovers ip addresses.
  • Added support for discovered network properties such as port, auth - Esp8266 OTA. Includes the same authentication features as the Arduino Ide such as auto prompt password if one has not been specified and auth_upload=yes.
  • Full/pro users can avoid using Apple Bonjour auto discovery and use the local project board.txt to provide missing network upload properties. For example:-
  • An Ip address can be manually entered into the ports list. The feature should only be used for ip addresses, serial, bluetooth ports should always be visible if they are available for use.
  • Full/pro users can switch off Tools>Options "Upload Verify" (default=off/false)
esp8266 authenticated network tip: setPassword() must be called before ArdunoOTA.begin()
void ArduinoOTABegin(String &hostname)
// Set port

// set hostname

// No authentication by default
ArduinoOTA.setPassword((const char *)"test");

// start OTA Server

Release (1604.28 Sp1) - 28th April 2016 - for Visual Studio 2012, 2013, 2015

  • Fix: The menu items "Add Board.txt" and "Add New Arduino Library" were incorrectly disabled for all users. Now available in the Full/Pro version
  • Fix: Build buttons confused with multiple projects in a single solution. (Build and upload worked okay). This was a new bug in 1604.27 yesterday.
  • Fixed: "Invalid compiler cache" error when attempting to build (happened sometimes after switching tool chains)

Release (1604.27 Sp1) - 27th April 2016 - for Visual Studio 2012, 2013, 2015

  • Removed the "Buy pro" nag screen that appeared every 45 days to users of the free version (if ide fast start is enabled - see below)
  • Serial Monitor - DTR checkbox is no longer ignored. The only time Dtr should be ignored is if project property "Startup Delay or Dtr" is True
  • Added message to build "Using Visual Micro Free version"
  • Added a new "tools>options>visual micro>system" property to disable pro features (for testing)
  • Added a new "tools>options>visual micro>compiler>upload verbose" allowing only upload commands to be viewed in the output instead of all build commands when using the existing "Verbose" option.
  • Board options are now saved per board and project. This allows, for example, two projects to use the esp8266 but with different options.
  • Added menu item Help>Release Notes
  • If the trace is the active output pane when debugging ends, switch the output window back to "micro build"
  • Added "Tools>options>visual micro>system>ide fast start" as a new option forcing visual micro to load in a new thread after the ide has fully loaded. The current default is OFF but it would be great if you can switch it on and try it out. Does the ide load faster and become usable earlier when ON? Please comment in the forum thank you. The regedit can be used to switch it off if it has caused a startup issue for visual studio (not expected). [HKCU\Software\Visual micro\System\Ide Fast Start]
  • Serial Monitor logging. Date times are no longer Utc, Date formats should now be correct. Line terminator is always added to the conversation.txt log.
  • Serial Monitor Logs - Changed the conversation status from "Received" to "Message" and from "Send" to "Sent" which more accurately describes the current long entries.
  • Each build process has been isolated from the ide. This means that parallel builds are now supported and the build will no longer fail if the ide board is changed part way through a build.
  • The Visual Micro "build and upload" buttons will now build and upload the current project instead of the "startup project". This change is a result of the default value of "Tools>Options>Visual Micro>Upload>Debug Active Code" changing from False to True. 
    If you prefer the older functionality where the "Startup Project" is the main target for debug instead of the active code editor project then set the option to False. Regardless of the setting, the "Startup project" is always responsible for determining the functionality of the standard Visual Studio Debug/Start commands. This includes menus and F5 etc.
  • When working with Multiple projects in the same solution Visual Micro should respond more intuitively than previous versions. For example, in the same solution, a windows (or android) project can be debugged at the same time as an Arduino project. To achieve this the non-arduino project will be the "Startup project".
  • Micro Explorer Installed Boards - Keyword search has been improved. Boards can be filtered by common board properties such as:- Name, Architecture, Platform, Bootloader, build.coreore, build.board,, build.vid +++
  • Removed ../ProjectFolder/ from relative paths in the vsarduino.h intellisense header
  • Added message to start of build in the free version:- "Using the free version of Visual Micro. Please help by reviewing or buying"

Release (1604.18) - 18th April 2016 - for Visual Studio 2012, 2013, 2015

  • Renamed the Visual Micro menu to vMicro so that it takes less space
  • Moved "unsupported hardware for debug" error message to the end of the compiler output so it is easier to see.
  • Improved board search on the first tab of the Micro Explorer.
  • Serial debug support for stm32 (adafruit feather) boards that use USBSerial + HardwareSerial
  • Local project build system property overrides. Pro users may add a board.txt to the root of an Arduino project. There is also a new menu item "Project Item>Add new board.txt" which adds a board.txt. To see current build properties switch on "Tools>options>visual micro>compiler>show build properties". The feature can be disabled in the "Compatibility" section of the same options. Example property would be:- upload.8dot3=false
  • Serial monitor commands user interface has changed to using top and bottom toolstrips. The previous layout made handling different high dpi settings almost impossible. The new layout should work with all dpi settings.
  • Serial monitor log to file - New feature for pro users
  • Added "New" project item context item "Add Board.TXT"
  • Improved tool bar and serial monitor tool tips
  • Micro Explorer - Easier to see "Installed" platforms
  • More obvious tool tips (or comments) when a feature is available in Pro and not available in the free version
  • More obvious final build error message if the selected hardware does not support the serial debugger default configuration.
  • Moved Project>Show Arduino Core and Librray Sources menu item to menu item "Micro>Toggle Hidden Files". The menu item will add/remove code short cuts to the core and library sources for the current project. The short cuts should be treated as readonly unless designing core or lib code. If significant changes or edits are made to the underlying source codes then click "Tools>Visual Micro>Reload toolchains" to let Visual Micro know about them (or restart the ide).
  • Serial Monitor Reconnect failed in yesterdays release
  • Logging currently provides two logs per log session. 
  • The RAW inbound (received) data log uses the following name format: "[port/ip]-[start datetime]-inbound.txt"
  • The COMMUNICATION log contains both "sent" and "received" (inbound and outbound) data along with a date stamp. The first two columns of each entry in the log contain the "[datetime] TAB [data direction (send/receive)]". The log file name format is:- "[port/ip]-[start datetime]-communication.txt

Serial monitor window - Update for high dpi and switched to using toolbars with overflow capabilities

Options: View logs or override default save location. The default save location is also available in "Tools>Options>Visual Micro"

Release (1604.12) - 12th April 2016 - for Visual Studio 2012, 2013, 2015

  • Boards manager - New option in the tree view "Board Package Auto-Discovery". provides a list of urls from the official Arduino git page along with descriptions.  The auto discovery section can be searched in the same way and at the same time as the boards using the "Find" box. Click package names to make available to the "Install" section. Adding/removing from auto-discovery simply adds urls to the ide location board support url list. Unknown urls are not displayed in "Boards Manager>Auto-Discovery" but are available for Install. The Rescan button must be clicked after adding board package urls and after installing hardware.
  • Fix: Cosa debugger live digital pin report/viewer
  • Board Manager - Installing packages works reliably. Uses a new version of SharpZipLib open source library. (Previous versions failed to properly unpack downloaded toolchains for some packages such as Esp8266)
  • Boards Manager - Checks for updates once per day or when new urls are added via the Ide locations window or via the Auto-Discovery list in the tree view.  (only happens if the Board Manager or Library manager are opened)
  • Library manager checks for updates once per day (only happens if the Board Manager or Library manager are opened)
  • Added intellisense patch for the Digistump Oak boards.
  • Added a clear error message (with fix suggestions) when a Debug build fails due to unsupported hardware. Instruction is given to switch to Release, switch off debug or use SoftwareSerial. Please open a forum log and let us know about any unsupported/debug hardware.
  • Serial monitor high dpi fixes (more to follow)
  • Create 0 byte .sig.tmp when downloading board support .json urls that do not have a valid .sig file. Most board support urls appear not to have a .sig. However the Arduino IDE allows them and it will not start if the sig.tmp files are missing.

Release (1604.9 sp1) - 9th April 2016 - for Visual Studio 2012, 2013, 2015

  • Fix: Project such as MultiWii override the Arduino .ino file system because a MultiWii.cpp exists within the project source code. This facility failed in Visual Micro since October 2015 unless "tools>options>visual micro>Compatibility>Compile Files in Project" was set to False (Default is true).
  • Add - More informative error message is Serial debugging is not support by some hardware such as MultiWii (HardwareSerial vector15 error is trapped and users are prompted to switch the build to 'Release' mode)

Release (1604.7) - 7th April 2016 - for Visual Studio 2012, 2013, 2015

  • mega 2560 -relax flag was missing from builds past 2 months! Prevented large program compilation :-
    ibc.a(isprint.o)*:In function `isprint
    (.text.avr-libc+0x6)*:relocation truncated to fit: R_AVR_13_PCREL against symbol `__ctype_isfalse' defined in .text.avr-libc section in c:\program files (x86)\arduino\hardware\tools\avr\bin\..\lib\gcc\avr\4.8.1\..\..\..\..\avr\lib\avr6\libc.a(cty_isfalse.o)
    collect2.exe*:error: ld returned 1 exit status
    Error creating .elf

Release (1603.30) - 30th March 2016 - for Visual Studio 2012, 2013, 2015

  • Fix: The 'Scroll' checkbox was missing from the Serial Monitor window.
  • Serial Monitor - Ultra high dpi fix + splitter controls enabled again

Release (1603.28) - 28th March 2016 - for Visual Studio 2012, 2013, 2015

  • Improved compiler error and warning messages (and drill down into source code still works)
  • Fix: Cosa core 1.2.0 debug
  • Serial monitor: High dpi buttons
  • Serial monitor: Rts checkbox
  • Compiler output summary text changed from "Binary sketch size =" to "Program size ="

Release (1603.27) - 27th March 2016 - for Visual Studio 2012, 2013, 2015

  • Temp build folder has been moved to the window temp "VMicroBuilds" folder from AppData\Local. This is because some boards, such as Arduino 101, define build paths as non-quoted commands. The AppData folder is prone to contain the windows user name which often contains spaces and unicode chars. (tip: The temporary build path can be overridden in "tools>options>visual micro>compiler>temp build path")
  • Fix Serial monitor button position in high dpi mode.

Release (1603.25) - 25th March 2016 - for Visual Studio 2012, 2013, 2015

  • Serial monitor - High dpi display correction for the send button position
  • Serial monitor - Tool tips added for all buttons and controls
  • Gdb debugger failed to launch if sketch/program path contained spaces
  • #Included "Local libraries" caused "previous definition error" compiler error if a lib of the same name also existed under an Arduino ide\libraries, hardware\libraries or sketchbook\libraries folder.
  • Paid version: "Serial auto reconnect" and "Local Program Libraries"

Release (1603.20) - 20th March 2016 - for Visual Studio 2012, 2013, 2015

  • Support escape chars in Serial Monitor outbound data (see example 1). \u0000 (4 digits) \U00000000 (8 digits, first 4 must be 0000), \x0000 HEX (1-4 digits), \\, \a, \b, \f, \n, \r, \t, \v, \0 ... (Free new feature for all pro users)
  • Fix - Live free memory chart failed when using {@ReportFreeMemory} breakpoint syntax instead of the "Report>FreeMemory" project property
  • Add - Additional standard serial monitor speed - 74880 (reminder: any speed can be entered manually without selecting from the combo box of speeds)
  • Remove - Annoying beep when pressing ENTER in the "Serial Monitor > Text to send box". (tip: the ENTER key is an alternative way to click "send")

Example 1 -  CStr escape chars


arduino code for this example - echo back to pc

Code (C++):

void setup() { Serial.begin(115200); } void loop() { while(Serial.available()) Serial.write(; }

Release (1602.13) - 13th February 2016 - for Visual Studio 2012, 2013, 2015

  • Fix: Local project libraries failed to compile when the "Deep search includes" feature was enabled.

Release (1602.7 Sp1) - 7th February 2016 - for Visual Studio 2012, 2013, 2015

  • Sp1 - "Deep library search" failed to find inherited preprocessor recipe for boards such as AtTiny. Platform.txt from the Ide hardware folder was applied to early overriding the merged inherited avr platform.txt from the ide\arduino\avr folder.
  • Older arduino 1.0 definitions, when used with Arduino 1.6+, are automatically adjusted to use the 1.6 avr\toolchain configuration
  • Support digital and analog debugger visualizations for new boards:- arduino 101, teensy (2.x, 3.x , LC), chipKIT boards, and more...
  • Build output.BIN before.EEP
  • Fix - Upload using programmer is now using the new .hex/elf naming convention of "project_name.ino.hex", "project_name.ino.elf", "project_name.ino.bin" etc.
  • Fix: Upload failed for older Arduino board definitions that were merged with Arduino 1.6+ definitions
  • Fix: Avrdude config path was discovered incorrectly for some older format custom hardware definitions
  • Pro users free upgrade to extended {@plot} charting. 
  • Fix: Debugger "automatic free memory report" failed unless the manual {ReportMemory} breakpoint syntax was used.
  • Live charting, triggers, tick marks, colors, curves, digital and analog type views, auto save settings, freeze, capture/save images, zoom, adjust sweep and more. examples - read more

Release (1602.3) - 3rd February 2016 - for Visual Studio 2012, 2013, 2015

  • Moved core temp build folder to "build_folder\core". This is how arduino cores are defined since Arduino 1.6.6. If this causes issues for some cores a new configuration property can be provided on request via the forum. nb: ide "M0 and Due" have special handling for syscalls.c.o
  • Fix: Bridge and dot-a-linkage: Corrected the order that object files are passed to the linker. The order is now:- [project.o] [lib_dot_a_archives.a] [core.a]

Release (1601.31) - 31th January 2016 - for Visual Studio 2012, 2013, 2015

  • Support for boards that define a non existent "upload.tool" and that have an "upload.pattern" assigned directly to the boards or platform (ie: navstar)
  • Exclude debugger memory check headers if memory reporting is not enabled (memory reporting is currently incompatible with some platforms such as navstar and teensy)
  • Verbose mode displays output from tool chain commands if available (ie: navstar tools)
  • Removed icon from "Always upload using programmer" to avoid confusion. When the option is on a tick will show against the menu item. The tool bar button has shorter text and highlights entirely if enabled.

Release (1601.30) - 30th January 2016 - for Visual Studio 2012, 2013, 2015

  • Fix - Deep search library discovery failed for libraries that were included by name (ie: #include <LibName1\LibName1.h>. The current solution is for named libraries to be excluded from "deep search" requiring any dependent libraries to be #included in the .ino sources
  • Compiler include paths sequence changed. Core includes have been moved to the end of the list in all compiler and library discovery methods. (required for esp8266 and pjrc Time library)
  • note: When using "Deep Search Includes" (lib-in-lib discovery) with esp8266 and the prjc Time library either #include <TimeLib.h> or #include <Time\Time.h>. This avoids a conflict with the time.h in the esp core.
  • Automatically clean project compiler cache when switching between "Deep search" and "Standard" library discovery.
  • Adjust core.a to build into the build folder. Previous release allowed Teensy to build the core.a into the build_folder\core directory which caused a linker problem.

Release (1601.25) - 25th January 2016 - for Visual Studio 2012, 2013, 2015

  • Separated build folders so that core now has its own directory. This resolves an issue with esp8266 and the time.h conflict between core and libraries. (NOTE: To use the Time library with esp8266 the "Deep search includes" menu item must not be ticked)

Release (1601.21) - 21st January 2016 - for Visual Studio 2012, 2013, 2015

  • Fix - SoftwareSerial debug compile failed when the new "Deep Search Includes" was enabled on the Visual Micro menu
  • Intel Boards - Support new format libraries that are located under the "hardware\[platform]\libraries" regardless of the architecture defined in the file. The Intel libraries have an architecture that does not match any of the hardware properties (eg: Intel\WiFi library was not available for compile)

Release (1601.11 Sp4) - 18th January 2016 - for Visual Studio 2012, 2013, 2015

  • Support Arduino 101 serial debugging (Serial or Serial1)
  • Support for Arduino M0 Pro Serial debugger using the debug port
  • Tested M0 Pro with Gdb debugger - OK (3 breakpoints max)
  • Fix - Intellisense includes all defines from the platform .cpp recipe. A de-duplication bug caused some to be missing (such as -DESP8266)
  • Support new output file names when uploading via programmer (The output formay changed in sp3). Visual Micro aligned with the arduino ide output file names via the {project_name} variable. (ie: we now use project.ino.hex instead of project.hex.)
  • Fix - Compile sizes and dis-assembly broke in last build for some boards such as Ti Launchpad, Tiva etc.
  • OpenOCD 9.0 is included with install
  • .Ino gdb debugging support for Energia and Stellaris LM4F120
  • Gdb can be now be configured by third party hardware providers in platform.txt (more info to follow, forum for questions)
  • Fix Gdb debug- .ino line numbers were sometimes incorrect. (note: if you do not switch of optimization stepping will jump about sometimes)

Release (1601.11 Sp3) - 15th January 2016 - for Visual Studio 2012, 2013, 2015

  • Visual Micro is now compatible with Arduino 1.6.6+ "library in library" auto discovery. Auto discovery is much slower than the older regex system, especially with libraries that contain a lot f source code. There is a new "Visual Micro>Deep Search Includes" menu item that allows the old system to be enabled for the current project. This will then mean that libraries will only be compiled if they are also #included in the [project_name].ino (ie: works the way pre-arduino1.6.6 works). A simple test is to select the Zero board and the AzureIoT library. The AzureIoT library is huge and also uses Wifi101, RTCZero and SPI. The compile time of an empty sketch with arduino 1.6.6 style discovery is approx 7 seconds compared to sub one second using the older .ino/regex system.
  • Fix compiled failed if path contained "\."
  • Added proxy settings to the Pro activation window
  • Fix compiler cache confusion which sometimes allowed object file date.time comparison even when for rebuild.
  • Add - Verbose build messages clearly show the name, version and location of each compiled library.

Release (1601.11) - 11th January 2016 - for Visual Studio 2012, 2013, 2015

  • Improved support (total) for .windows build definition overrides
  • Remove quotes from upload pattern commands and convert to 8.3 file and path names if they exist. It is not clear why some third party hardware definitions have been created a way that requires this functionality but they can't work without it ??!! One example that requires this change is Simblee board
  • Optional new board/platform build property upload.remove_quotes=true (required for Simblee "{project_name}" )
  • Support Arduino nightly builds without version numbers. Assume 1.6.6+ and the appdata/local folder instead of appdata/roaming
  • New GDB project templates (beta - Arduino Zero). Requires android cross platform tools for VS  (see VSSetup)+ "Visual Studio GDB Extension (see Gallery)". Gdb for other boards coming soon
  • Gdb max 3 breakpoints. If gdb hangs kill the MicroGdb and openOcd processes
  • New Gdb projects will default to "Local GDB" debugger. The "Remote GDB" debugger is not yet supported by Visual Micro and will raise an error if it is not manually configured (see tools bar and project properties for more info).
  • No Gdb support for Zero clone yet ( is supported)
  • "Tools>Application features" has new options to disable the new gdb functionality. If enabled, Gdb is only active in NMake projects that have a "Local Debugger" rule/property set.
  • Force gdb breakpoints if none are set (otherwise the debug will hang)
  • Better cache cleanup when clicking "Rebuild". .o and .d files are deleted.
  • New project templates auto open source code when they first open
  • The arguments of upload using bootloader are converted to 8.3 and stripped of double quotes. This feature can be disabled with board or platform property upload.8dot3=false
  • fprintf intellisense confusion removed for all boards
  • Fix/Support Arduino Zero for Arduino intellisense for Arduino 1.6.5+
  • Support/Fix Serial/Usb debugger on Arduino Zero Programming port (previously debug only worked on Native Usb)

Release (1601.04 Sp1) - 4th January 2016 - for Visual Studio 2012, 2013, 2015

  • Fix: Support for Teensy (3rd party) alternative avr libraries

Release (1601.01 Sp1) - 1st January 2016 - for Visual Studio 2012, 2013, 2015

  • Note: Project hardware/board re-selection might be required after applying this update. Multiple boards of the same name but in different packages are now supported. 
  • Multiple platform architectures are support allowing platforms such as Teensy3 to support "avr" libraries. This support had broken in recent updates due to a change in arduino 1.6.x formats
  • The properties of platform.local.txt,, platform.txt etc. are combined. Previously only one of the first file discovered was used. This affected various platforms such as Marlin.
  • Arduino 1.6.7 released and supported (does not yet support automatic 'related' library discovery or the new prototype discovery system, this means you might have to continue to #include <spi.h> or other related dependencies)
  • More robust support for current and historic 3rd party hardware definitions
  • Better integration with other projects types within the same solution. Visual micro will not attempt to build when the windows debugger is active for a different project in the solution.
  • Build output (hex,elf,map,bin) are copied to the projects configuration build folder. This is the first "real" visual studio c++ project property that Visual Micro supports (as opposed to it's own set of custom project properties). The build folder default to "ConfigurationName" such as "[project]\Release", "[project]\Debug". Final build properties are also written to a "build-board.boardinfo" text file in the output folder. (more about the reason for this output file later!)
  • Debug support for default Marlin Serial port (tip: To use Serial1 set project>Transport=HardwareSerial and project>RemotePort=Serial1)
  • ATMEL SmartEverything full support and also serial/bluetooth debug support which defaults to Serial1 (because the board doesn't have Serial)
  • Auto detect esp8266 and fix the .ar config so that compiler cache works correctly.
  • Beta - Support for Visual Studio Linux Makefile project types
  • More boards supported by the digital and analog pin viewers (zero, teensy 3.x ++ )
  • Cleaner Visual Studio shutdown - The extension version of Visual Micro was missing shutdown detection and could have attempted intellisense updates and other background tasks during shutdown causing a crash or hang.
  • Gdb beta release countdown - 3 days remaining!! Register your interest in the debug section of the forum.

Release (1512.28 ) - 28th December - for Visual Studio 2012, 2013, 2015

  • Improved inherited hardware discovery
  • Support hardware tools installed in clone but inherited from core (SmartEverything/OpenOCD >><< Arduino Zero - note: In previous versions compile and intellisense would fail if SmartEverything was installed before Arduino Zero)
  • Discover tools from other packages. Support/share tools installed in a different package. This ensures that multiple packages do not need the same tool installed. Please Note:- this is how Arduino currently works and can cause breakages when uninstalling hardware that includes a shared tool. Uninstalling and reinstalling the affected hardware uysing the Board Manager tool will fix the problem.
  • Better backward support for various combinations of tool chain installation locations

Release (1512.23 Sp1 ) - 23rd December - for Visual Studio 2012, 2013, 2015

  • Intellisense and build failed in Visual Studio 2015 for users who have never previously installed VS2012 or VS2013. This problem has existed since 20th December

Release (1512.23 ) - 23rd December - for Visual Studio 2012, 2013, 2015

  • Fix debug compile error: Conditional breakpoints in multiple source files might have caused a "definition/already defined" error.
  • First compile would fail for first time users until a board had been selected. (changed default to first board in boards list)
  • Debug compile - master.ino - Injected header code insertion point now detects first line of actual code. Previously debug compile would fail if a method in the .ino source code referenced a type defined in a library. This was because injected headers were inserted at position 0 causing auto prototype generation to insert immediately after the debugger code.

Release (1512.20 ) - 20th December - for Visual Studio 2012, 2013, 2015

  • Fix: Debug compile with "hit counter/breakpoints" failed for some languages (ie: German language users)
  • Fix: Switching on/off the various debugger reports such as digital pin reports and analogs often failed to be recognized. (Only "Build>Rebuild" would fix the problem)
  • Initial support for NMake projects (Gdb to follow shortly for vs2015)
  • Fix: Vs2012 and 2013 - "File>New>Project" uses a generic C++ platform (previously used VS2015 format C++ projects which raised an error)
  • Switch off compiler warnings for debugger source code
  • Fix: Sam/Due intellisense
  • Fix: Samd/Zero build/upload
  • Added new optional Arduino look-a-like syntax color theme - Use via "Tools>Options>General>Theme>Arduino IDE (Blue)". More themes to follow shortly, please post your themes in our forum.

Release (1512.14 ) - 14th December - for Visual Studio 2012, 2013, 2015 ( vs2015 with C++ Recommended )

  • Debug support for Teensy when set to MIDI (By default uses Serial1 and Hardware serial)
  • Debug support for Cosa in Arduino. Change RTC to RTT, implemented statis IOStream, changed #includes (thanks user 'guilus')
  • Debug for digispark/tiny serial. The serial is transmit only so the debugger is trace and expression watch only, no break, no change variable values during debug)
  • Support Pololu upload + improvements to verbose out for 1200 baud touchable boards
  • Default bootloader upload - Use "build.tool" in preference to "build.uploadUsing" when both are defined.
  • Removed sketch and library -I paths from "Core" compiler includes
  • Added additional Sam/Due intellisense paths
  • a) Build & upload buttons on the Visual Micro bar and menu compile the active editor project if the "startup project" is not an arduino project. b) New "tools>options>application features>start/upload active code" forces the behavior all the time.
  • Leonardo/usb type uploads wait for reset of port does not exist. + better messages during auto-reset and port discovery.
  • As an experiment there is also a new "tools>options>visual micro>Application features>Upload/debug active code" setting that can be enabled which always ignores the startup project if Arduino code is open and active for edit. The functionality of this setting might be more obvious when multiple Arduino projects are in the same solution and one is the  startup project. In this case the F5/continue shortcut key during debug sessions might be more intuitive with the setting switched ON/true.
  • Fix: Multiple breakpoints in different source files failed to compile if a millis based HitCount was used as a breakpoint Condition (debug compile failed with __VM_GlobalMillis__ error)
  • Tested with Arduinop 1.6.7 nightly

Release (1512.10 ) - 10th December - for Visual Studio 2012, 2013, 2015

  • Support library dot_a_linkage
  • Arduino intellisense support regardless of VS platform (x64, x86, win32 etc)
  • Convert compiler -DARDUINO version number to the new format (ie: 1.6.7 becomes 10607)
  • Support libraries such as HID-Project (note: mst also #include <HID.h> in the sketch_name.ino
  • Project includes are only updated when changed. (reduces source control auto-checkouts)

Release (1511.23 ) - 23rd November - for Visual Studio 2012, 2013, 2015

  • Fix: Arduino 1.0x failed to compile libraries due to missing include paths
  • Support: Esp8266 OTA - Previously failed because ssh transfer was expected. Now uses Python 2.7 so please make sure it is installed.
  • release

Release (1511.21 ) - 21st November - for Visual Studio 2012, 2013, 2015, As7

  • When compiler optimization "Compare source date/times" is off Libraries remain cached but the local sketch sources are always re-compiled (functionality to match builds prior to 1511+).
  • Atmel Studio 7 sometimes crached when attempting to update the recent MRU file list.
  • Compiler cache more resilient. Please report any abnormal situations when "Build>Clean Solution" or "Build>Rebuild" was required for successful compile.
  • Intellisense failed for Teensy3 and Arduino 1.6.2 + because the platform simulates avr whilst using an arm core. A new build property forces visual micro to use a property of the boards.txt configuration data as an assumed platform name purely for intellisense purposes. Example:- By default the Teensy package is enabled in Visual Micro as follows:- create_platforms_from_boardsTXT.teensy=build.core
  • Added support for standard arduino platform configuration key "rewriting=disabled" which is used by some board configurations
  • Removed the name of the project from the debugger window titles
  • release

Release (1511.12 ) - 12th November - for Visual Studio 2012, 2013, 2015, As7

  • Implemented full dependancy walker to determine rebuild requirements
  • "Solution>Clean" and the "Rebuild" commands will clear cache but should not be required even after major project changes or restructuring
  • release

Release (1511.11 ) - 11th November - for Visual Studio 2012, 2013, 2015, As7

  • Added: "Visual Micro>Rebuild" menu - Clears the compiler cache for all project sources (exc core and libs) and then build
  • Fixed: Added more intelligence to the compiler cache. Tip: 1) Switch off parts of the cache in the project properties or 2) Click Rebuild/Clean after making significant changes. Hopefully Visual Micro gets it right so these tips will not be required:) Interested to hear feedback about it in the forum thanks!
  • "Build>Rebuild Solution" and "Build>Rebuild [ProjectName]" perform the same function as the "Rebuild" menu item.
  • More intelligent dropping of compiler cache
  • Reminder - Switch off the new extended compiler cache in the project properties "Project Settings>Compiler Optmisation>Source date/time later than object file date/time"
  • Compile reports which job has failed (core, libraries or project). Does not continue to the next job if an error is encountered
  • A linker error causes the project compiler cache to be cleared so the next compile is cleaner (has no effect if "Source date/time" cache=false)
  • release

Release (1511.10 Sp1 )