Visual Micro Changelog

What's new in Visual Micro 2024.0223.00

Mar 5, 2024
  • Fix: Improved message for dual use of verbose compiler message "Library Include Paths"
  • Fix: Hardware Debugging: STM32F4x Boards now use correct OpenOCD Config for Upload/Debug (generic_f407v/stm32f4stamp/netduino2plus/blackpill_f401)
  • Fix: Debugger Menu Items showed "Option 5" in some cases, and could confuse the list for "Hardware Debugger" with "Compiler Optimization" in some scenarios.
  • Fix: Compiler Deep Search: Relative Include Working Directory could fail to be set to the compiler path due to the override being set incorrectly

New in Visual Micro 2023.1212.00 (Dec 14, 2023)

  • Fix: Ensure compiler.optimization_flags cannot infinitely recurse when using Alpha Arduino IDE Features for Release/Debug Configuration seen in STM32 v2.7.0 Package (Reported Here)
  • Fix: Ensure vMicro > General > Global Options functions although won't land user on correct property page with this change (Reported Here)
  • Improvement: Increased ErrorMessage counter from 500 to 2k when received in error pipeeline from compiler process, added warning message when this limit is reached (Reported Here)
  • Update: Board Installation: Added compatability for *.xz compressed files for future Teensy Board Packages
  • Build Messages: Removal of Tip to convert project intellisense as it can be shown in some scenarios when it should not be (Reported Here)
  • Improvement: ConvertToLinuxProject improved handling when there are no Shared Property Sheets (Reported Here)
  • Improvement: ConvertToLinuxProject now shows clear error message when a configuration is available in a project and not in the solution (Reported Here)
  • Fix: Resolved one area where creation of Temporary Folders could replace "." with "_" in usernames causing Library Installation to fail.

New in Visual Micro 2023.1103.00 (Nov 14, 2023)

  • Update: Debug: Addition of "Arduino" option to Debug selection, to allow use of the same debugging tools and parameters as used in the Arduino IDE (Documentation).
  • Update: Hardware Debug: Addition of CMSIS-DAP Debugger for the Arduino Uno R4 Board
  • Fix: Serial Debug: Addition of PinMonitoring/FreeMemory/Wifi/Serial Debugging for the Arduino Uno R4 Board

New in Visual Micro 2023.1006.02 (Nov 1, 2023)

  • Fix: SerialDebug: Teensy Boards: Addition of PinCounts for Digital/AnalogPinMonitoring, and FreeMemory code added (Reported Here)
  • Fix: SerialDebug: Additional Code for RP2040 Core for Memory Monitoring and Digital/Analog Pin Counts
  • Fix: Hardware Debug: Ensure 2s delay present for All SAMD boards between Upload and Debug Session Starting (Reported Here)
  • Fix: Hardware Debugging: Pause/Stop/Add-Break weren't working when target is running, under multiple configurations (All ESP32S2/S3/C3 Configurations, and all others using the debug.toolingsystem=gdbscript board.txt override) (Reported Here and Here).
  • Fix: ConvertToLinuxProject: Ensure non-VCXPROJ project files are skipped, and that multiple projects can be converted together (Reported Here)
  • Update: Add global option to keep project and solution in same folder. (Tools > Options > vMicro > User Interface > Keep project and Solution Together)

New in Visual Micro 2023.1006.00 (Oct 6, 2023)

  • Fix: Change Property "upload.use_1200bps_touch.SetDTRFalse" to "vm.1200bps_touch_SetDTRFalse"
  • Fix: Arduino 1.6 failed to load in vm if teensy is installed into the ide and also in appdata
  • Fix: Updated library and board index for vs2022
  • Fix: Avoid Serial monitor error in background when the serial port is not initialized
  • Fix: Teensy pretty port name showed incorrect value
  • Fix:Teensy console failed unless port address started with usb:
  • Fix:Verbose compiler library info shows "by maintainer/author"
  • Fix:Resolve port to pretty name: If a discovery port is found the boardport info is used and a win32 wmi lookup is not attempted. The port might not be found (teensy for example) and that caused a > 7 second error state to be recorded in the SerialPorts class.
  • Fix: Arduino 1.6 teensy console and ports boardPort includes console class type.
  • Fix: Plugin discovery hack for teensy so that teensy console is used even if the portAddress contains a ".". Previously attempted Network.
  • Fix: Prevent Serial Port from Opening when GDB is stopped on a break point (to prevent VS Hang forcing restart of entire GDB session)
  • Fix: Ensure functions which have prototypes already defined are skipped (when in same code file) (Reported Here)
  • Fix: Ensure vMicro Debugger is selected when launching Debug if user has selected "Remote GDB Debugger" in Project Properties (Reported Here)
  • Fix: Project Converter fixed to handle renamed projects and other variants of Arduino Compatible Projects (Reported Here)
  • Fix: Switch to using DTE.ExecuteCommand("File.SaveAll") instead of DTE.Documents.SaveAll (Reported Here)
  • Update: Project Converter now more resilient with further logging added for when issues are encountered (Reported Here)

New in Visual Micro 2023.0915.00 (Sep 16, 2023)

  • Fix: Upload Using Programmer: The programmer resolution in the app.CompileAndUpload partly used the older single programmer per ide system. The correct programmerName is now evaluated during creation of the build wrapper (with other properties) which simplifies and brings up to date the "get programmer name" code (Reported Here)
  • Fix: COM Port Selection: Port was not resolved and saved to project correctly when network discovery is off. This is since we added support for arduino discovers, that means networkdiscovery can be off but we will always still believe general discovery is enabled. The old test when selecting a port from toolbar or menu meant friendlyserial ports were never evaluated.
  • Fix: COM Port Selection: Other post monitor, local and remote debug port selection caters for network disovery=false
  • Update: Project Converter now more resilient with further logging added for when issues are encountered

New in Visual Micro 2023.0731.03 (Aug 15, 2023)

  • Fix: Hardware Debugging: Fix to ESP32S3-USB Debugging ensuring Flash Size is set to 0 (Reported Here)
  • Fix: Hardware Debugging: Links shown in Output Window updated to point to specific pages where appropriate
  • Fix: Portability: Solution folder "Arduino-PortableSketchbook " overrides the sketchbook unless "arduino-solutionSketchbook" folder exists.
  • Fix: Relative Paths in compiler -I includes to shorten paths below the 32k Windows Limit. Local Board.txt flag can be set to enable this functionality should it be needed vm.settings.shorten-include-paths=true (Reported Here).

