Frequently Asked Questions

General

Does Visual Micro stop working after the evaluation period?
After the Full Free Trial has expired the product needs to be purchased.

What is the Pro version?
Since May 14th 2018 there is no longer the concept of Pro. All features are available to all users. Legally licenced users also do not see the @once per day@ nag screen, do not have to update once per year and receive priority forum support. Legally licenced users help to ensure that this software can be maintained.

Can students buy Visual Micro cheaply?
All pricing is now at our reduced rate for all users ensuring its as accessible as possible to all.

Does editing my programs with Visual Micro alter any of my core or library sources?
Can I still program my code with the Arduino Ide after using Visual Micro?
Visual Micro does not change any source code! The code remains the way it was authored and will work as designed in either Visual Micro or the Arduino Ide

How can I find the version of Visual Micro that is currently installed?
The current version can be found by looking at Tools>Options>Visual Micro>Version. The Service Pack level is also shown below the version number.

Can Visual Studio and Atmel Studio be installed on the same computer?
Yes, all versions of Visual Studio and Atmel Studio can coexist on the same computer without causing any issues.

Compatability

Does Visual Micro work with Visual Studio Community / Enterprise / Professional?
Yes, Visual Micro works with all versions of the Visual Studio product for Windows Machines.

Does Visual Micro work with Visual Studio for Mac?
Sadly the Visual Studio for Mac is a different product which does not support the C++ programming environment required for Visual Micro.

All Visual Studio and Atmel Versions - Interface

I see duplicate toolbars or duplicate toolbar icons (Visual Studio 2010 and Atmel Studio 6.x only)
Some versions of Visual Studio/Atmel Studio have bugs in this area.
You can simply fix this with the Tools > Visual Micro > Reset User Interface menu command.

Visual Micro modifies the text formatting of my code and don't like the result

Visual Micro itself does not modify your formatting, it's your IDE, either Visual Studio and Atmel Studio, which does this.

Both IDEs have integrated formatting functions, which you can configure:

  • For Visual Studio: Choose the Tools > Options... menu command, then go to the Text Editor > C/C++ > Formatting section.
  • For Atmel Studio: Choose the VAssistX > Visual Assist Options... menu command, then go to the Corrections section.

Missing Toolbars and menu options such as "File>New>Sketch Project"?
Click the "Tools>Visual Micro>Reset User Interface" menu. Doing so will re-start the Ide and repair the Visual Micro user interface controls.

Hardware / Drivers

Silon Labs USB/Serial
Silicon Labs CP210x version 10.1.x usb driver does not work correctly with managed (safe) .net serial ports. Please use CP2010x version 6.x usb driver which should be available in 'device manager > cp210 > change driver' or download from Download CP201x V6.7.5 driver froms silabs.com 

Visual Studio 2017 Only

Due to a Visual Studio 2017 bug, to use "vMicro>Toggle>Hidden Files" the solution explorer must not be in "Show all files" view. Furthermore, Toggle files might not work correctly when first clicked, click again to remove the toggled files and then click it again to see a correct list of hidden linked sources codes (below project\src\_micro-api-readonly)

Atmel Studio 7

The AS7 installer can be an issue if other visual studio versions are installed. In this case, install Visual Micro from within the IDE via "tools>extensions and updates"

Usage Information for All IDE's

Can projects use their own copy of libraries?
Yes, shared Arduino library projects can be easily created from any Arduino library. This simply means adding a Visual Studio libname.vxitems file and then adding a 'Referenes>Shared Project' to any Arduino project. Shared projects are a standard facility of Visual Studio and enable one or more projects to share a specific version of any library located in any location. When editing Shared Libraries, Visual Studio automatically shows cross-platform intellisense based on the board of the "Startuop Project" in the current Solution. Visual Micro provides one click creation of Shared Libraries, see the checkbox on the 'Add Library' menu for an example.

Why is the text in the serial monitor trimmed?
This is a result of the current debugger. Switch the tool bar configuration to Release and then upload to see normal data with all white-space.

Why does F12 GoTo Definition goes to core/library .h but not .cpp/.c?
Use 'vMicro>Toggle Hidden Files' so that the sources are in the project. It is possible for Visual Micro to add code shortcuts for the normally hidden Arduino core to any project. The menu item 'vMicro>Toggle Hidden Files' can be clicked multiple times to add/remove these short cuts from the current project. The 'toggled' short cuts are to assist development and have no impact on the build process or underlying real project folder/code. Short cuts can be removed manually or using the 'Toggle' menu.

