Arduino Community Joins Visual Studio Community

by Visual Micro 30. May 2015 16:44

Micro-controller circuit board manufacturers Arduino, Sparkfun, Adafruit and the entire community have joined together to make installing and programming micro-controllers much simpler. Previously different files and instructions had to be discovered from various places on the web, then downloaded and installed.

Arduino.cc have designed and included a tool in their development software called a 'Boards Manager'. The Boards Manager provides a simple way to see and install available hardware. The hardware is discovered from .json file(s) that are located under the arduino ide folder. The files contain definitions for avr and sam (arduino uno, arduino due boards)

The Boards Manager is supported with a free respository (managed by arduino.cc) that enables any software author to register (and make available for programming) packages of hardware and software tools.

Arduino have been bold and allowed competitive hardware manufacturers to also use the system, this provides a great facilioty for us all! Therefore, the facility also exists to add additional urls of package.json files that contain the software tools to build programs for different types of Arduino compatible hardware. This can be Arduno clones or entirely different hardware. For example sparkfun boards, adafruit boards, intel boards or the new esp8266 $5 programmable wifi server.

For more information about how to add your own .json urls please see the viaual micro "Ide locations configuration window" or the "arduino ide" file>preferences window. Both Visual Studio, with Visual Micro installed, and the arduino ide use the same system. Some arduino.cc approved thrird party urls are located on ths page

The list of urls shown at the bottom of this page result in the ability to install any of the hardware (and more) shown below. A clever design by Arduino.ccFederico Fissore and the community.

Microsoft Visual Studio management tool for Arduino Community hardware

 

Differences between Arduino in Visual Studio and Atmel Studio

by Visual Micro 26. May 2013 16:12

This document is designed to be my own personal observations of note worthy functional differences between the development of Arduino programs in Visual Studio and Atmel Studio.

Both Visual Studio and Atmel Studio provide indentical Arduino compile, upload and debugging features.

Visual Studio Pro has more features for advanced users and if you already own a copy of Visual Studio it would be prefered.

Visual Studio 2008 and 2013 both open quickly and provide high speed intellisense (not perfect but good)

The plugin for Atmel Studio is currently lacking a few minor features such as "project>show all arduino files". This feature is very useful for explore library sources within the project and also aids the class explorers.

Atmel Studio lacks some of the customization features of Visual Studio such as macros.

Visual Studio "disables" source code based on #defined conditions, this is very useful but can also be fustrating because it also disabled intellisense within the disabled code. Atmel Studio does not do this.

Visual Studio intellisense code suggestions are more accurate. Example: you will see Serial,Serial1 etc for mega 2560 and just "Serial" for Uno, Atmel will show Serial,serial1 etc for all boards.

Atmel Studio has the simulator and various other tools.

Visual Studio intellisense understands only C++, Atmel Studio is naturally aware of the micro-controllers native language.