New in Visual Micro 22.11.28.24 (Feb 27, 2023)

  • Fix: Escaping build hook paths in recent releases caused some build hooks to fail. (eg: deletion of esp32/m5stack build_opts.h)
  • Fix: When starting the gdb debugger for teensy, the VM_DEBUG_GDB compiler define was not set.
  • Fix: When running commands from cmd_exec.bat ensure the file is created with utf8 encoding (e.g. Build Hooks)
  • Fix: .hex being locked after a build due to merge with bootloader (Reported Here)
  • Fix: Hardware Debug: STM32L4x.cfg incorrectly set for Nucleo-64 Boards in STM32 Official Core (L476RG/L452RE-P/L452RE/L433RC_P) (Reported Here)
  • Fix: Hardware Debug: Olimex ARM-USB-TINY-H Debugging Configuration to use correct *.cfg file (affects Board Packages ESP32, Mbed_Nano, Mbed_RP2040). (Reported Here)
  • Fix: Hardware Debug: Adafruit SAMD: Cortex M4 (SAMD51) Boards to use correct config as not packaged with board package (Reported Here)
  • Fix: Project Templates: Aligned to use $projectname$ instead of $safeprojectname$ to prevent over-replacement of chars (e.g. -)
  • Fix: Microchip Studio (AS7): Unable to select a programmer
  • Fix: Microchip Studio (AS7): missing the license page help
  • Hardware Debug: Addition of Teknic ClearCore Board Configuration for Debugging (Reported Here)
  • Hardware Debug: Addition of "FT2232H Single" Interface Debugger alongside "FT2232H Dual" (ESP32, MBED_NANO, MBED_RP2040, RP2040, STM32, STM32F1, STM31F4) )(

New in Visual Micro 22.11.28.15 (Dec 23, 2022)

  • Compiler defines - Quoted strings were not escaped since the recent path \ escaping changes.
  • Compiler -D defines that contain quoted strings will now enclose the entire define with quotes. Previously only the value of the define was double quoted.
  • These changes are important but certainly required for SAM and STM32 toolchains that reply on quoted strings in compiler defines.

New in Visual Micro 22.11.28.12 (Dec 21, 2022)

  • Full escape all strings in build commands. Previously only quotes strings were escpaped
  • Upload comands only switch to 8dot3 file names if specified for the platform or board (upload.8dot3=true). Previouly visual micro switched to 8dot3 too easily, some toolchains do not support it.

New in Visual Micro 22.11.28.10 (Dec 16, 2022)

  • Color coding and intellisense and red squiggles were missing from .ino code in the latest Vs2022 IDE (+ bumped version for vs2022)
  • Blank platform explorer. Platform explorer dpi scaling failed for scaling above 100%
  • Fix: Use utf8 when reading the arduino 2 cli settings (yaml). Support international chars in paths.
  • Utf8 in paths caused the new intellisense format to fail (vs)
  • Potential hang in the intellisense engine after creating a new project using the File > New > Project templates.
  • Use utf8 when reading the arduino 2 cli settings (.yaml). Support international chars in paths.
  • Roll up of all changes since last release for Microchip
  • Arduino 2.0 support
  • Option to use Visual Micro without any backend IDE such as Arduino 1x or 2x
  • Moved the "Always use Atmel Debugging" toggle menu to work inline with the standard Visual Micro "debugger types" menu. Selecting "Hardware Debugger" will use the Microchip Studio hardware debug tools.
  • Prevent Microchip from attempting a build when attempting to attach a hardware debugger. Previously, users has to uncheck "Build>Configurations>Build/Deploy". (The Microchip build will always fail for Arduino projects, Visual Micro has to manage the build)
  • Project Names: Creating new projects will show "(Arduino)" after the project name in the solution explorer.
  • Release of the 1st version of Visual Micro for ARM64 devices. To create projects in the ARM version use "File>New>Arduino Project" or, to open .ino code for the first time use "File>Open>Arduino Project". This is because the Visual Micro templates in the standard Visual Studio "File>New wizard" can not be used until Microsoft release the Linux Workload for arm devices. In this release for ARM, the Visual Studio Desktop C++ workload is required. Normally Visual Micro only requires the Linux workload that provides better intellisense.
  • Potential crash accessing Visual Micro tool bars to automatically control visibility.
  • Potential crash when reloading tool chains via the Platform explorer
  • Potential crash when not loading Visual Micro on demand. Tool bar access while the Start Page Window is open prevented the ability to confugure the UI.
  • Potential crash if Visual Studio is not open and a solution (.sln) shortcut is clicked in windows. The IDE loads and loads the solution before the Visual Studio UI has initialized. Visual Micro will delay the load of its UI customizations until the IDE has sent it's first UI message.

New in Visual Micro 22.11.28.2 (Dec 3, 2022)

  • This update will replace an existing Visual Micro installation. Uninstalling and reinstalling older releases is fully supported. Either version of Visual Micro can be installed.
  • Older Visual Micro projects will continue to work in the new version, but will not benefit from the new intellisense system. Projects created in the new version will not work in the old version. Existing Visual Micro users will not notice any changes in 2.0 unless the new project type is used.
  • This update will replace an existing Visual Micro installation. Uninstalling and reinstalling older releases is fully supported. Either version of Visual Micro can be installed.
  • Visual Micro 2.0 is a compatible update for all current users of Visual Micro. It shares the same license and does not prevent return to older versions of Visual Micro (except for the format of new .vcxproj files created with 2.0). The only difference will come when opening new projects, in this case the Microsoft Visual Studio Linux Workload is used for the new project (.vcxproj), instead ot the standard Microsoft VC++ Workload. This change relates entirely to intellisense, the build process is unaffected. Existing projects will continue to use the VC++ intellisense system. We will release an optional "auto convert" to update the .vcxproj file of existing older projects.

New in Visual Micro 22.09.05.7 (Sep 14, 2022)

  • Update VS2022 packages to ensure they are compatible with VS2022 17.0 onwards, instead of being reliant on VS2022 17.2+.

New in Visual Micro 22.09.05.4 (Sep 12, 2022)

  • In some cases the UI startup would be unresponsive until the focus of the app changes. A workaround has been to prevent information messages from appearing during startup. The issue will be reported to Microsoft.
  • Resolve project detection issues. The latest VS2022 version creates an empty project in background at startup. (Visual Micro incorrectly assumed it was a folder only project).
  • Update VS2022 packages. Some Microsoft packages have still not been converted fully to VS2022. However this updates uses their latest packages which no longer rely on some older 16x references.
  • Update: Serial Debugger now works on Portenta H7 Board (on M7 Core)

New in Visual Micro 22.09.05.0 (Sep 6, 2022)

  • Update: Serial Debugger now works on Raspberry Pi Pico W Board
  • Fix: Intellisense improvements for STM32 boards
  • Fix: Defaulted "Compiler > Always Copy Build Output to Intermediate" to FALSE
  • Fix: ESP32 Compiler Pattern did not have -MMD removed causing erroneous *.d files to be created as part of Deep Search for v2.0.0++ (Reported Here)
  • Update: Added a global option "Communications > Serial Read Frequency" (Default:75ms) to refresh the entire Serial Monitor. (Previous default was 100ms. Min allowed is 15ms)
  • Update: Added a global option to set the "Communications > Serial Read Timeout". Default changed from 100ms to 200ms.
  • Update: Upload property upload.pause_before_ms defaulted to 200ms if not set in board.txt (Reported Here)
  • Fix: Intellisense: MegaAVR Fix for missing String.h functions e.g. memset (Reported Here)
  • Update: Startup for clearer messaging regarding loading toolchains, and delays registering c++>.ino file extension
  • Update: Minor changes to messages and menu caption for non-activated use
  • Fix: IDELocations: Trims Double Quotes from Paths when entered
  • Update: Added a board property to try out pause before upload. set to milis:- upload.pause_before_ms= (Reported Here)
  • Update: Try/Buy Screen cleaned up for clearer explanation of Visual Micro to new Users
  • Fix: ESPExceptionDecoder - Ensure #line is included for both Debug:Off and Debug:Hardware (Reported Here)
  • Fix: ESPExceptionDecoder parses lines with "(discriminator x)" correctly to jump to code line correctly
  • Fix: HardwareId Generation improved to ensure this is calculated as early as possible
  • Fix: Correct environment font measured for presentation of boards list
  • Fix: Startup messaging improved
  • Fix: Shutdown stability improved
  • Fix: Intellisense improvements for SAMD Standard C functions e.g Memcpy (Reported Here)
  • Update: ESP32/ESP8266 no longer requires Bonjour Service to be installed to perform network discovery of boards.
  • Fix: Activation Form now removes leading & trailing spaces when submitting license key to reduce accidental errors in activation.
  • Fix: IDE Locations checks ensuring the same paths are not used for IDE Location / Sketchbook / Downloaded Board Packages (Reported Here)

New in Visual Micro 22.06.11.0 (Jun 15, 2022)

  • Compiler and lib search improvements
  • Advanced users: "Build into project intermediate" now suffixes the "board id" to the "build folder". Also now allows "copy to intermediate" work in tandem. This allows cahing to work correctly with different boards on the same code.
  • "Cpp only" projects will build faster than .ino projects for advanced users. (reminder: Non-ino cpp only projects lack automatically created prototypes + serial/wifi debugger)
  • Cores that do not create .d dependency files will now allow caching if the source has not altered. In verbose mode a warning is displayed in the build output stating the .d files are not available. note: Without .d dependanty files recompile of source code does not happen if the source has not changed but an #included source has changed. Normally we would expected a change to #included source to cause recompile of all other source that uses it.
  • Improved cleanup of teensy virtual serial port scan

New in Visual Micro 22.06.07.0 (Jun 8, 2022)

  • Fix to ensure Prototypes are not generated if they are already in the sketch (when Deep Search for Libraries + Accurate Prototype Insertion (Gcc-E) is enabled)
  • Cpp only projects failed to build when deep search for libraries is enabled
  • Prevent creation of prototypes for CppOnly projects. (fyi: The prototypes are not auto inserted for Cpp projects therefore this change simply improves build speed)
  • Portenta intellisense improved.
  • Intellisense moved to Cpp17/C11
  • Project property to disable prototypes was not applied when using CTags to extract the prototypes. It was only possible to switch off extraction of prototypes via the board.txt setting vm.ctags=false.
  • Fix: BuildProjectInIntermediate: Solution Clean to clean correct build folder (Reported Here)
  • Fix: BuildProjectInIntermediate: Files no longer recursively copied one layer deeper every compilation (Reported Here)
  • Fix: BuildProjectInIntermediate: CPP Files not being recognised as cached on second build (Reported Here)
  • Fix: RP2040: Conflict with rp2040_rpipicopicoprobe board for Upload Tools
  • Update: UploadUsingProgrammer: mbed_rp2040 board Package has all programmers available for use
  • Fix: Library Installer - Comparison of Dependency Lib Names now includes spaces to match 3rd Party Spec (Reported Here)
  • Update: HardwareDebug - Addition of RasPiPico "PicoProbe" Debugger to options (Reported Here) (PicoProbe Documentation)
  • Update: PlatformSupport - Addition of support for RP2040 Core, and debug tools (GitHub: Board Package) (Debug Documentation)
  • Update: LicensingUI - Expiry Message now contains date string for annual licenses (e.g. 29 April 2022)

New in Visual Micro 22.04.29.3 (May 15, 2022)

  • Fix: Clicking "Check for updates" in Board Manager and Library Manager saved invalid response from arduino.cc to the package_index.json and library_index.json.

New in Visual Micro 22.04.29.0 (Apr 30, 2022)

  • Fix: Licenses incorrectly showing expired in the below (22.04.26.0) version in VS2022 for machines with a corrupted WMI database. Upgrade from the forum, or from Extensions > Manage Extensions within Visual Studio.

New in Visual Micro 22.04.26.0 (Apr 29, 2022)

  • Fix: Build: Major fixes removing conflicts between packages of same architecture (e.g. ESP32/M5Stack/Sparkfun ESP32)
  • Fix: Build: Core.a archive is rebuilt if build cancelled during the archive creation
  • Fix: ESP32 Programmer Upload (< v2.0.0) - Improved to remove injected prebuild hook #9 to ensure correct bootloader is available for JTAG Upload Using Programmer
  • Fix: Intellisense: PortentaH7M7 RTOS.h path (Reported Here)
  • Fix: Build Hooks: SaveHex pattern now works as specified (recipe.hooks.savehex.presavehex / recipe.hooks.savehex.postsavehex)
  • Improvement: Board List UI: Fully qualified Board name is now shown on the right hand side of the boards list
  • Fix: High Speed Parallel build option not enabling on click (Reported Here)

New in Visual Micro 22.02.18.5 (Mar 25, 2022)

  • Fix: Micro Explorer > Reference now linked to online documentation when local files missing, e.g. Arduino IDE 1.8.16 onwards (Reported Here)
  • Improvement: board.txt supports additional prefixes.
  • Fix: Prototype Generation now correctly handles Teensy FLASHMEM declaration on functions (Reported Here, Alternate Example TSynth Project on GitHub)
  • Fix: UI: Improved scaling fixes for MicroExplorer and IDELocations windows on High Resolution Monitors with scaling applied
  • NOTE: This should allow the DPIAwareness Registry key to be set to 1 or removed (shown on the 4K Monitors tab on this page)
  • Fix: Build: Library Caching updated to cater for Cloned Versioned Libraries
  • Fix: Build: Library Caching only outputs cached entries when using vMicro > Compiler > Verbose
  • Fix: Intellisense: MBED Nano Boards fixed for RTOS code (Reported Here)
  • Fix: Line Endings made consistent when Adding Libraries (Reported Here)

New in Visual Micro 22.02.18.0 (Feb 22, 2022)

  • Fix: Build: Library Caching fix added to greatly speed up second and consequent builds
  • Fix: Serial Debug: Memory Monitor added for ESP32/ESP8266 boards (Reported Here)
  • Fix: Serial Debug: Memory Monitor Line not displaying in Dark Theme resolved
  • Fix: Intellisense: ZWave Uno Beta Boards (Reported Here)
  • Updated Fix: Hardware Debugging approach updated for newer ESP32 Modules e.g. WROVER-E (Reported Here, and here)
  • Fix: Teensy COM Ports cleared down after disconnect (within 10s) (Reported Here)
  • Fix: Project Caching for all configurations, ensuring CPP and INO files are cached correctly
  • Fix: Improved Project Caching when Hardware Debug disabled, ensuring Project CPP files are cached correctly
  • Fix: Improved handling for hook patterns ensuring UTF8 characters are handled fully in Sketch/Core/Library paths
  • Added new board.txt property to disable Deep Search vm.runtime.compiler.auto_discover_includes=false
  • Optimization: Override Hardware Debugging Optimization using board.txt property ide.compiler_flags_debug (default is -Og) (Reported Here)
  • Fix: Teensy4 Board Options not showing on older TeensyDuino installs (pre 1.54)
  • Fix: Improved Debug/Upload for STM32 (Official) Boards (STM32 G0/1 L0/1/4 WL WB Boards) (Reported Here)
  • Fix: Clarified Menu Options for Advanced Library Usage
  • Fix: Encoding and Quoting of Disassembly/Hex/Compiled Binary output paths

New in Visual Micro 21.11.08.9 (Dec 3, 2021)

  • Fix: Addition of C++ Core Desktop Features to ensure C++ Workload is prompted for install in VS2022
  • Fix: Warning improvements when sketch does not use an src folder
  • Fix: Removal of internal build file from previous release which could cause compilation issues
  • Fix: Serial Debugging improved for when US-English Language Pack is not installed in Visual Studio
  • Fix: Improvements to ANSI/UTF-8 Handling of paths and code files experienced by international users (default now UTF-8) (Reported Here)
  • Fix: Build output > Disassembly view file:/// path is now surrounded by quotes (Reported Here)
  • Fix: Caching of library (.a) archive when a library specifies (dot_a_linkage)
  • Fix: Z-Wave Uno Build fixed so now correctly pre-processes files for external build (Reported Here)
  • Fix: Portenta H7 - Configuration available for M7 and M4 Cores, additional JLink (No OpenOCD) to allow dual core debugging simultaneously
  • Fix: Portenta H7 - improved intellisense for LEDR/G/B and bootM4() calls
  • Fix: STM32F4 (Stmduino): Fix to Uint8 intellisense issue (Reported Here)
  • Fix: ESP32 FSUpload sets chip correctly for e.g. ESP32C3 module
  • Fix: VS installer confuses 32 bit and 64bit versions of the same extension. Internal version number change between 32 (2017-2019) and 64 (2022) bit versions of Visual Micro.
  • Fix: VS2022 - Fix various crashes in platform explorer (board manager and library manager). Related to the use of the recycle bin when installing, updating libraries and boards.
  • Fix: "IDE Locations Config Dialog" > Problems setting Optional Board Manager Urls.
  • Fix: Duplicated platform names showing as available boards in the boards list. A cosmetic issue that happened under some circumstances.
  • Feature: Initial release of Teensy 4x Encryption (Read The Docs)

New in Visual Micro 21.11.08.0 (Nov 8, 2021)

  • VS2022 Users: Uninstall and Re-Install Visual Micro from the Microsoft Gallery to receive future updates.
  • ESP32: FatFS Fixes for partition offset
  • ESP32: Addition of LittleFS and FatFS Tools and Board Menu Options (Read The Docs)
  • ESP8266: Addition of FatFS Tools and Board Menu Options (Read The Docs)
  • Libraries: Addition of Auto Pre-Compiled Header Functionality (Read The Docs)

New in Visual Micro 21.09.17.5 (Oct 25, 2021)

  • VS2022: Serial Debug: Resolution of Multiplot DLL Load Error
  • Portenta H7: Pre-configured Hardware Debugging for M7 Core with Segger JLink integrated for "Arduino Mbed OS Portenta Boards" platform)
  • Build: Fix to Library discovery process to avoid conflict with different architecture libraries (Reported Here)
  • Build: Ensure creation of Merged Sketch+Bootloader HEX & BIN for e.g. Arduino Zero (Reported Here)
  • Build: Fix for Pre-Compiled Library Archives when in sub-folder of Architecture Folder (Reported Here)
  • Build: Addition of combined INO to allow compilation for the ZME Z-UNO G2 (Reported Here)

New in Visual Micro 21.06.06.17 (Jul 27, 2021)

  • Multi Project: Fix ensuring Active Code Has Priority Over Solution Explorer (Reported Here)
  • Default JSON URLs: Amended to use latest STM32 JSON
  • Uploader: Portenta H7 - Defaulted use 1200 touch to false to prevent upload issues for DFUUtil
  • Serial Debug: Removal of *.h File Debugging due to errors created being ambiguous when used
  • Hardware Debugging: Fix for Portenta H7 MRI Debug > Start Action, ensuring it attaches correctly
  • Hardware Debugging: Correction to Portenta MRI Debugger Name
  • Hardware Debug: Addition of DAPLink Debugger to STM32 Platforms (Official and STM32Duino)
  • Hardware Debug: Fix to Portenta H7 Configuration for MIR Debugging COM Port specification (mbed_portenta v2.0.0 Platform)
  • Hardware Debug: Addition of all working SWD Debuggers to the Nano 33 BLE board (mbed_nano v2.0.0 Platform)
  • Hardware Debugging: Addition of Raspberry Pi Pico Debuggers
  • Hardware Debugging: Addition of Portenta H7 (M7 Core) Built-In MIR Debugging (read more here)
  • Intellisense: Improvements to Portenta H7 ThreadDebug, and Core Switching now updates intellisense correctly
  • Intellisense: Fixes for updated MBED Packages now available to split out Nano 33 BLE, Portenta, Edge and Raspberry Pi Pico Boards
  • Intellisense: Arduino MBED RP2040 fixes for Raspberry Pi Pico Board

New in Visual Micro 21.06.06.4 (Jul 27, 2021)

  • IDE Configurations: Added "Arduino 2.0" for Arduino IDE 2.0 (beta) users
  • Cloned Shared Library Projects: Library.properties file created if one is not present in the cloned library
  • STM32: Alignment of Hardware Debug Tool to XPack Arm Toolchain supplied with "STM32 MCU based boards" Core
  • ESP32: Serial Debug: Prevention of Serial.begin() replacement by default

New in Visual Micro 21.06.06.4 (Jun 23, 2021)

  • IDE Configurations: Added "Arduino 2.0" for Arduino IDE 2.0 (beta) users
  • Cloned Shared Library Projects: Library.properties file created if one is not present in the cloned library
  • STM32: Alignment of Hardware Debug Tool to XPack Arm Toolchain supplied with "STM32 MCU based boards" Core
  • ESP32: Serial Debug: Prevention of Serial.begin() replacement by default (Reported Here)

New in Visual Micro 21.06.06.0 (Jun 6, 2021)

  • Optimization: Major Fixes ensuring projects always use the optimization option selected on new and existing projects
  • Hardware Debugging: Arduino SAM, STM32F3 & Energia CC3200/LM4F/MSP430 removal of incorrect static default debug tool
  • Intellisense: Fix to Arduino JSON for ESP32 / STM32F1 cores
  • Build: Fix for build hooks that use the dos /c command. Affects users that have a space in the temp build path

New in Visual Micro 21.05.27.0 (May 27, 2021)

  • Serial Debug: Fixed issue where it did not launch unless Debugging > Automatic Debugging was enabled
  • Serial Debug: Off correctly in new Project in Release Mode, and additional warning regarding Automatic Debugging effects
  • ATMega2560: Removal of auto injected --relax compilation parameter
  • Intellisense: Minor Improvement for ESP32 Core
  • Intellisense: Improved for ESP8266 v3.0.0 Core
  • Intellisense: Improved for STM32 and STM32F1 Cores
  • Intellisense: Improved for STM32Duino Cores with correct XPack Arm None Eabi Toolchain Selection
  • INO File Discovery: Fixes for Atmel Studio
  • INO File Discovery: Now allows ProjectName.INO to be moved to Virtual "Folder Source Files"
  • DeActivate License: Improved Feedback to User if an issue is encountered

New in Visual Micro 21.04.27.0 (Apr 30, 2021)

  • Serial Debug: Off correctly in new Project in Release Mode, and additional warning regarding Automatic Debugging effects
  • Build Process: Improvements for HPP file compilation
  • Upload: ESP32 Fix for ESP32 Beta 2.0 Core
  • Added resiliency around changes for any Read Only VM System Files related to project