Why Do I See Intellisense Errors?
Intellisense and Build are two different systems. Visual Micro performs the build to Arduino spec. and Visual Studio manages intellisense based on pre-processor defines and include paths provided by Visual Micro. Intellisense is not always perfect but has improved with each Visual Studio version. VS2017 is recommended or Atmel Studio 7. When building with Visual Micro the intellisense is also updated so build any major changes (or new projects) to see the best possible intellisense picture. The Errors List window also provides controls to filter intellisense to "Open Documents" only and "Show Intellisense for Build Only"

A common confusion in .ino files is with user types that are passed to functions that are also in .ino files. In ths case, manually add prototypes between the user type and the function. Add prototypes with the same signature as the function for example: 

//define user types first

enum abc ...

//then define prototypes

void foo(abc arg1);

//lastly define functions

void foo(abc arg1) {

}

All Visual Studio and Atmel Versions - Installation & Build

Code syntax colors and intellisense not working in .ino and .pde source code

You can configure this manually by following this guide

Special note for Arduino Ide versions 1.6.0 and 1.6.1
For these two versions please configure the Arduino 1.5 application option in Visual Micro and NOT the Arduino 1.6 option

How to install Arduino DUE and Arduino ZERO

Does the Visual Micro installer alter any core Visual Studio or Atmel Studio files?
No, Visual Micro does not alter any of the ide program files. Visual Micro only installs its own files under the program files folder. It also adds a few new project templates which are usually located in 'mydocuments/vs_ver/project templates'

Does the Visual Micro installer alter any core Arduino Ide program files?
No, Visual Micro does not alter any of the Ide program files. The Arduino Ide is unchanged and is not used by Visual Micro except to confirm the Arduino Ide is installed and to read the 'configuration files/hardware' source codes

I have deleted files from my project, but they are still used in compilation

If you have removed a file from your project by pressing [Del] in the Solution Explorer, you had the choice to remove it from the project or to delete it from your hard drive. If you choose only to remove it, it will still be part of the compilation.

Open Windows explorer and delete the file. If you want to keep it but exclude it from the compilation, simply rename the file extension, e.g. from "myfile.cpp" to "myfile.__cpp"


After making changes to my project, I get strange compiler errors or my sketch will not run correctly anymore, but I can’t find any mistakes in my code. What shall I do?

or

I have manually changed various library and/or core source codes and need to ensure a clean compilation

Sometimes, in advanced projects, changes to #defines or changes to library code require a clean build. This page describes how to perform a clean build.


When I try to create a new sketch or add an existing sketch, I get the message
"Unable to create an Arduino project for Atmel Studio"
This can occur when using Atmel Studio 6.2.
In this case, uninstall Visual Micro and reinstall it as an administrator by right clicking on Visual Micro's installer file and choose "Run as administrator".

When trying to build my sketch, I get the error message "'xxxx' was not declared in this scope", although xxxx is declared correctly
This problem may occur if two conditions are met:
1. You have used a C++ typedef as a parameter for a function definition
2. Your function is in an .INO file

Solutions:
1. Change this file into a .CPP file.
2. Avoid using typedefs as function parameters.
3. Switch off automatic generation of function prototypes (see here). Then your .INO files behave like .CPP files

I have problems with foreign characters like "ä" and "Д", and the original Arduino IDE handled them differently.
If you have such characters in your code, then you will notice that they will all be translated into the same three byte code 0xef 0xbf 0xbd in your compiled program.
This article explains how to repair this and gives you general advice about handling Non-ASCII characters.

I have renamed one of my .INO files and now the sketch does not compile anymore
This may come from the way how Visual Micro combines all .INO files into one big INO file.

Debugging

I have enabled vMicro Serial debugging but it does not work
Please keep in mind that the debugging system uses the serial port and expects a baud rate as set in Visual Micro. If your sketch code uses the serial port as well, then you must use the same baud rate as Visual Micro (in your Serial.begin() function call) or adjust Visual Micro 's baud rate to yours.

Visual Micro's default baud rate is 115.200, you can change the baud rate in the Project Properties (Local Speed and Remote Speed settings).

As an alternative, you can use separate serial ports for debugging and other communications (Read more)

Can I use the debugger to debug interrupt service routines (ISRs)?
yes, at least for certain ISRs this is possible. To make the debugger usable with ISRs, switch off the "throttle" function in the project properties .

Im having trouble with a GDB debugger

Are the correct .ino file and line numbers returned from reading a compiled .elf file with an external tool such as GDb debugger?
Yes, this relatively new Arduino feature was implemented in versions since May 14th 2018.

Can I debug Arduino core and library code with the usb debugger?
Not at the moment but individual core and library code can be temporarily copied into the project and then debugger. (tip: click build>clean after copying core/lib sources to a project so the compiler cache is dropped.