Visual Studio provides web authoring tools within an Arduino sketch project for web based boards such as the Yun (both Ide's support web/network compile and upload). Visual Studio Express or other web design tool can be used so this is not a huge weakness for Atmel Studio.

Atmel Studio is knows about its own micro-controllers and might have a brighter future than Visual Studio for Visual Micro

Visual Studio is required for other "non-atmel" architecures such as Energia and Chipkit

Arduino Visual Studio User Interface Images

by Visual Micro 7. October 2011 15:25

The Visual Studio Tools menu will automatically enable and disable when an arduino board or xbee is connected. We can override arduino programmer settings from within visual studio

Arduino Visual Studio Tools Menu

The Visual Studio "Tools" menu example below is taken from a machine that did not have a connected serial port.

Various arduino command are added to visual studio in all relevent positions such as the Standard Tool Bar shown below

Arduino Visual Studio Create New Arduino Project Using the Visual Studio Standard Tool Bar

The Visual Studio Tools menu allows an arduino board to be selected for a visual studio project as does the boards list on the tool bar

Arduino intellisense in Visual Studio is fully available and automatically built from any arduino sketch

Arduino Visual Studio Intellisense for the Selected Arduino Board

Multiple sketch projects in a single solution are fully supported. F5 will compile and upload the Visual Studio "Start Up" project. Board and Serial port can be selected for each sketch project.

Arduino Visual Studio Multiple Sketch Projects in a Single Visual Studio Solution

Ultra fast intelligent visual studio arduino compiler

Arduino visual studio ultra fast arduino compiler

 

Unlimited serial viewers in Visual Studio auto pause and re-start during upload to an arduino board. All arduino and user conditional compiler directives are fully visible as you code

Unlimited serial viewers in Visual Studio auto pause and re-start during upload to an arduino board. All arduino and user conditional compiler directives are fully visible as you code

Arduino for Visual Studio Basic Setup

by Visual Micro 4. October 2011 06:29

April 2014: Please see our new documentation for a better install and first time user guide

existing user? recent fixes and additions

After installing Visual Micro you will be prompted to enter the location of an Ide, such as the Arduino 1.5.x Ide. This is all there is to setting up Visual Micro.

The Ide location(s) can be re-configured at anytime by clicking "tools>options>visual micro" or by clicking "<Configuration Manager>" in the tool bar applications list. Ide re-start is not required when changing these locations. 

There is also a large number of optional configuration properties described in the wiki.

First Time User Guide

  • Install the arduino software from arduino.cc
  • Close all Ide's!!
  • Install the Visual Micro software
  • Run the Visual or Atmel Studio ide, you will be prompted to enter the location of the arduino ide
  • tip: in the arduino location prompt there is a link to download Arduino if it is not already installed
  • Register .ino (and .pde) files for color coding by following this article (not required for Atmel Studio versions)
  • Got a problem with the install? Please join the forum we want to help. Thanks

How to set the Arduino ide location

With so many Arduino Ide variations it makes more sense to allow for multiple Ide apps to be support in a single Visual Studio or Atmel Studio instance. The "Application Manager" provides a simple tool to specify the locations of the various Arduino Ide's that are installed on your computer.

tip: The 1.0.x application can also be used for arduino versions older than 1.0

One way to set ide application locations is by using the "Application Ide Locations" property under "tools>options>visual micro" shown below

How to configure the arduino (or other) ide location

Another options is to use the <Configuration Manager> accessed via the Applications toolbar list 

How to configure the arduino (or other) ide location via the toolbar

The remainer of this document explains a few basics and how to test your install, create or open and then compile and upload...

When testing a new installation of the Arduino IDE for Visual Studio, to avoid confusion, the Arduino/Sketch commands (such as file>new>sketch project) should be used in preference to standard visual studio commands.

If you are new to both Arduino and to Visual Studio then you MUST use the Arduino commands because you won't know the Arduino rules. You will see that the Arduino commands have an Arduino icon next to them.

The following are a few ways to test your Arduino for Visual Studio installation (similar to getting started guide)

Method A - Create new arduino sketch (automatic mode)
 
Open visual studio. From the "File>New" menu select "Arduino project". When prompted, enter the name of a new arduino sketch such as "MyFirstSketch". Click OK
 
You should see a new arduino project is created containing an arduino sketch called MyFirstSketch.pde
 
Add your own arduino code to the void loop() {}
 
Select an arduino board from the list and click "Build Solution" from the "Project" menu


You should see a successful arduino compile in the "Sketch Build" output window


Tip: The same functionality is available from the Visual Studio "Standard" tool bar and also the "Solution Explorer" context menu


Method B - Open an existing sketch (automatic mode)

In visual studio select "File>Open" then click "Arduino Project". You will be presented with an "Open File" window which will display your arduino sketch folder. Select a sketch and click OK.

A project will be automatically created for the sketch and the arduino source codes automatically added to the project.

Add your own arduino code to the void loop() {}

Select an arduino board from the drop down list of boards and click "Build" solution from the "Project" menu

You should see a successful arduino compile in the "Sketch Build" output window

Method C - Open an existing sketch (semi automatic mode)

In Visual studio selected "File>Open>File". Navigate to an arduino sketch folder and select a .pde file. Click OK

You will be asked if you would like to Open or Create a project for the arduino sketch. Click OK.

Add your own arduino code to the void loop() {}

Select an arduino board from the drop down list of boards and click "Build" solution from the "Project" menu

You should see a successful arduino compile in the "Sketch Build" output window

Method D - Creation of a new arduino project (manual mode)

In Visual Studio create a new empty C++ project called "MySketch3" in a folder called "MySketch3"

Add a new text file to the project and call it "MySketch3.pde"

Add your own arduino code to the void loop() {}

Select an arduino board from the boards list

Select an arduino board from the drop down list of boards and click "Build" solution from the "Project" menu

You should see a successful arduino compile in the "Sketch Build" output window


This product is not "associated to" or "endorsed by" Arduino. The design of the sketch compiler and uploader is directly based on the arduino source code

How to reset the arduino visual studio interface

by Visual Micro 1. October 2011 19:11

October 2015 - To uninstall the "Extension" version of Visual Micro, open the Ide and click "Tools>Extensions & Updates". Visual Micro can be uninstalled from the list then re-start the Ide.

The following applies to the older version of Visual Micro which is now obsolete ...

NOTE: In Visual Micro versions 1308.18+ click "Tools>Visual Micro>Reset User Interface" instead of following this guide 

The old way or for uninstall ...

After installation sometimes some Visual Micro menu commands do not appear or Visual Micro menu /buttons commands appear multiple times. In this case you should close Visual Studio and re-start after ensuring that all "devenv.exe" processes have been terminated using "Windows Task Manager".

If the problem persists you can force the addin to repeat the Visual Studio procedure.

This is done by performing a reset on the addin/plugin as described below. A "reset" removes all Visual Micro commands from Visual Studio so that after a clean start all the commands are setup in the correct way. If you have uninstalled the addin then after the re-start the commands will not re-appear.

Visual Studio (devenv.exe) provides a standard '/resetaddin' addin switch that can be used to easily reset or remove any addin. You will see in the example below that the /resetaddin switch required a key to identify the addin that is to be reset. The Visual Micro key is 'Visual.Micro.Visual.Studio.Arduino.Helper'

To reset the arduino addin, run visual studio (devenv.exe) with the same paramaters as your "Visual Studio" application short cut passing the following /resetaddin command.

[path to devenv.exe] /resetaddin Visual.Micro.Visual.Studio.Arduino.Helper

Atmel Studio [path to atmelstudio.exe] /resetaddin Visual.Micro.Visual.Studio.Arduino.Helper

If the above fails then please follow the guide below:-

Depending on your security settings you might need to run Visual Studio as Administrator to either install or reset the arduino addin

  • Close all IDE instances.
  • Open a Visual Studio .NET Command Prompt ("Run...", "Programs", "Visual Studio .NET", "Visual Studio .NET Tools", "Visual Studio .NET Command Prompt")
  • Enter "devenv.exe /resetaddin Visual.Micro.Visual.Studio.Arduino.Helper" (without the quotes) and press ENTER
  • Close all IDE instances.
  • NB: Microsoft have changed visual studio. The command  prompt might now be available in the microsoft power tools extension 

    If you have uninstalled the addin then a reset will clean the Visual Studio interface removing customisations the addin makes during setup. After uninstall only the two arduino toolbars will remain which can be manually removed from Visual Studio using each tool bars' the right click context menu.

    Using the arduino boards menu in visual studio

    by Visual Micro 11. April 2010 13:59

    The visual studio tool bar provides a way to select which arduino circuit board each project will use

    When a board is selected, all of the items in the "_core" filter are removed and replaced by the files from the newly selected boards arduino core

    If the _core filter does not exist then it is created. In the example below, the board is about to switch from "atmega168" to "arduino mega"

    In the current visual micro version the include and source files are automatically separated into "inc" and "src" filters (see below)