New in Visual Micro 21.01.06.0 (Jan 17, 2021)

  • Intellisense: Fixes for Portenta H7 Intellisense (Reported Here)
  • Library Complilation: LD Flags Fix to ensure Library *.a folder is added to Linker Path (Reported Here)
  • GDB: Fixes for NRF5x Debuggers STLinkv2, JLink, BMP to remove upload selection reliance
  • Intellisense: Improvements for ESP32, NRF52 Boards to reduce errors
  • GDB: Addition of NRF5x Debuggers STLinkv2, JLink, BMP
  • License Management: Addition of General > Deactivate License, allowing transfer to another machine
  • Intellisense: Improvements for SAMD and MBED Boards
  • Prototype Generation: Fixes for incorrect detection of rawliteral() JS code in prototype generation
  • Intellisense: SAMD: Fixes for __disable_irq() / memcpy() etc..
  • IDE Location Screen: Hints updated for clarity
  • Library Compilation: When StopOnError is Enabled stops on first library compliation failure
  • Build Hooks: now fires "hooks.deploy.postupload", as well as vmdeploy (https://www.visualmicro.com/forums/YaBB.pl?num=1605708425/3#3)
  • Prototype Generation: Fixes for template<> definitions causing error on compile
  • Micro Explorer - Manage Libraries: Updating a library no longer automatically adds the library to the project
  • Build Core Caching: Fix for potential core caching issue in last two forum releases (20.09.10.12 + 20.09.10.13)
  • Serial Debug: Correction to datatype error seen in compilation for DigitalPinWrite (caused issues on ESP32)
  • License Expiry Message: Amended to be clearer as to causes, and solutions when this happens
  • Intellisense: Reduction of errors shown for Arduino Portenta H7 Board
  • Library Build: Processing of sub folders improved to remove conflicts reported (e.g. Sparkfun Artemis)
  • Switched to a new SSH library. Fixes Arduino Yun R2 network upload, www files upload and terminal. Also applies to other boards that use more recent ssh encryption.
  • Compiler: Comment Stripper Improved to ensure division broken over two lines is not treated as a comment (as seen in TensorFlow Hello_World Example)
  • Prototype Generation: Further improvements to ensure prototypes aren't generated when datatype matching fails (e.g. vector<string> from this report)
  • Prototype Generation: Improved prototype code derivation to resolve Multi Line Signature Issues
  • License Expiry: Output Window message to remind users now added when Licenses have expired
  • Disasssembly View: Additional fixes to quoting of command run in background to generate the objdump output + logfile
  • GDB: Addition of BBC MicroBit (+Other NRF5 Boards) for BuiltIn CMSIS-DAP Debugging via GDB + OpenOCD
  • GDB: Debug Menu > Optimization: "Default Optimization" now works for Debugging, and passes -Og parameter to compiler
  • ESP8266 UDP Debug: Cleanup of Socket Closure, ensured working in conjunction with ESP8266Webserver

New in Visual Micro 20.09.10.1 (Sep 11, 2020)

  • Libraries: Architecture tie up between STM32F1 and STM32 for compatability between Official and Roger Clarke Cores
  • Libraries: Additional support for library.properties ldflags integration into compiler.libraries.ldflags
  • Intellisense: Fix for STM32 Intellisense for datatype issues and toolchain paths
  • GDB: Addition of Blackpill STM32F401CCU6 to Debugging Configurations

New in Visual Micro 20.07.08.7 (Aug 1, 2020)

  • Disassembly View: Improved Messaging and execution speed, resolves issues for ESP32,ESP8266,Portenta H7 (Enabled via Project Properties)
  • Serial Debug: Fix for Compilation error when non-UDP debugging for SendUserMessage() introduced in previous release.
  • Intellisense Improvement for Malloc() on SAMD Platforms (including MKR1000)
  • ESP32/ESP8266 UDP Debug: Addition of MicroDebug.SendUserMessage() to allow custom user messages to be sent to the UDP Serial Monitor

New in Visual Micro 20.07.08.3 (Jul 18, 2020)

  • Library Discovery: Ensure potentially matched libraries contain *.h file expected before matching (bug in last two versions).
  • Improvements to "library name" from "header file name" matching.
  • These changes ensure that revision 2.2 of the Arduino Library Specification is fully implemented.

New in Visual Micro 20.07.08.2 (Jul 16, 2020)

  • Build Paths: Fixes to ensure short paths are only used on platforms / paths where known to improve builds
  • CTags Prototype Generation: Improved to handle templates correctly when generating prototypes

New in Visual Micro 20.06.18.0 (Jun 18, 2020)

  • Fix: Compiler error line number reporting when deep search for libraries was enabled was wrong if the setup() or loop() were the first methods in the .ino code. This issue applied to .ino code only.
  • Fix: Zip file was not created during the build process when Export Sketch was enabled.

New in Visual Micro 20.05.18.9 (Jun 17, 2020)

  • Fix: AVR Intellisense Fix for __cplusplus (Reported Here)
  • Fix: Comment Stripping improved for quoted quotes (Reported Here)
  • Fix: Teensy Serial Monotor - Now works without line terminators being received from board (Reported Here)
  • Improvement: Project File Validation only occurs when using File > Open > New Arduino project for faster loading of large projects (e.g. Marlin Firmware)
  • Fix: Prototype Generation improved to accomodate scope operator in function parameters ("::")
  • Fix: Automated parrallel builds of the same project could raise an error saving the build settings.
  • Fix: SerialDebug: SerialUSB Detection when no RemotePort set (Reported Here)
  • Fix: Addition of JLink GDB Configs for Adafruit Itsy Bitsy M4 (SAMD51) Reported Here)
  • Fix to Prototype Generation so Setup() and Loop() prototypes are not auto generated with the new CTAGS system.
  • Fix: SoftwareSerial debugging failed in builds from the past 60 days.
  • Fix Serial debugger failed to locate the debug libraries if "deep search for libraries" had been disabled.

New in Visual Micro 20.05.18.1 (May 21, 2020)

  • Platform explorer improvements. There were many refresh issues since Microsoft introduced DpiAwareness into Visual Studio over the past 9 months.
  • Fix for the latest STM32. Results of build hooks improved discovery.
  • Fix const strings were not always ignored when stripping comments pre-gccE
  • Updated SharpZip library used by board manager to expand downloaded toolchains.
  • .1 fixes an issue reading the sketchbook path from the arduino ide preferences when a portable folder is not being used.

New in Visual Micro 20.05.18.0 (May 21, 2020)

  • Platform explorer improvements. There were many refresh issues since Microsoft introduced DpiAwareness into Visual Studio over the past 9 months.
  • Fix for the latest STM32. Results of build hooks improved discovery.
  • Fix const strings were not always ignored when stripping comments pre-gccE
  • Updated SharpZip library used by board manager to expand downloaded toolchains.

New in Visual Micro 20.03.21.21 (May 12, 2020)

  • Fix: Board Package Resiliency added to ensure package.json files are available for Additional Board URL toolchains
  • Addition: "Add > New Item" Templates updated to allow code to be added into specific folders (and subfolders) directly from Solution Explorer view
  • Fix: Board Package Install / Discovery improved, ensuring tools are installed beneath the packager folder (e.g adafruit nRF52 Core)

New in Visual Micro 20.03.21.11 (May 3, 2020)

  • Fix: Prototype Generation: Improved to avoid conflicts with ISR / extern C code
  • Fix: Code Snippet Refactor
  • Fix: Menu Options Clean for Auto-Reporting per-breakpoint (See Debugger Menu for additional Options
  • Fix: Code Snippet Content Fixes, now listed as vMicro in snippets list
  • Fix: Prototype Generation updated for additional cases
  • Fix: GDB Arduino Zero
  • Fix: Compiler missing prototype generation failed for method signatures that contain ...
  • Fix: Automatically clear {upload.verify} property when the toolchain does not specify a default value for the property and verify is OFF (default)

New in Visual Micro 20.03.21.2 (Mar 22, 2020)

  • Deep search lib discovery:- Escape -D defines in compiler patterns if they have quoted literal values. An example being esp32 which has a -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" property. Esp32 also does not defined the recipe.preproc.macros variables which causes Visual Micro to use the the cpp compiler recipe. Deep search will now add missing chars and escpape defined in the same that it already does when compiling. In this case the Esp32 define becomes "-DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h"". Whilst deep search has always worked without the correct escaped command line the new ctags based prototype generation could not function because it can't ignore compiler errors caused by invalid -D defines. In short, recent releases of visual micro would have failed with some esp32 boards (and possibly others) unless ctags was disabled in a local board.txt
  • When prototype generation via ctags is off the older prototype generation system should have been used.
  • Fallback to using older system to generate missing prototypes if the new gcc based system fails. An information message should state this has happened and ask for report.
  • Remove error message when ctags parsing fails but the fallback has worked. (we will mature the ctags system during the next few weeks!)
  • ctags failed to generate prototypes under various situations! I think we finally nailed the new prototype discovery which is required to be compatible with the arduino ide. Sorry for the pain during the past week.

New in Visual Micro 20.03.21.1 (Mar 22, 2020)

  • When prototype generation via ctags is off the older prototype generation system should have been used.
  • Fallback to using older system to generate missing prototypes if the new gcc based system fails. An information message should state this has happened and ask for report.
  • Remove error message when ctags parsing fails but the fallback has worked. (we will mature the ctags system during the next few weeks!)
  • ctags failed to generate prototypes if there was a space anywhere in the path to .ino sources

New in Visual Micro 20.03.18.1 (Mar 20, 2020)

  • An important fix for the background daily check for updates. Was checking way too often in recent builds (if enabled)!

New in Visual Micro 20.03.18.0 (Mar 20, 2020)

  • Fix build errors in recent release: Comments in code could cause the "auto insert of missing prototypes" to be inserted in the wrong position. This is part of the new ctags system that better caters for user types in .ino code.
  • Reminder: The new way that visual micro generates prototypes can be switched back to way previous releases worked with the following local project board.txt property:- vm.ctags=false

New in Visual Micro 20.03.01.6 (Mar 16, 2020)

  • Standalone shareable Web debugger updated (Experimental)
  • GDB debug disconnect forces gdb to exit. Cleaner shutdown.
  • Support precompiled=true, link .a/.so files discovered in the library [mcu name] folder.
  • Extend check to ignore special case missing prototypes for setup() and loop() where (void) is declared as an argument to the two methods.
  • Fix: Resolve new python location for recent changes in the esp8266 package. Visual Micro spiffs (web server data files) upload now supports both older and newer esp tool chain versions.
  • Fix: Unabe to create new Arduino projects in Atmel Studio 7. Either failed or caused a hang/lockup of the IDE.
  • Insertion of the auto generated missing prototypes (using CTags) is updated to also cater for 1st method in an .ino other than the project_name.ino. This will avoid many compile issues when user types are defined in the .ino code and subsequently used in method sigantures that have missing prototypes. Reminder: CTags are only used for missing prototype generation if "deep search for libraries" (Gcc-E) is enabled.
  • Inserting soft debug breakpoints on 1st line of the setup() or loop() is now supported.
  • CLI fixes and new properties
  • GDB Hardware Debugging - Programmer/Upload Config updates (check selections after update), OpenOCD Updated to 2020-02-13
  • Experimental - Export local web debugger. pre-alpha option to export a self contained portable debugger. Allow a board that is already programmed with visual micro soft debugger break and/or trace points to be connected to another pc that does not have an IDE (visual studio or visual micro) installed. Applies to software debug only! "vMicro>Debugger>Export Web Debugger". tip: Close the serial terminal after soft debug starts and review the Micro Build output window for usage instructions. Read More Here
  • new - Esp32 OTA UDP software debugging
  • new - Teensy virtual usb port discovery
  • new - Teensy virtual usb Console
  • new - Teensy virtual usb (MIDI) software debugging
  • Fix: Automatic prototype insertion before first method in .ino files (in previous releases the prototypes were inserted before the first code line which required manual insertion of prototypes)
  • Fix: Software debugging did not work if the setup() and loop() methods were not in the project_name.ino
  • Fix: Software debugging breakpoints were ignored if placed on the first line of a method (on the method name or the line with the methods opening brace)
  • Hardware Debuggers: SAM - Improved support (+ JLink)
  • Add GDB support (hardware debugging) for the MXChip Azure IoT Board
  • Teensy 1.5 changes for intellisense.
  • STM32duino intellisense paths and fixes for latest toolchains
  • Ability to exclude certain unneeded variant files from intellisense intellisense.excludes=[semi-colon; sep list of file names without paths]. STM32 is preconfigured with this property.
  • Fix: SPIFFS: Manually installed esp8266 core under the "ArduinoIDE/hardware" folder failed to resolve python path

New in Visual Micro 1909.27.0 (Sep 27, 2019)

  • This release is required if working alongside the Arduino IDE v1.8.10
  • Fix: Resolve deep search library discovery when using 1.8.10 Arduino IDE with Visual Micro
  • "Tools>Options>Compile all folders" - Change default to False. Enforces project, projectsrc and sub folders below the src only. (Arduino compatible). When opening existing Arduino sketch projects for the first time only sources in the project folder, the src sub folder and all folders below src. Ignore all other sources.
  • Fix: Once per day nag screen showed invalid html page since 1909.15

New in Visual Micro 1909.15.1 (Sep 18, 2019)

  • Fix potential cross-thread crash: Switch to main thread before accessing the VCC Compiler tool. Required for VS2019 as a result of recent conversion to async Visual Studio extension.
  • Fix: In Release mode, the software debugger might have defaulted to "On".
  • Support for tool windows with Visual Studio 2019 without need to switch off "Optimize rendering for screens of different pixels densities". nb: We are still using windows form controls in our tool windows which means they might be a little blurry on some high res displays. We will move to Wpf tool windows during the coming months which will remove any blurr.
  • Fix: Corrupted packets that sometimes appear dyring serial
  • debug
  • Serial debugger supports user code serial that is not line terminated. This makes it easier for new users and students to use the serial output alongside breakpoints, charts and watch expressions.
  • Leading and trailing whitespace is no longer removed from serial when using serial debugging.
  • Changed .NET version 4.5>4.7

New in Visual Micro 1908.7.4 (Aug 16, 2019)

  • Added a build custom event hook "core.prebuild_if_changed". This event fires if the date/time of any core file has changed between builds.
  • Build library with dot_a_linkage: Archive was not rebuilt when changes to library sources had been detected.
  • Prevent attempts to resolve headers containing or / from resolving to libraries. Cause compile fail in deep search for libraries.
  • Prevent preprocessor #line numbers from being added to .h/.hh etc header files in temp build folder. The STM32duino core allows users to add compiler defines as -DtheDefine format. The header is not used as a header but instaed passed as compiler defines. Adding original source #line numbers causes sm32duino to pass an invalid define to the compiler.
  • This version replaces the gallery version from 7th August. The gallery contained the 1908.7 version of Visual Micro but delivered 1908.5. Microsoft have some gallery issues that they are looking into.

New in Visual Micro 1908.5 (Aug 5, 2019)

  • STM32 F1 and F4 debugger update
  • Change default to False:- "vMicro>Compiler>Add Include -I for Shared Projects"
  • ESP32 Dev Kit Usb Programmer Update
  • Shared Library Projects: If we created a library called "LibraryA" that did not have a "LibraryA.h" and we did not #Include <LibraryA.h> in our sketch then the build failed to find the library.
  • Deep search for libraries: The cache failed for some shared library projects causing longer compile times.
  • Update structure of "File>New>Project>Arduino Library" to Arduino v2 library format containing sources in the src folder. Reminder: the src folder of Arduino v2 libraries automatically become a compiler -I include path.
  • Remove default capability to qualify library #includes with library name for example: #include SPISPI.h is not supported unless "vMicro>Global>Options>Compiler>Add Libraries Folders (-i) Includes" is set to TRUE. Note: Deep search for libraries must also be switched off to use this feature. It is not recommended to qualify lib paths with the folder name, is not Arduino compatible and can cause conflicts with libraries that also have relative path#includes.
  • ESP32 might crash at startup if libraries are installed that use relatives paths which conflict with other libraries (two reports). This is the primary reason for the change descrived in the previous point.
  • Installing libraries from Library Manager automatically adds #includes to the current project. This feature can be switched on in "vMicro>General>Global Options>Contributions>Add Includes when Installing Libraries"
  • First build or re-build might have failed for some boards. We now run the "prebuild" hook before deep search (gcc-e) library discovery. This allows cores such as STM32duino to create a default options header (build_opts.h) in the build folder.
  • Shared project compiler include paths moved to before the includes for the core.
  • NOTE: Cracked, invalid or illegal use of Visual Micro will cause the IDE to periodically stop working. At that time a dialog will be displayed asking you to contact us.

New in Visual Micro 1906.16.1 (Jun 18, 2019)

  • VS IDE now starts without loading Visual Micro unless bars are displayed that require Visual Micro to load. This allows C++, VB.NET and C# developers to work with Visual Micro installed but without impacting the IDE until Arduino features are used (such as opening an .ino project)
  • Improved toolbar auto visibility when an .ino project is opened. Auto visibility toolbars will hide before the IDE closes so that when the IDE is next used it will start quickly. In previous versions toolbars would be hidden after the IDE is restarted if an Arduino project was not opened.
  • Added "Toolbar Auto Visibility" menu to the vMicro menu. All tool bar visibility commands have been moved from the "General" menu to the "vMicro>Toolbar Auto Visibility" menu.
  • Add toolbar visibility menu item > "Auto All", which enables auto visibility for all bars. This saves having to click each toolbar to enable auto-visibility for many bars. In VS2019 it is recommended that the vMicro menu toolbar be displayed all of the time. This is because VS2019 does not show extension on the master menu bar at the top of the IDE.
  • Minor fixes: Admin users: Auto roll out for large scale deployment. It is now possible to auto-configure all Visual Micro settings when a user first logs onto the IDE and uses Visual Micro.
  • All toolbars are now hidden after first install (excl. the vMicro bar).
  • Changed the default auto visibility to 'True' for the Boards, Project and Serial toolbars This allows new users to find options more easily. The vMicro menu does not default to "auto visibility" because of the note above about the VS2019 menu bar.
  • Prevent build hook/event messages from being displayed unless verbose is enabled
  • New user first time experience improved. The IDE locations config window is not prompted until a Visual Micro feature is used.
  • Fix: New user IDE locations dialog failed to display on first run due to VS2017 InitializeAsync() failing to provide a valid win32WindowHandle.
  • Added "Micro Board Options" tool bar
  • Automatic hardware debugging configuration, GDB out-of-the-box.
  • Extensible GDB configuration
  • Fix: Removed Visual Micro settings from the Visual Studio "Help" menu. This was a mistake in recent versions, the same options are on vMicro>General and did not belong on the Help menu.
  • Serial monitor default font change to same font as output windows

New in Visual Micro 1905.29.5 (Jun 3, 2019)

  • Fix Serial Monitor in VS2019. Create a hidden dummy empty tool window so that tool windows with multiple designed controls work. The issue has been reported to Microsoft.

New in Visual Micro 1905.29 (May 30, 2019)

  • Fix: SoftwareSerial debugging
  • Fix: SoftwareSerial debugging
  • Fix: When using SoftwareSerial prevent changing of speed in the upload port serial monitor
  • Per Configuration: Facility to save the selected board and port (Debug/Release etc). Enable using "vMicro>general>Save board port per configuration".
  • Per Configuration: Switch off optimization for core, libraries and/or project (see project properties)
  • Per Configuration: Additional compiler flags for core, libraries and/or project (see project properties)
  • Microsoft VsCode compatible debugging. VsCode examples from the web also apply to Visual Micro in the full version of Visual Studio (Use the Add Code> Custom Debugger to build your own debugger, add natvis files for your own user types if required).
  • Sp5 contains minor cosmetic changes to the drop down lists on the serial monitor, IDE locations window and platform explorer to cater for high dpi monitors. Also contains a slight change to the loading of themes in the serial monitor to prevent a rendering failure for some users.
  • Show broken debug packets in the serial monitor so users know the serial is overloaded or their own serial is clashing. Suggest use alternate port for debug if this is the case or ignore the broken packets. We aee investigating a better reporting solution for this issue.

New in Visual Micro 1905.24 (May 24, 2019)

  • Fix: Case comparison issue with json urls preventing urls with uppercase chars from being accepted when loading the boards list.

New in Visual Micro 1905.22 (May 23, 2019)

  • Fix: When attempting to toggle.show hidden files an message appeared for users of cultures that use command as the decimal place

New in Visual Micro 1905.22 (May 23, 2019)

  • Fix: When attempting to toggle.show hidden files an message appeared for users of cultures that use command as the decimal place

New in Visual Micro 1905.19 (May 20, 2019)

  • Esp8266 verbose upload in the v2.5.1 core is not recommended because it sends huge amounts of trace data that will require a cup of tea before it finishes.
  • Esp8266 and esp32 spiffs is now compatible with esp v2.5.1 and also older versions
  • Fix: Renaming a non .ino or .pde master file incorrectly prompted rename of the current selected sketch (if one was active in the code editor). This was caused by a VS bug.... Visual Studio ProjectItems() incorrectly return the first item of the requested item name is not found.
  • Switch serial debugger to using a generic #define based on the Debugger>Remote Port (or the default Serial/Serial1 when not set). This allows many more board platforms to be supported by the soft debugger without need for changes to Visual Micro. It is still possible for the upload port to display in the ports list due to the fact that some usb ports can appear long after the upload process has completed (see windows device manager for usb status's)
  • When "Auto select board/port is selected, ignore usb port changes during upload to catarena type of boards. Previously undesirable port changes would occur for boards that temporarily boot into a different upload port.
  • When "Auto select board/port is selected, manually switching the com port will select the corresponding board. note: the auto select feature relies on the vid/pid values returned by the usb driver which must correlate to the vid/pid of a board definition. Some manufacturers share vid/pid within many different boards which renders this feature useless.
  • Themes for the platform explorer, debugger digital pin viewer and watch expressions
  • Ignore contributed board package index (json) files if they no longer exist in either the "arduino ide>preferences" or "visual micro IDE locations > board support urls" lists. Previously uninstalling a url would continue to show the package in the platform explorer unless the package_index.json was manually deleted using windows explorer.
  • Verbose upload is no longer affected by switching on "verbose compile"
  • Implement "No Verify" for older avr and sam boards that do not provide the switch via the platform config
  • Stop all builds if a user attempts to start another build when a build is already running. Assume they want to cancel and not start a new build.
  • The build is cancelled if an attempt is made to run another build. Example, F5 starts build, F5 again stops/aborts the build, F5 again starts a new build.
  • Fix: Board options menu failed to show options after menu #14
  • Minor UI improvements, syntax, spelling, charting etc
  • Debug tool will now inherit properties from the tool chain pre-commands and also support property tree ".debug" with the selected tool. For example upload.tool=openocd can also be debug.tool=openocd, with the tool supporting both .upload and .debug subtrees along with default properties at tool level.
  • Renamed vMicro>"Toggle Hidden Files" to "Show/Hide Hidden Files". Using this feature adds short cuts to external sources and often provides a better code navigation experience (especially when using GoTo Definition).
  • Support for board.txt foo_debugger.args which automatically transpose to microsoft gdb / MIDebuggerArgs in the debugger_launch.json. (nb: a debugger_launch.json is not required in the local project and should only be added by advanced users). Using the board.txt as per the following example if recommended.
  • The notification messages for missing tools within board support packages (index.json) were many and unhelpful. In the next release notifications and errors are informative and duplicate errors are prevented. This applies to clicking re-scan or using the Platform Explorer when a package index containing missing tools has been added to the IDE locations configuration window.
  • Change: Better code navigation into the core when using "Go To Definition": "Toggle Hidden Files" will also now add short cuts for ".c" files. These files will often cause many intellisense errors in the "Error List" window. To disable this option use "Tools>Options>Compatibility>Toggle Hidden C Files" = false (default is true). Note: We are shortly moving to the CLang intellisense engine which will improve things. Reminder: Click "Toggle Hidden Files" again to remove the code short cuts.
  • Fix: Intellisense for _AT boards that, for some reason, have a different mcu name (case) than that contained in the core of the boards. note: Visual Micro is moving its intellisense definition to a more intelligent system so hopefully this type of issue won't happen in the future.
  • Fix lack of case sensitivity in strings comparisons relating to UI and intellisense. Recent issue since release of vs2019
  • Automatically switch to "Show All Files" view when "Toggle Hidden Files" is clicked. This resolves a VS bug that causes "Toggle Hidden Files" to display incorrectly when used in "Show All Files" mode. To resolve the display issue the project needed to be closed and re-opened or the "Toggle Hidden Files" option needed to be clicked a few times.
  • Prevent status bar message for using fileAndForget. Possible contributor to vs2019 crash when visual micro attempts to set the DTE.StatusBar.Text
  • Change: Better code navigation into the core when using "Go To Definition": "Toggle Hidden Files" will also now add short cuts for ".c" files. These files will often cause many intellisense errors in the "Error List" window. To disable this option use "Tools>Options>Compatibility>Toggle Hidden C Files" = false (default is true). Note: We are shortly moving to the CLang intellisense engine which will improve things. Reminder: Click "Toggle Hidden Files" again to remove the code short cuts.
  • Fix: Intellisense for _AT boards that, for some reason, have a different mcu name (case) than that contained in the core of the boards. note: Visual Micro is moving its intellisense definition to a more intelligent system so hopefully this type of issue won't happen in the future.
  • Fix lack of case sensitivity in strings comparisons relating to UI and intellisense. Recent issue since release of vs2019
  • Automatically switch to "Show All Files" view when "Toggle Hidden Files" is clicked. This resolves a VS bug that causes "Toggle Hidden Files" to display incorrectly when used in "Show All Files" mode. To resolve the display issue the project needed to be closed and re-opened or the "Toggle Hidden Files" option needed to be clicked a few times.
  • Prevent status bar message for using fileAndForget. Possible contributor to vs2019 crash when visual micro attempts to set the DTE.StatusBar.Text

New in Visual Micro 1904.24 (Apr 24, 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"

New in Visual Micro 1904.23 (Apr 23, 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)

New in Visual Micro 1902.17 (Feb 18, 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 visualstudio.gallery worked correctly.

New in Visual Micro 1902.15 (Feb 15, 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.

New in Visual Micro 1902.11 (Feb 14, 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

New in Visual Micro 1811.24 (Nov 27, 2018)

  • 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
  • Fix last version: Debug libraries failed to build standard libraries unless they were "shared library projects"
  • "Toggle Hidden Files" ignores libraries if they existing in the solution as shared library projects
  • Update Esp32 intellisense paths (broken since last esp32 toolchain release)
  • 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)

New in Visual Micro 1810.3 (Oct 3, 2018)

  • Fix: Unable to compile "Shared library projects" that use "the old style" arduino library structure (without library.properties). These projects were incorrectly compiled as a merge project instead of as a library project. This fix assumes a library 1) if a library.properties 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 sketchbooklibraries it will be used, otherwise if it exists in idelibraries that will be used otherwise the platformlibraries 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) sketchBookLIbraries 2) PlatformLibraries 3) Ide Libraries

New in Visual Micro 1808.30.4 (Aug 30, 2018)

  • "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!

New in Visual Micro 1808.25 (Aug 29, 2018)

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

New in Visual Micro 1807.8 (Jul 9, 2018)

  • Revert to an empty <PlatformToolset> in new project files (vcxproj). Intellisense in this release will not work in the current developer "VS2017 Preview" version due to a Microsoft bug. Microsoft have confirmed the bug is fixed for the next release of Visual Studio preview. By assigning a <PlatformToolset> in this weekends releases, some users report having to install C++ for Visual Studio to be able to create new Visual Micro projects. Whilst our guidelines do state to selected the option to install C++ when installing VS, if users have an older C++ version installed VS 2017 will use it but only if we assign an empty PlatformToolset in the .vcxproj files. Uggh :)

New in Visual Micro 1807.7 (Jul 7, 2018)

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

New in Visual Micro 1806.2 (Jun 4, 2018)

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

New in Visual Micro 1806.1 (May 30, 2018)

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

New in Visual Micro 1805.25.0 (May 28, 2018)

  • 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 visualmicro.com (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.

New in Visual Micro 1805.14 Sp1 (May 13, 2018)

  • 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 sketchbookhardware 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 visualmicro.com 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

New in Visual Micro 1804.21 (Apr 23, 2018)

  • 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

New in Visual Micro 1804.16 (Apr 17, 2018)

  • 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

New in Visual Micro 1803.26 (Mar 26, 2018)

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

New in Visual Micro 1803.6 SP3 (Mar 6, 2018)

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

New in Visual Micro 1803.4 (Mar 5, 2018)

  • Fix: Library architecture resolution failed for some libraries due to an incorrect string case comparison resolving architecture= for library.properties
  • 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. Pre-configured for esp8266 but can be implemented for other platforms/boards with the following properties.
  • These are:
  • exceptions.serial.enabled=true
  • exceptions.serial.messages=[path to]/exceptions.txt
  • exceptions.serial.regex.exception_number=Exception (([0-9]*)):
  • exceptions.serial.regex.stack_addresses=40[0-2][0-9a-f]{5}b
  • exceptions.serial.resolve.addr2line.args=-aipfC -e"{build.path}/{build.project_name}.elf"
  • exceptions.serial.resolve.addr2line.cmd=xtensa-lx106-elf-addr2line
  • exceptions.serial.resolve.stack_addresses.pattern="{compiler.path}{addr2line.cmd}" {addr2line.args} {stack_addresses.list}
  • 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 message.ie: Exception(29) relates to line or item 29.

New in Visual Micro 1801.27 (Jan 28, 2018)

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

New in Visual Micro 1801.14 (Jan 14, 2018)

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

New in Visual Micro 1711.19 (Dec 23, 2017)

  • Add support Arduino 1.9
  • Minor fixes as per forum threads
  • Add support for pre-compiled files in each projectlibs 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

New in Visual Micro 1709.3 (Sep 4, 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

New in Visual Micro 1707.30 (Jul 30, 2017)

  • Debug support for adafruit nrf feather boards > 6.0 tool chain
  • 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.

New in Visual Micro 1707.14 (Jul 17, 2017)

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

New in Visual Micro 1706.25 (Jul 10, 2017)

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

New in Visual Micro 1705.8 (May 8, 2017)

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

New in Visual Micro 1704.30 (May 1, 2017)

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

New in Visual Micro 1704.20 SP1 (Apr 24, 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 - Degug.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 Degug.MIExec help and Degug.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 arduino.cc 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 in Visual Micro 1704.3 (Apr 5, 2017)

  • 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

New in Visual Micro 1703.31 (Apr 3, 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

New in Visual Micro 1703.30 (Apr 3, 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 packageversion 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 arduino.cc in board manager

New in Visual Micro 1703.25 (Apr 3, 2017)

  • 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!)

New in Visual Micro 1703.20 (Apr 3, 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

New in Visual Micro 1702.25 (Feb 28, 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.

New in Visual Micro 1702.18 (Feb 23, 2017)

  • 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 "SketchBookArduinoData" 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 UsersAppdataLocalArduino15 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

New in Visual Micro 1702.15 (Feb 14, 2017)

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

New in Visual Micro 1702.11 (Feb 11, 2017)

  • 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 arduino.cc 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 {runtime.tools.sketchuploade...r} 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 idehardware 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 "projectdata" 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 arduinoidejavabin. 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)

New in Visual Micro 1701.19 RC (Jan 19, 2017)

  • 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

New in Visual Micro 1701.17 (Jan 17, 2017)

  • 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 in Visual Micro 1701.16 SP2 (Jan 16, 2017)

  • 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 in Visual Micro 1701.16 (Jan 16, 2017)

  • New version with many Team improvements
  • Edit and debug libraries from any location (add them as shared c++ projects)
  • 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.

New in Visual Micro 1701.3 (Jan 4, 2017)

  • 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

New in Visual Micro 1612.24 (Dec 26, 2016)

  • 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!)

New in Visual Micro 1612.20 SP2 (Dec 26, 2016)

  • 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

New in Visual Micro 1612.20 SP1 (Dec 26, 2016)

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

New in Visual Micro 1612.12 (Dec 26, 2016)

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

New in Visual Micro 1612.7.1 (Dec 8, 2016)

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

New in Visual Micro 1612.07 (Dec 8, 2016)

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

New in Visual Micro 1612.01 (Dec 8, 2016)

  • 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
  • network.port=8266
  • network.auth_upload=yes
  • network.password=123

New in Visual Micro 1611.20 (Nov 23, 2016)

  • 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

New in Visual Micro 1611.18 (Nov 23, 2016)

  • 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

New in Visual Micro 1611.5.1 (Nov 7, 2016)

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

New in Visual Micro 1611.5 (Nov 7, 2016)

  • 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:
  • debug.tool=gdb
  • tools.gdb.pre_init.tool=openocd
  • tools.gdb.cmd=arm­none­eabi­gdb.exe
  • tools.gdb.path={runtime.tools.arm­none­eabi­gcc.path}/bin
  • tools.gdb.pattern="{path}/{cmd}" ­interpreter=mi ­d "{build.project_path}"
  • tools.gdb.openocd.cmd=bin/openocd.exe
  • tools.gdb.openocd.path={runtime.vm.ide.platforms.path}/default/tools/openocd­0.9.0
  • tools.gdb.openocd.params.verbose=­d2
  • tools.gdb.openocd.params.quiet=­d0
  • tools.gdb.openocd.pattern="{path}/{cmd}" ­s "{path}/scripts/" ­f "{path}/scripts/{build.openocdscript}"

New in Visual Micro 1610.27 (Oct 27, 2016)

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

New in Visual Micro 1610.25 (Oct 26, 2016)

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

New in Visual Micro 1610.23 (Oct 24, 2016)

  • Support arduino.org 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"

New in Visual Micro 1610.4.2 (Oct 11, 2016)

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

New in Visual Micro 1609.20.0 (Sep 20, 2016)

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

New in Visual Micro 1609.18.1 (Sep 18, 2016)

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

New in Visual Micro 1609.17 (Sep 18, 2016)

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

New in Visual Micro 1609.9 (Sep 13, 2016)

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

New in Visual Micro 1609.2.0 (Sep 2, 2016)

  • 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 library.properties when importing Arduino v2 format libraries (causes compiler errors)
  • Auto detect v2 format Arduino libraries that are missing a library.properties 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

New in Visual Micro 1609.01 (Sep 2, 2016)

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

New in Visual Micro 1608.31.0 (Aug 31, 2016)

  • 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

New in Visual Micro 1608.25.0 (Aug 26, 2016)

  • Support for libraries below additional cores (WiringIDE)

New in Visual Micro 1608.24.0 (Aug 25, 2016)

  • 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

New in Visual Micro 1608.18.0 (Aug 19, 2016)

  • Detection of old and new Arduino library format has been changed to cater for 3 types: 1) Libraries without without library.properties treated as old style 2) libraries with library properties but no src folder treated as old style 3) Libaries with library.properties and with src folder treated as new style. With new style libaries, the src folder and recursive srcsub 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

New in Visual Micro 1608.14.1 (Aug 14, 2016)

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

New in Visual Micro 1607.31.0 (Aug 3, 2016)

  • 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

New in Visual Micro 1607.25.11 (Jul 30, 2016)

  • 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

New in Visual Micro 1606.17.10 (Jun 30, 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 projectdata or projectwww)
  • 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

New in Visual Micro 1606.17 (Jun 30, 2016)

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

New in Visual Micro 1606.14 (Jun 30, 2016)

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

New in Visual Micro 1606.11 (Jun 30, 2016)

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

New in Visual Micro 1606.8 (Jun 30, 2016)

  • 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 Platformsintellisense.core.redefs.code.h" allowing core definitions that intellisense doesn't fully understand to be redefined (for intellise sense purposes only)

New in Visual Micro 1606.6 (Jun 30, 2016)

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

New in Visual Micro 1605.28.0 (May 29, 2016)

  • 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

New in Visual Micro 1605.14.0 (May 17, 2016)

  • Support upload.verify board property introduced in the SAM 1.6.8 core
  • Fix: Attempt to deep search for lib-in-libs caused issue with older Arduino releases such as 1.5.x ad arduino.org
  • 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)

New in Visual Micro 1605.12.0 (May 14, 2016)

  • 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 arduino.org hardware and also with arduino.cc version below 1.6.6

New in Visual Micro 1605.11.0 (May 14, 2016)

  • 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

New in Visual Micro 1605.10.0 (May 11, 2016)

  • 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

New in Visual Micro 1605.6.0 (May 9, 2016)

  • 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
  • Added "AVR Dragon as ISP" programmer for AVR boards when using Visual Micro alongside Arduino.cc 1.6.x, 1.5.x and Arduino.org 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:-
  • network.auth_upload=yes
  • network.port=8266
  • network.password=123
  • 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)

New in Visual Micro 1604.28 Sp1 (Apr 29, 2016)

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

New in Visual Micro 1604.27 Sp1 (Apr 28, 2016)

  • 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.pid, 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"

New in Visual Micro 1604.18 (Apr 18, 2016)

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

New in Visual Micro 1604.12 (Apr 12, 2016)

  • 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

New in Visual Micro 1604.9 SP1 (Apr 11, 2016)

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

New in Visual Micro 1604.7 (Apr 9, 2016)

  • 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

New in Visual Micro 1603.30 (Mar 31, 2016)

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

New in Visual Micro 1603.28 (Mar 29, 2016)

  • 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 ="

New in Visual Micro 1603.27 (Mar 28, 2016)

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

New in Visual Micro 1603.25 (Mar 25, 2016)

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

New in Visual Micro 1603.20 (Mar 21, 2016)

  • Support escape chars in Serial Monitor outbound data. \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")

New in Visual Micro 1602.13.0 (Feb 15, 2016)

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

New in Visual Micro 1602.7.1 (Feb 9, 2016)

  • 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

New in Visual Micro 1602.3.0 (Feb 4, 2016)

  • 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: Arduino.org 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]

New in Visual Micro 1601.31.0 (Feb 3, 2016)

  • 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

New in Visual Micro 1601.30.0 (Feb 3, 2016)

  • Fix - Deep search library discovery failed for libraries that were included by name (ie: #include . 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 or #include . 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.

New in Visual Micro 1601.25.0 (Jan 28, 2016)

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

New in Visual Micro 1601.21.0 (Jan 21, 2016)

  • 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 library.properties 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)

New in Visual Micro 1601.11.4 (Jan 19, 2016)

  • 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)
  • Fix - Programmer upload broke in last release
  • 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)

New in Visual Micro 1601.11.3 (Jan 15, 2016)

  • 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

New in Visual Micro 1601.11.1 (Jan 12, 2016)

  • 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 Arduino.org Zero clone yet (Arduino.cc/Genuino 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)

New in Visual Micro 1601.04 SP1 (Jan 7, 2016)

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

New in Visual Micro 1601.01 SP1 (Jan 7, 2016)

  • 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. Sorry, a one time annoyance to allow for all the new possibilities that arduino 1.6.x brings (arduino have introduced lots of changes this year but great improvements. It's been hard work keeping up but they say it's reached its peek)
  • 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.win.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 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.

New in Visual Micro 1512.28 (Jan 7, 2016)

  • Improved inherited hardware discovery
  • Support hardware tools installed in clone but inherited from core (SmartEverything/OpenOCD >>

New in Visual Micro 1512.23.1 (Dec 24, 2015)

  • Intellisense and build failed in Visual Studio 2015 for users who have never previously installed VS2012 or VS2013.

New in Visual Micro 1512.23.0 (Dec 23, 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.

New in Visual Micro 1512.20.0 (Dec 22, 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: Arduino.org Sam/Due intellisense
  • Fix: Arduino.org 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.

New in Visual Micro 1512.14.0 (Dec 16, 2015)

  • 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

New in Visual Micro 1512.10.0 (Dec 11, 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 in the sketch_name.ino
  • Project includes are only updated when changed. (reduces source control auto-checkouts)

New in Visual Micro 1512.10.0 (Dec 11, 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 in the sketch_name.ino
  • Project includes are only updated when changed. (reduces source control auto-checkouts)

New in Visual Micro 1511.23.1 (Nov 25, 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.

New in Visual Micro 1511.21.0 (Nov 22, 2015)

  • 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

New in Visual Micro 15.11.12 (Nov 13, 2015)

  • 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

New in Visual Micro 15.11.11 (Nov 13, 2015)

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

New in Visual Micro 15.11.10 SP1 (Nov 13, 2015)

  • More intelligent compiler cache when build project properties are modified such as extra flags and additional defines
  • More intelligent compiler cache when core source code is modified, libraries and sketch are recompiled
  • More intelligent compiler cache when library sources are modified sketch sources are recompiled
  • Build order change. The build order is now 1) Core, 2) Libraries, 3) Sketch
  • Change of default: Recompile library and project sources when project property defines are changed. Project setting "Micro Compiler Optimization>Recompile libraries" defaults to True/On.Reminder:
  • Fixed a problem cuased by running arduino 1.6.5 after arduino 1.6.6 has been run once. 1.6.6 migrates from "Users\appdata\Roaming" to "Users\appdata\Local". Running 1.6.5 recreates the Roaming folder which confused Visual Micro and in some situations caused compile errors.
  • Sp1 supports rewrite=disabled in platform.txt

New in Visual Micro 15.11.8 SP2 (Nov 13, 2015)

  • Optional compile cache for local project code (default=On, see "Project Settings>Compiler Optmisation>Source date/time later than object file date/time". Other rules might invalidate the cache such as switch board options, changing project defines, adding libraries etc. Tip: "Build>Clean Solution" clears the compiler cache.
  • Output is displayed during upload. In previous versions all output would appear at once after upload succeeded or failed.
  • Fix debugger compile error when using integer hit counts
  • Improved accurancy of double click drill down into compiler error messages
  • Optimized background build for intellisense. More intelligent source code change comparisons, less disk activity in temp build folder.
  • Fixed an intellisense bug that affected some hardware. Additional include paths and macros are correctly extracted from the platform.txt cpp.recipe
  • Fixed DUE intellisense with arduino.cc versions 1.6.2+
  • @Plot tickmarks default to Off when not specified in the breakpoint command
  • Board and Serial bars default to visible. Tip: "Micro" bars can be hidden by right clicking the tool strip or can be intelligently hidden/displayed via the Window menu.
  • Sp2 - Project property "Compare Dates and Times" failed in initial release.

New in Visual Micro 15.11.3 (Nov 13, 2015)

  • Added support for Arduino 1.6.6

New in Visual Micro 15.11.1 (Nov 13, 2015)

  • Fixed: Boards such as "Sparkun Pro Micro" unable to determine different cpu flavors and failed to compile.
  • Attempt to implement esp8266 reset command syntax by disabling DTR/RTS and waiting for the port. Will wait up to 5 seconds. (note: If this solution doesn't work a different mechanism to toggle dtr/rts will be used in future releases, this is an area of windows where the usual SerialPort Api is weak)
  • Extended the @plot window to include a combo box of marker symbols. The symbol of all plots that have not been assigned a breakpoint symbol can be changed using the combobox.
  • Extend plot syntax to allow plot point symbols. The full list of symbol names is shown in the combo box on the plot window(s). for example:
  • plot.Thunderbird-4.Altitude.Triangle iHeight}{@plot.Thunderbird-4.SeaLevel.Square iSeaLevel}
  • Increased the @Plot memory to cater for a higher volume and frequency of trace messages before the tail drops off the end of the time line.
  • Show expression names and values in the @Plot curve labels. Ie: Altitude (gps.alt=67)

New in Visual Micro 15.10.30 (Nov 13, 2015)

  • Fixed: Build failed when there were no open source code documents. Applied only when positioned on the Solution node of the solution explorer
  • Fixed: Compiler cache failed to detect changes to build #defines
  • Faster debug. Just one compile. (Removed the validation compile, prior to the debug compile)
  • Removed tutorial messages from compiler output
  • More informative compiler errors when breakpoint syntax might be the cause of the error.
  • When the debugger is active, all build commands will perform a debug build. This ensures that breakpoint syntax to be validated without requiring an upload.
  • Intellisense improvements
  • The Visual Micro build command has been changed to build the "Start Up Project" instead of the active editor project. This falls in line with the "Build & Upload" command. Applies to multi-project solutions

New in Visual Micro 15.10.26 (Nov 13, 2015)

  • Fix: Missing compiler errors!!
  • Fix: Debug if the sketch path name or source file names contain a single quote.
  • .ino source code can be placed in sub folders or linked from other locations. Only the master sketch.ino must be located directly in the sketch folder.
  • Local sketch copies of arduino libraries that exist under folder "src\_micro-api\libraries" override installed user or core libraries. For example this means that the eeprom library can be copied locally and edited without affecting other projects that use the eeprom library
  • Project structure - Local libraries, source code in sub folders and "Linked" shortcuts to code outside of a project. Initial documentation
  • Debug local project libraries. Create local libraries or copy existing libraries to the local project. For editing or simple debug
  • Added new application list entry for arduino.org 1.7. This allows one of each arduino major version + arduino.org to be installed and used together.

New in Visual Micro 15.10.22 (Nov 13, 2015)

  • High cpu usage when selecting items in the solution explorer
  • Changed Ide names to avoid confusion between the latest Arduino 1.6 version and older arduino.cc/arduino.org versions. The Arduino.org entry applies to all historic Arduino.cc versions prior to 1.6.2 and all Arduino.org versions. The Library Manager tool is available for all versions, the Board Manager tool is currently only available when using "Arduino.cc 1.6"
  • Added Application specific help/hint text to the Ide locations dialog
  • Improved intellisense 32 bit boards
  • Support for Mpide 150 and also the beta of the new chipKIT-core. Install either Arduino 1.6 or Arduino.org 1.7 to use the chipKIT-core
  • Boards and serial bars no longer automatically hide. The auto hide is optional. Enable it using the Window menu

New in Visual Micro 15.10.12 (Nov 13, 2015)

  • Resetting and flushing of the serial port prior to upload is no longer the default. In earlier versions of the arduino ide flushed the port but it no longer does. This means a historic option for boards.txt "upload.disable_flushing" is now discontinued. (Optional: Visual Micro now supports upload.enable_flushing=true should the older functionality be required). This should resolve a few forum reports whereby upload fails sometimes for some boards.
  • Build, Build & Upload buttons attempt to discover an Arduino project from the "Startup Project". If an Arduino project is not found then the project of the Active Editor Document is evaluated. If the active document provides an Arduino project it is used. Otherwise if an Arduino project is not found the buttons, if visible, will not perform any function.
  • Removed the word "Tools" from all in program help text and tips.
  • New C++ project template called "Arduino Library" that demonstrates how to create or develop arduino libraries
  • Debugger supports Cosa again (failed a few versions ago, when esp8266 debug was implemented)
  • Visual Micro tool bars default to only showing when an arduino project is open. Control this setting via the Window menu. Un-tick to always show Arduino bars
  • Tool bars default to Row 3
  • Including/showing Arduino core and library files in a sketch projects might cause compilation failure.
  • Added intellisense define for __AVR__ or __ARM__ depending on hardware. (fixes intellisense problems with libraries such as TimerOne)
  • Added "Debug Continue" tool bar button. The button is hidden when debug is stopped, disabled when the arduino code is running, enabled when stopped at a breakpoint. Performs the same function as F5/Continue.

New in Visual Micro 15.09.14 (Nov 13, 2015)

  • Bug Fix: The 'Window - Auto Hide' commands failed (tip: Toolbars can be switch off fully using the right-click menu of the empty tool strip areas)
  • Add: Project Properties icon to the 'Micro Project' toolbar and the 'Visual Micro' menu
  • Toolbar button - Tool tip improvements
  • Will support Arduino 1.6.6 new documentation location (when released by arduino.cc)
  • Bug Fix: Cpp files in the sketch/project folder failed to compile unless "tools>options>visual micro>compatibility>compile files in project" was set to False (default is true which looks at the project to determine the files to compile as opposed to looking in the physical sketch folder). This was a bug that existed only in the .9 release from earlier this week. Note: Cpp files in sub folders compiled correctly.
  • Bug Fix: Using "Show arduino core and libraries sources also was affected in the same way as the bug described above.
  • The 'Compile & Upload' tool bar button now performs a debug upload if debugging is enabled

New in Visual Micro 15.09.9 (Nov 13, 2015)

  • Ignore _core and _libraries folder during compile (Last version incorrectly attempted to compile these folders of "Project>Show arduino code and library sources" had been used
  • Ensure only .cpp, .ino, .h and .hh files are copied to temp during build
  • Move debug stop button to be next to the upload button
  • Please Note: The Visual Micro "Upload" toolbar button currently performs a non-debug compile, use Windows debugger, F5 etc to debug
  • Increased the length of the trial of the Pro version to 90 days

New in Visual Micro 15.09.08 (Nov 13, 2015)

  • Project folder is always added as compiler include path unless disabled with board property "compiler.always_include_sketchfolder=false"
  • Pro version supports local sketch libraries in "[sketch\_micro-api\libraries"
  • Tools>Options>Compatibility provides settings to restrict the build process to Arduino Ide compatibility
  • New menu item "Items>Add>Arduino Library" will create a new local library within the current project. The library will be #included into the .ino source code in the same way as a standard library would be #included.
  • Tools>Options>Compatibility>Compile Files In Project' - Support sub folders for each sketch, compile the files included into the visual studio project (except the "_micro-api" folder). Switching to False compiles on the files in the sketch folder (same as Arduino Ide)
  • Tools>Options>Compatibility>Compile ALL Project Folder Sources' - Regardless of which files are tagged into the project, compile all files found in the root of the project folder (ino,cpp etc) (Default=True for compatibility with the Arduino Ide)
  • Tools>Options>Compatibility>Allow Local Libraries' - Allows local project libraries to be placed or created under each project in folder "_micro-api\libraries\[theLibName]"
  • Added "Compile" button to the "Micro Project" tool bar and Visual Micro menu
  • Added "Compile & Upload" button to the "Micro Project" tool bar and Visual Micro menu
  • Moved "Install library from zip" to the libraries menu
  • Added "Refresh" to the libraries menu which is the same as Rescan in the micro explorer. Refreshes the installed library and hardware views without need to close and reopen the ide.
  • Prevent VS from creating annoying ipch folder below each sketch. Automatically set c++ intellisense to use fallback location. Automatically switch off C++ intellisense "using fallback" notification. Disable this feature via "Tools>Options>Visual Micro>User Interface>Use Intellisense Fallback Location". When the fall back location is being used the \ipch folders below each sketch will no longer be used and can be deleted. BY default the "fallback location" us windows temp but the path can be altered in "Tools>Options>Text Editor>C++>Advanced"

New in Visual Micro 15.08.30.1 (Sep 1, 2015)

  • Both versions of Visual Micro are now on the same release
  • Support Arduino version up to and including 1.6.6
  • Fix installer failing for some vs2010 and Atmel 6.2 users

New in Visual Micro 15.08.30.0 (Aug 30, 2015)

  • Tool bars have been renamed from "Arduino" to "Micro". Any bars remaining that start with the text "Arduino" can be deleted using the "right mouse>customise" command on the tool strip. If any "Arduino" bars do exist they will be from the older add-in version of Visual Micro that was unable to uninstall as well as the new Extension version.

New in Visual Micro 15.08.1701 (Aug 19, 2015)

  • Support for Arduino preferences.txt in appdata\local
  • Support for Arduino preferences.txt in appdata\roaming (default if \local is not found)
  • Support for Arduino preferences.txt in ide\portable (default if exists)
  • Location of Arduino preferences.txt is the default for all downloaded contributions
  • Contributions storage location can be overriden in the Visual Micro options

New in Visual Micro 15.08.1401 (Aug 14, 2015)

  • Support Arduino 1.6.6 and below
  • Ignore pre and post build events that are defined but empty
  • Add compiler switch "-relax" for the mega2560. It was missing from 1.5+ Arduino builds
  • Implemented new arduino ide pre and post build events (sketch, library, core, objcopy etc.)

New in Visual Micro 15.08.1001 (Aug 14, 2015)

  • The first full release of Visual Micro as a Visual Studio Extension. Currently only supports Visual Studio 2015
  • Install from the Microsoft Gallery, no more silly .msi installer issues! Yipee
  • Toolbar>debug->stop closes all debugger windows including the serial monitor
  • Open source debugger visualizations have been implemented, working examples include:- Digital Pin viewer, Analog Graphs and other examples
  • All functions that were available in the add-in are now available in the Extension

New in Visual Micro 15.07.2600 Beta (Jul 28, 2015)

  • Fully implemented upload and/or debug for Arduino Zero NativeUSB or Programming Port. Supports debugging over usb, bluetooth, radio
  • Tutorial mode messages are more informative and appear less often. (tip: switch off tutorial mode using the "tools>visual micro" menu
  • The "Burn boot loader" is now also available in the free version of Visual Micro.
  • Improved integration with Atmel Studio
  • Intellisense for Arduino 1.0 was broken in the past few releases of visual micro

New in Visual Micro 15.07.2301 SP6 (Jul 28, 2015)

  • Programmers list only showed avr programmers unless the board had additional menu options
  • "Tools>Upload using programmer" renamed to "Use programmer for upload"
  • Selecting a programmer automatically switches on "Use programmer for upload"
  • Programmer can now be toggled on/off with less clicks.... If "Use programmer for upload" is ON, then clicking the selected programmer on the "programmers" menu un-selects the programmer and switches OFF "Use programmer for upload"
  • Validation and fix of Visual Studio C++ intellisense and syntax color for Arduino .ino and .pde source code is performed each time Visual Micro starts. Some users report that the installer sometimes fails to configure the code editor for C++ intellisense and color syntax code
  • In Atmel Studio, selecting the "Arduino Zero or Due" boards and then clicking "File>New>Arduino Project" creates an armgcc project instead of an avrgcc project.
  • Tip: If you switch between atmel 8 bit and 16 bit boards then delete the .cppproj from the sketch folder and re-open the [sketch].ino. This will cause a new project (cppproj) to be created of the correct type. This only applies to Atmel Studio and not Visual Studio. In future releases Visual Micro will prompt when changing board if the project needs to be re-created. (This is how Atmel Studio works and out of our control)
  • net4 Installer fixes and improvements!

New in Visual Micro 15.07.1801 SP1 (Jul 22, 2015)

  • Fixed tool chain load issues with versions of arduino below 1.6.2
  • Project property - Extra flags is included in the compile of all cpp/c/s files
  • New project properties:- extra cpp flags, c flags, s flags, ar flags, c.elf flags, elf2hex flags ++
  • Programmers menu refreshes and shows a full programmers list when platform is changed
  • Atmel Studio new programmer option "Atmel Studio Device Programming". This open opens the atmel device programming dialog allow users to manually upload. The location of the compiled .elf will be pre-filled allowing upload within a few clicks. If Visual Micro debugging is configured the debugger will start after the device programming windows closes (regardless of successful upload)
  • Tested digital and analog debugger charts using break-point "When Hit" watch expressions {@ReportDigital} {@ReportAnalog}
  • Installs outside of the default "Program Files (x86)" folder sometimes failed to load in Vs2013 and other Ide's. More so for 32 bit systems.

New in Visual Micro 15.06.0100 SP6 (Jun 1, 2015)

  • Workaround for bug in sharpziplib. Failed to unpack esp8266 tar.gz tools correctly. If have installed a 1.6.4 8266 tool chain it is recommended to use boards manager to uninstall then re-install. The last download will be used to reinstall so the time to install should be short.
  • All hardware version numbers are now calculated correctly including version numbers such as "1.6.4+1.0". If you have previously installed an Intel or Esp8266 core using the visual micro boards manager you should uninstall and re-install again.
  • Compile would fail if the arduino ide was used to install hardware due to version number issues. This release will compile all hardware installed ether using the arduino ide or visual micro boards managers.
  • Support for contributed hardware packages with duplicate names but in different index.json files. Platforms of the same architecture are merged where the same version does not already exist, tools are merged where the same version does not already exist
  • The previous addition is required to support the esp8266 supplied by both the adafruit and esp8266_community index files. Previously visual micro would load the adafruit version 1.6.1 and 1.6.2 but fail to load the esp_community 1.6.4 version. This caused a compiler error if esp1.6.4 was installed.

New in Visual Micro 15.05.3000 SP4 (May 30, 2015)

  • Strip illegal // from include paths (caused intellisense config to fail esp8266)
  • Note: esp8266 latest release has an internal version of 1.6.0 but the last release had a version of 1.6.2. This can confuse visual micro. Please ensure that only one esp8266 package is installed in 'c:\users\[username]\appdata\roaming\arduino15\packages\esp ...'
  • Note: visual micro uses sharpzip to unpack the board manager tar balls. This sometimes fails for the esp8266 package. We will move to using 7zip in the next release of visual micro which will fix the problem. for now use the arduino ide boards manager to download and install the esp8266 core
  • Hide empty board options menus. Menus are hidden for the board and platform that contain unused menu definitions (esp8266)
  • Intellisense - Auto discover include paths from compiler recipe Previously paths were hard coded per "known" platforms
  • Esp8266 extended intellisense paths
  • Atmel studio updated to the same level as Sp2-4. The changes of the last two service packs had not been applied to the Atmel Studio features of Visual Micro.

New in Visual Micro 15.05.2400 SP2 (May 26, 2015)

  • Intellisense fix for all non-avr boards when the arduino ide was installed in a location such as "c:\program files". (Caused by an attempt to invoke Arduino 1.0 compatibility for Arduino 1.5+ ide's, has existed in most versions since mid 2014)

New in Visual Micro 15.05.1902 RC (May 20, 2015)

  • Compiler cache ignores files with names that start with a "."
  • 1st compile of each project (after opening the ide) re-uses previous compiler cache if it is valid (this was a bug in the previous RC)
  • Applications config .txt file has been renamed because the Microsoft installer sometimes failed to overwrite it
  • Todo: add an sha1 .sig file after downloading .json index files. tip: you can change the downloaded contributions path in tools>options. this will provide visual micro with a different set of downloaded hardware in boards manager compared to the Arduino IDE

New in Visual Micro 15.05.1701 RC (May 18, 2015)

  • Includes board menu options, 3rd party intellisense fixes, change build and/or contributions folders, education/all_user install imporvements and more
  • Board options are now available on the "tools>visual micro>board options" menu and as a tool bar. The tool bar can be hidden or removed without it reappearing. To reset tool bars click "tools>visual micro>reset user interface". Existing users will not see the new tool bar until the reset the user interface.
  • Intellisense defines are now calculated automatically from the build definition which provides a better level of intellisense for 3rd part boards.
  • Files in the variants folder with name starting with a full stop are now ignored. Previously caused intellisense to fail on boards such as the esp8266. (This rule already applied to all other folders)
  • Compiler cache auto detects a Boards Manager version update and also detects changes to any of the new Board options menus.
  • The first option of a board is automatically selected if no selection has been made by the user.
  • Ability to reassign the temp build folder location using "Tools>options>visual micro>compiler>temporary build path"
  • Ability to reassign the downloaded contribution folder using "Tools>options>visual micro>application locations>contributions path". NB: Useful for educational use in conjunction with the standard remote admin deployment features of visual micro (all users installs)

New in Visual Micro 15.05.1501 RC (May 16, 2015)

  • Intellisense working again for 3rd party boards
  • Intellisense fix - Prevents intellisense from reading files with names that start with a ".". (Boards such as ESP8266 contain files in the generic variants folder (ie: ) which are invalid and cause VS intellisense to fail)
  • Library Manager is now also available for Arduino 1.0.x and 1.5.x Ide's
  • If a project's normal compile completes correctly but debug compile fails a message box is displayed informing the user that either the board is currently unsupported for Visual Micro debugging or there is an error in a breakpoint (such as an invalid condition). For unsupported boards the message recommends switching off debugging by switching the configuration from "Debug" to "Release" (the configuration can be changed using the tool bar)

New in Visual Micro 15.05.1300 RC (May 14, 2015)

  • Correct a number of issues loading additional board support urls
  • Additional urls per app can be specified on the Ide locations window (see below)
  • Quick lookup link to the official arduino unofficial board support url repository
  • Coming soon - the ability to use different contribution storage locations per ide

New in Visual Micro 15.05.1200 RC (May 14, 2015)

  • New format libraries with a \src folder did not show as installed on menus or in the Library Manager.
  • Auto detect new Arduino ide format - Remove need for users to change the visual micro app paths from, for example, Arduino 1.5 to Arduino 1.6. Previously, until the selected Application was changed in the 'Visual Micro Ide Locations' window, compiler errors would have been encountered such as:- missing property {runtime.tools.avr-gcc.path}

New in Visual Micro 15.05.1102 RC (May 12, 2015)

  • Fix: Ide libraries were not reolved correctly in the previous Release Candidate

New in Visual Micro 15.05.1000 RC (May 11, 2015)

  • preferences.txt boardsmanager.additional.urls switched from ';' separator to ','
  • Support for Arduino 1.6.4
  • Support for third party programmers that inherit tools from another package (IE: esp8266 in 1.6.4, Pololu programmer)
  • Core compiler - ignore sources with names that start with a "."
  • Fix - #Includes that were not libraries and not sketch source code would cause a compiler error (applied to current RC/beta only)
  • A comma sep list of additional contributed board supports urls can be specified in the ide locations window. They will only be used if the ide supports Boards Manager. Tip: The adafruit package includes the esp8266 and other useful boards
  • The Bzip2 Tar package installer has been altered slightly because it was failing to expand some tar balls fully. It might need some more work during the coming weeks. It previously failed to expand the tools for the esp8266 in the adafruit package

New in Visual Micro 15.05.0400 RC (May 5, 2015)

  • Visual Studio 2012 and 2013 "New C++ Project" template called "Arduino Project" (as an alternative to "File>New>Sketch Project")
  • Visual Studio 2013 has an Arduino IoT Project in the windows Windows IoT section. The project can be used to allow the Arduino to communication with a windows 10 IoT device.
  • Visual Studio 2013 has a new "Visual Micro" section in the C++ templates section with a new project template called "Blink Led"
  • The Arduino examples list in the Micro Explorer scans additional folder levels for examples

New in Visual Micro 15.05.0305 RC (May 4, 2015)

  • Version 1 format libraries that do not contain a matching header.h were incorrectly resolved as Version 2 format causing compile to fail with a missing header files error or a compiler cache error.
  • Libraries from inherited hardware are available to 3rd party hardware. For example: Arduino>Hardware>AVR>EEPROM available to Pololu because the boards.txt build.core is set to arduino:arduino
  • Installed contributed hardware takes precedence over ide/hardware when resolving 3rd party inherited cores (unless the 3rd party core is installed in "Arduino>Hardware" and not "Sketchbook/Hardware"
  • PSTR intellisense error resolved. Please report any other intellisense errors so we can add them to the master list or investigate (nb: compile should always be the accurate truth)
  • Moved installer and shared api from .NET3.5 to .NET 4.0
  • Visual Studio 2008 is no longer supported (reminder: visual studio 2013 community is free and is supported by visual micro)
  • Library Manager and Boards Manager included in the free tool

New in Visual Micro 15.05.0100 RC (May 1, 2015)

  • Many intellisense fixes when using arduino 1.6.3. AVR and SAM now good, Intel and others still need work
  • Boards Manager will look for multiple package_[vendor]_index.json files. This allows 3rd party hardware vendors to provide their own indexes for the Boards Manager. The new hyperlinks on the Boards Manager such as 'View packages folder' provide one click access to the location where the index files need to be stored.
  • Multiple http urls can be provided using the arduino preferences.txt property "boardsmanager.alternative.urls"
  • The full list of programmers now show correctly for 3rd party hardware such as Adafruit Trinket
  • 3rd party hardware with Arduino 1.6.3+ compiles and uploads correctly when using a programmer.
  • The new AVR tools are now discovered and by the compiler after installing updated AVR firmware using the boards manager. This failed previously because the avr tools and cores are both downloadable and installed with the arduino ide. Visual Micro was defaulting to using the version installed with the ide.

New in Visual Micro 15.04.2504 RC (Apr 27, 2015)

  • Release Candidate (1504.20 Sp3):
  • The compiler will now use an installed contribution in preference to the platform that might have been installed with the ide (IE: [ide]/hardware/[package]/[platform]) Example: Allows Arduino AVR 1.6.2, 1.6.4 or 1.6.5 to be installed using the Boards Manager alongside an Arduino 1.6.3 Ide. (note: Upward version support might break in the future if Arduino (or another package author) make breaking changes to a new release. Keep Visual Micro up to date)
  • Boards Manager: The latest package version was calculated incorrectly causing the "Info Panel" display to suggest earlier versions of hardware instead of later versions.
  • Boards Manager: Info panel of Latest versions, when a package is installed it will show "INSTALLED" in green (with older versions showing in gray). Where a newer version is available to the installed version "INSTALLED" will always show in red.
  • Release Candidate (1504.20 Sp2):
  • Use of the RecycleBin by the Boards and Library Managers is now silent and does not prompt to delete temporary index files.
  • To determine the format of an Arduino library, test to see if a [Libname].h exists in the route of the libarry folder. Previously the test was for the /src folder which broke the compile for libraries such as ArduinoJson which is "Format 1" but uses a "Format 2" /src folder for auxillary sources.
  • Release Candidate (1504.20 Sp1):
  • A demo debugger breakpoint is no longer created automatically if no breakpoints exist in the current sketch. The feature can be re-enabled by setting "tools>options>micro debug - automated>loop() - Auto Create Breakpoint" to True. (tip: mass install/all users can all achiever options globally)
  • Micro explorer: Sketchbook folder added to the list of shortcuts
  • Micro explorer > "Installed" tab: Removed tooltip message "Rescan required" from the "one-click board or library selector" links
  • New advanced build property added: {build.source.path}

New in Visual Micro 15.04.2000 RC (Apr 20, 2015)

  • Library manager:
  • Fully compatible with Arduino 1.6.2+ which introduces some significant but useful changes. (Complete compatibility with previous Arduino versions is still provided by Visual Micro)
  • Micro Explorer - Boards Manager - Downloadable hardware with version management
  • Auto notification of new releases of board packages
  • Download and install any version
  • Controlled download once to staging area
  • Automatic install of core and tool chains
  • Graphical keyword searchable view of packages
  • Info panel with package details and hyperlinks to view sources, tools or downloadable internet content
  • Auto discovery of new packages from the package_index.json in the repository happens once per session (or after a re-load/re-scan) when the Board Manager tab is clicked. If download fails the existing index is used but of course downloading any new hardware will fail
  • Micro Explorer - Library Manager - Downloadable libraries with version management
  • Auto notification of new releases of board packages
  • Download and install any version
  • Controlled download once to staging area
  • Automatic install of core and tool chains
  • Graphical keyword searchable view of libraries covers library name, maintainer name, author, category ++
  • Info panel with package details and hyperlinks to view sources, tools or downloadable internet content
  • Groupings with counts auto filtered by search results (ie: Category, Library Author, Library Maintainer
  • Auto discovery of new packages from the library_index.json in the arduino.cc repository happens once per session (or after a re-load/re-scan) when the Board Manager tab is clicked. If download fails the existing index is used but of course downloading any new libraries will fail
  • Compiler defines ARDUINO_ARCH_ and ARDUINO_[BOARD] replace invalid chars with underscores
  • Tested the Esp8266 Ide and found to be working. The 8266 ide now appears in the ide configurations list so both Arduino 1.6 and the Esp version can be used in the same solution. Esp8266 is a very cheap option!
  • The "Micro Explorer" has been rename to "Visual Micro Explorer" and has been given an overhaul
  • Searching for board names
  • One click add board or library to the active editor sketch (if a sketch is open)
  • Direct access to Ide Locations Configuration tool
  • Re-scan button reloads the current editor tool chains
  • Installed platform and boards list (first tab) provides overview panel with hyperlinks to install paths such as sketchbook folder, install library from zip (beta), install hardware from zip (beta).
  • An "All boards list" now appears above the list of packages in the tree. When searching the "All boards list" filters based on board name, platform name and/or package name.
  • Many more tool tips to explain what is being viewed and what can be done
  • No apps or misconfigured application paths are reported in the explorer view in red. The explorer can be used to configure or remedy the problem
  • When no apps are configured the Micro Explorer displays the visualmicro.com setup guide.
  • Green and purple VM Documentation toggle button on tool bar
  • Import library from Zip has been added to the "Project/Add/Import Library" menu (above the refresh button)
  • Support for new Arduino build properties that provide tool and core locations to the build process. Older versions of Arduino are still supported
  • In platform.txt, pre and post build hooks can now be specified. Example: recipe.hooks.prebuild.0.pattern=echo "Hello {build.source.path}"
  • "Start Debugger Trial" prompt removed for first time users. A trial is automatically started

New in Visual Micro 15.03.1803 RC (Mar 23, 2015)

  • Support for the new Teensy 121 with Arduino 1.0.x (Arduino 1.6.1 with Teensy is not yet supported).

New in Visual Micro 15.03.0700 RC (Mar 7, 2015)

  • Support for Energia 0014
  • New build properties allowing for more flexible build processes in addition to full support for the Arduino 3rd party (custom hardware) build process
  • New ide support: Wiring which gives an alternative compile for a wide range of hardware such as:-
  • Arduino
  • Atmel
  • BDMicro
  • Sparkfun
  • Wiring
  • MPLab
  • RogueRobotics

New in Visual Micro 15.03.0300 (Mar 4, 2015)

  • Support for the new TeensyDuino beta
  • Added (serial.port.num} to the automatic build vars (used by Energia cc3200 upload)

New in Visual Micro 15.02.2400 (Feb 25, 2015)

  • Breakpoints on comment lines are ignored
  • Fix: Breakpoints on empty lines were not hit in the 14th feb release

New in Visual Micro 15.02.1403 (Feb 17, 2015)

  • Auto detect gcc version for Visual Studio intellisense improvement
  • Right click in the Visual Studio "Error List" tool window to toggle intellisense in/out of view
  • Added additional intellisense and custom programmers to the Arduino 1.6 Ide (missing from the initial release)
  • Roll-up of all 1412.10 beta service packs
  • Show compiler errors and warnings clearly in the "Error list"
  • Doc note: Arduino Error List management in 1502.14:
  • In previous versions the "Error List" was not so useful. In the latest release warnings can be filtered out of view, making it easy see the real compiler errors. right click the Error List.

New in Visual Micro 15.02.1403 RC (Feb 16, 2015)

  • Auto detect gcc version for Visual Studio intellisense improvement
  • Right click in the Visual Studio "Error List" tool window to toggle intellisense in/out of view
  • Show compiler errors and warnings clearly in the "Error list"
  • Added additional intellisense and custom programmers to the Arduino 1.6 Ide (missing from the initial release)

New in Visual Micro 15.02.0200 Beta (Feb 3, 2015)

  • Debugger - Modify variables defaults to ascii if a format has not been supplied. For example: setting the value of 123 into a watched expression of {myInt=?} would set the value of myInt to 123. Previously {myInt=?,DEC} would have been needed. Use {myInt=?,HEX} or {myInt=?,BIN} to force a different format.
  • Fix for error 'DBG_Millis undefined' during debug compile. (issue in last service pack for some non-atmel hardware)
  • Compile assembler files that exist in the sketch folder
  • Do not auto create sketch code prototypes if they already exist. The signatures must match based on a string comparison for example void foo(int bar) must prototype as void foo(int bar);

New in Visual Micro 15.01.2200 Beta (Jan 22, 2015)

  • Fix: Ensure that all compiler error messages are shown in the output window!!
  • Debug support for Cosa custom core
  • Source code with .hh extensions are now displayed when toggling "Sketch core and library sources" into a project

New in Visual Micro 15.01.1500 Beta (Jan 16, 2015)

  • A new project property has been added to the "Misc" section called "Upload Port". The property enables users to see and manually change the port used when uploading the current project. The property is the same property that is configured when using the tool bar or ports menu to specify a project port so this modification simply makes the property visible and editable. Network upload without Apple Bonjour for windows is now possible. Use the "Upload Port" project property to specify the ip address of the Arduino Yun or yun compatible SSh hardware. tip: Without Bonjour, ip addresses will not be displayed in the Visual Micro ports lists but are reachable if specified for the project.

New in Visual Micro 15.01.1000 Beta (Jan 12, 2015)

  • Added sketch path to project "include paths"
  • Removed fully qualified #includes from vsarduino.h, not sure if this is right because macros like F() become an issue
  • Redfined F for intellisense purposes
  • Removed __DOXYGEN__ define from intellisense extra defines list
  • Include arduino prior to adding prototypes to vsarduino.h, ensures datatypes are defined first
  • Platform intellisense.h mods
  • Ignore invalid wmi objects/ports
  • Resolve friendly Bluetooth device names
  • Ignore duplicate ports when .NET gets confused with its ports list. (Bluetooth tests showed duplicate ports (COMx,COMx) were sometimes displayed
  • Fixed: Visual micro raise an error and disabled port name discovery when duplicate or invalid/disabled ports where found
  • Serial monitor: Support special time-stamp serial syntax, sent to the pc (example below)
  • Ignore debugger breakpoints in commented code
  • Fix - Arduino 1.5.8 compile/upload failed if winavr (or ano) is installed on the same pc
  • Fix - Support for dis-assembly view for 1.5.x platforms
  • Fix - Debugger break "jump to source" often failed to activate the correct source window

New in Visual Micro 14.14.0006 Beta (Dec 23, 2014)

  • Fix - Compiler Cache for Arduino 1.5 format libraries
  • Fix - "Project Add/Import Sketch Library" - #Include Arduino 1.5 format library headers

New in Visual Micro 14.14.0004 Beta (Dec 20, 2014)

  • Graphical Visualizations failed in recent releases
  • I2C discovery - Debug status reports limited to "when values changed" in the message output window and every 15 seconds or "when values change" in the trace window
  • Start/continue existing debug session by opening a project then opening the serial viewer - Auto sets the correct port speed

New in Visual Micro 14.12.1000 Beta (Dec 10, 2014)

  • Fix: Compile sketch files with "-" in the name.

New in Visual Micro 14.12.0702 Beta (Dec 9, 2014)

  • Allow libraries with dashes in the name to be available on "project>add/import sketch library"
  • prevent library folders without header files from appearing on the "project>add/import sketch library" menu

New in Visual Micro 14.12.0701 Beta (Dec 9, 2014)

  • Arduino REV2 format library \src is now buildFolder\LibraryName. Previously this was buildFolder\src which caused a "multiple definition" error during some compilations
  • Visual Studio: "Project>Show Sketch Core and Library Sources" library sources are now displayed recursively in the project explorer
  • Ti, cc3200 platform.txt, uploader command name added

New in Visual Micro 14.11.1901 (Nov 20, 2014)

  • Add/Import Library no longer collapses the solution explorer
  • Removed obsolete prompt ('master sketch not found') when adding/importing a library
  • Full support for third party hardware that shares definitions with the arduino 1.5 core (such as Pululo)

New in Visual Micro 14.11.1400 (Nov 19, 2014)

  • All builds refreshed with a fix for some intellisense errors in Visual Studio 2012 and 2013
  • Burn boot loader via COM port:- failed if a sketch compile or upload attempt had not been made in the current session

New in Visual Micro 14.07.10 SP7 Beta (Nov 19, 2014)

  • Library header files discovery - If the same header.h exists in two different libraries. The first library that is resolved will be used. Reminder: Library resolution can be controlled by the order of #included headers. Alternatively #imports can be prefixed with a library name. Libraries that contain a matching #imported LibName.h will be resolved first.
  • Mass rollout/install instructions for enterprise/educational users. Includes auto-activation license keys + ability to configure any Visual Micro config option at global machine scope http://www.visualmicro.com/page/Installing-and-activating-for-ALL-USERS-Mass-Ins...
  • Tighter Atmel studio SDK integration
  • Implemented Atmel Studio "Show all sketch core and library files" (core and libraries). This already worked in VS but not As6. Allows Arduino core and libs to be linked to the project (with auto update). Also includes facilities to remove items again. Linked sources wil be located in src/sketch-api-readonly. note: Import sketch-api coming soon.
  • Show/Import is also available for native Gcc projects but toolchain locations must be manually configured (next release will include optional auto-config of toolchain properties and facility to easily see what toolchain options are required for a succesful Gcc compile based on the selected Arduino hardware)
  • "Project>Add/Import Arduino library" to native gcc projects that have imported or linked Arduino sources
  • Debugger attempts to auto-discover if a sketch is already using the serial at a different speed to the Visual Micro default of 115200. If discovery is successful then Visual Micro automatically uses the discovered speed. Otherwise users must still set the speed via "project properties>remote speed"
  • Edited sketches are saved to the recently used files on the Atmel Studio Start Page
  • Third party hardware architecture specific libraries are combined with, but take priority over, other architecture specific libraries of other related ide packages. For example: the "Pololu A-Star" will support Ide/avr libraries with the SoftwareSerial override that is installed with the custom hardware core found here
  • Custom hardware:- Programmers list is combined with the matching core architecture programmers.
  • Tools>Visual Micro> "Auto hide boards list" and "Auto hide ports list". Normally Visual Micro tool bars can be hidden/displayed by users via a right mouse click. These two optional new settings cause Visual Micro to only display the tool bars when an Arduino sketch is open. Useful for hard-core gcc developers that rarely use Arduino but have Visual Micdro installed
  • Coming soon. Import Arduino sketch, core and/or library code into native Gcc project.

New in Visual Micro 14.07.10 SP5 Beta (Nov 19, 2014)

  • Prevent warnings in Atmel Studio switching between SAM and AVR
  • Support Atmel Studio ArmGcc project format as alternative to AvrGcc
  • Atmel Studio 'File>New>Project' and 'File>New>Project>Visual Micro' include alternative 32 bit projects (use with Arduino Due)
  • Rebuild Atmel syntax color code registry keys if missing when the Ide starts. Allows for automated mass role out to many users and also prevents AS6 from destroying our keys!)
  • New build property (mainly for intellisense) allows custom hardware to override mcu device name in Atmel Studio {board.mcu.name}
  • note: know crash workaround in atmel studio when switch hardware in CMSIS projects
  • Fixed annoying messages in Atmel Studio when using Teensy 3.1 boards

New in Visual Micro 14.07.10 SP4 Beta (Nov 19, 2014)

  • Tool chain tools/command locations added to runtime PATH along with Arduino Ide path. Both paths take priority which prevents programs like winavr causing compilation errors for Visual Micro.
  • Build variant support for drill down to alternative core (ie: arduino:leonardo) http://www.visualmicro.com/forums/YaBB.pl?num=1411754767
  • Atmel Studio no longer shows unknown processor warning when a teensy 3.1 project is opened. (note: Existing projects require switch to any other board and then back to teensy 3.1 again to resolve this issue)
  • Sketch names that contain a '.' are now supported subject to the tool chain supporting the naming convention. (not really allowed for arduino but the arduino ide seems to build okay so we should!)
  • Serial Monitor Encoding switched from utf-8 to 1252
  • fix: Arduino 1.5.x 3rd Party Hardware now resolves manufacturer:core correctly in all situations
  • Project defines support {build properties} merge fields
  • Arduino 1.5.7 compile and upload paths force Arduino folder as a priority in the PATH statement (only affects the current process does not write back to global pc settings)

New in Visual Micro 14.07.10 SP1 (Nov 19, 2014)

  • add: {serial.port} config variable provided to hardware programmer upload for Arduino as ISP
  • add: support {runtime.platform.path} config variables
  • mod: Serial viewer encoding from ascii to utf-8

New in Visual Micro 14.07.10 (Nov 19, 2014)

  • Fix: Contributed/User library compiler error for some users 'The given path's format is not supported Exception' c:\avr
  • Support for Arduino versions up to and including 1.5.7
  • Support for avrgcc8
  • Better verbose messages for compiler -I includes and library location discovery
  • Verbose compiler messages and/or warnings switches are now available from both "Tools>Visual Micro" and "Tools>Options"
  • Debugger break point "Hit Count" "Equal To" will now execute only once.
  • Fixed some confusion in the last beta regarding break point "When Hit" handling.
  • Compiler error pre-processor offsets + headerCount is now consistently used to resolve .ino/.pde source locations (Previously errors in code towards the end if a .ino file resolved to the wrong .ino/.pde file)
  • The correct .ino/.pde source code names and line numbers are automatically resolved (where applicable) for compiler error:- "Error : In function 'void foo()'"
  • Ignore obsolete 'options>tool chain locations>avr' for arduno 1.5.x uploads. Entering a location caused an avrdude upload error 'can't open config file "path": Permission denied'
  • The Arduino Due gets it's first programmer (beta)!
  • Atmel Studio - Support the new ATMEL-ICE programmer for SAM and AVR (beta)
  • Closing and then re-opening the same project/solution without re-starting the ide caused visual micro to become temporarily disabled (bug was only in 1406.16 beta)
  • Added support for pre-arduino 1.5 libraries that contain the new format Arduino library.properties file
  • Change - When debug Trace Mode is Off, Disabled breakpoints will continue to display debugger trace and messages, When Trace Mode is On, messages for disabled breakpoints will not be displayed. (the vs breakpoint dialogs do not provide enough facilities for Visual Micro, so we have tried to find the most useful combination. Feed back welcome as usual)
  • Debugger will always break/pause unless in "Trace Only Mode" or a break point has a "When Hit Message/Expression(s)" with "Continue Execution" ticked.
  • More reliable notification when the Arduino is stopped at a break point (in Break/Pause waiting for F5)
  • Shift+F5 to stop debug or click the blue square icon on the serial ports bar
  • F5 can no longer be used to stop debugging. F5 will only step when the debugger is active it will never prompt to build.
  • Fixed the debugger failing to start fully when reconnect was Off
  • In Automatic Debugging mode any configuration with a name that does not contain the text 'Release' will start the debugger after compile and upload.
  • Added "Debugger has been activated" message to the serial window when debugging starts. Previously the serial window just showed the usual "Port Open" which could be confusing for new users
  • New users defaults: Trace Only Mode = Off, Tutorial Mode = On, Automatic Debugging = On.
  • Trace Only Mode - Replaces the Enable Break/Pause project property. Defaults to Off, allowing breakpoints to break/step
  • Fix - Serial window correctly resets after upload
  • Fix - Incorrect build output was copied to Atmel Studio configuration build folder
  • Fix - Arduino Due debug with Native USB port
  • Change - Automatic debugging will only debug when the configuration name does not contain the text "release" (previously all configurations allowed debug including Release, this was confusing and prevented simple non-debug F5 upload)
  • New - Stop button (red dot) appears on the Serial Port tool bar when debug starts. The button is a quick way to terminate debug
  • Change - Only the F5/Debug command will now "Continue" at a break point. All other "build" and "debug" commands will stop the current debug session (where applicable).
  • Fix - A Visual Studio bug caused some menu items to be duplicated for some users. This affected the debug and help menu. The items have been removed or moved.
  • Fix - Some optimizations where failing during editing of sketches. This might have impacted slower pc's by causing more cpu usage then needed
  • Fix - Status bar highlighting and the "F5 Continue" message disappeared from the status bar too quickly and could be missed by users.
  • Fix - Prevent 'Upload via programmer' from resetting the serial terminal (if it is open)
  • Updated support for all micro-controller versions
  • More intelligent diagnostics with auto-fallback
  • Fix - Port discovery error stuck in loop (if a Yun was connected and no ide application paths where configured)
  • Support for lm4f and msp40 in Energia Ide released Mar 2014
  • Application locations - Warning if invalid location is specified (forum)
  • Application locations - Ensure valid folder provided by user, ignore .exe file name in paths (forum)
  • Extended verbose messages during upload
  • fix - #includes in comments are ignored
  • 'Help>Visual Micro Documentation' menu item with alpha of new help system
  • Menu Icons use less memory
  • Improved upload error reporting
  • Debugger breakpoint/trace throttle delay is now factored by PC Cpu speed
  • Bitmap for Atmel new project templates
  • Installer configured color syntax for Vs versions in line with Atmel Studio
  • Installer prompts for .net 3.5
  • Compiler errors in .ino sources displayed incorrect line numbers (drill down into source code was correct)
  • Windows wmi database errors are silently ignored until the database is repaired. then it will be used again
  • Improved status messages
  • Verbose compile reports #included paths
  • On-screen warning and additional diagnostics if the Ide application list can not be loaded from the installed Visual Micro files. Usually a virus checker preventing install or access to "micro platforms/applications.txt"
  • Users with a corrupted wmi database were unable to load Visual Micro. The windows wmi database should be fixed using advice from Microsoft however we only read from it and we can work without it!
  • Arduino versions up to 1.5.6 and 1.0.6
  • Atmel Studio 6.1/6.2 and Visual Studio Pro 2008>2013
  • Support for #import
  • Include paths contains root libraries folder
  • More intelligent library compiler cache
  • Faster compiler
  • Faster debugger
  • More trace diagnostics reports such as Port and Library discovery
  • New icons
  • Atmel New project templates (same for vs coming soon)
  • Better intellisense and support for custom hardware (1.0.x and 1.5.x)
  • Galileo high speed compiler
  • More robust syntax color code
  • Fix, existing users had to uninstall the previous release and then install 1403.03 before Atmel Studio 6.2 was configured correctly.
  • Support for custom boards with bootloader.hex files stored in bootloaders root (sparkfun MegaPro).
  • Installer refresh which failed to register Visual Micro for Atmel Studio 6.2
  • Support for Atmel Studio 6.2
  • Atmel Studio new project templates
  • Arduino 1.5.6-2 + all lib formats
  • Debugger hit count bug fixes
  • TI LaunchPad Stellaris compiler bug fix
  • Many other fixes will be posted in the new releases section of the forum
  • Atmel Studio options to use Jungo Usb drivers with programmers (JTAG ICE3, AVRISP MkII)
  • Large improvements for MpIde, Pic32 and ChipKIT. Intellisense and compiler fixes/additions. Much of the Pic32 lower level sources are now available to intellisense.
  • Mpide Arduino and Pic32 will include -l the SketchFolder for both intellisense and compilations. This allows #include from the current sketch folder as an option instead of #include "foo.h" . Mpide supports this but the Arduino Ide does not. So Visual Micro does either depending on the selected Ide.
  • Tools>Visual Micro - Menu changes and additions:
  • New items - Quick access to existing global options, some items renamed
  • New - "Tools>Visual Micro>Tutorial Mode" places additional messages around the UI to help new users
  • New - Verbose compiler and compiler warnings can be enabled via the Tools>Visual Micro menu.
  • Dis-assembly View:
  • Added double click Go To source in the dis-assembly view
  • Resolve temp folder paths to sketch path
  • Resolved sketch.cpp line numbers and file names to the correct .ino/.pde sources
  • Resolve gcc format line numbers (:line) to Visual Studio (line)
  • Added support for all platforms (including All Arduino, Teensy, SAM, Intel, ChipKIT, LaunchPad, FraunchPad etc)
  • Changed default obj-dump switches to include source line numbers -l. The default is now " -h -S -l"
  • Tip: Alternative obj-dump switches can be specified in the project properties. -D is useful but might be slower to calculate the report (all)