Program Arduino in Visual Studio Code
Written by Harry Fairhead   
Friday, 07 July 2017

Microsoft's Visual Studio Code extension for Arduino, which provides an easy way not only to code, build and deploy Arduino sketches but also to debug them, is now open source under the MIT Licence. This is just part of the Microsoft's ongoing commitment to IoT developers.


According to Zhidi Shang, who announced the new open source status of this toolkit, prior to embarking on work on it, the Visual Studio IoT Tolling team did some research.

"[We] interviewed many developers to learn about their pain points developing IoT applications, and found that of all layers of IoT, there are abundant dev tools for cloud, gateway, interactive devices, and industrial devices, but limited availability and capability for micro-controllers and sensors. In particular in MCU domain, there are millions of Arduino developers demanding advanced features to make their development with device easier."

In light of this finding, the Shanghai-based team set out to add an extension to Visual Studio Code, Microsoft's open source, cross-platform code editor, intended to provide a good development experience for Arduino developers. This is almost fully compatible and consistent with the Arduino IDE, which is required be be able to use it. The "IntelliSence" advantages it offers include syntax highlighting and auto code completion. It also has on-device debugging for supported boards.

Visual Studio Code extension for Arduino has been in preview since April. It supports Arduino IDE 1.6.x and later, but not the Windows Store version of Arduino IDE, because of its sandbox environment.

The latest version, 0.2.4 has an updated license and legal compliance fixes for open source. This adds to the following functionalities: 

  • IntelliSense and syntax highlighting for Arduino sketches
  • Verify and upload your sketches in Visual Studio Code
  • Built-in board and library manager
  • Built-in example list
  • Built-in serial monitor
  • Snippets for sketches
  • Automatic Arduino project scaffolding
  • Command Palette (F1) integration of frequently used commands (e.g. Verify, Upload...)
  • Integrated Arduino Debugging

Debugging was added in Version 0.2.3 and a sample debugging session is documented on the IoT Developer blog in a step-by-step example. This uses the Microsoft Azure IoT Developer Kit, an Arduino compatible MCU board also known as the MXChip IoT Developer Kit (aka DevKit) that made its debut at Build 2017.


Currently in preview DevKit is intended be used to develop and prototype IoT solutions leveraging Microsoft Azure services and you can request one by filling in a contact form.

Although the DevKit is described as Arduino compatible it also has an edge connector which is compatible with the micro:bit in the sense you can use micro:bit addons. In many ways the fact that it has a small display, accelerometer, magnetometer and other built in sensors also makes it more like the micro:bit however it is programmed using the Arduino system. If it ever makes it to market it could be a really interesting device. 

So Microsoft is continuing its commitment to both Arduino and the IoT.




Pgai Brings Your ML Workload To The Database

Extensions like pgai are targeted at the "AI Engineers", a new breed of developers who unlike researchers are concerned with practically applying AI (models, tools, and APIs) to build software.

Does AI Copy Code - Lawsuit Says No

Are we worried about AI code assistants? Well some of us were worried and offended enough to take GitHub/ Microsoft and Open AI to court over code copying by GitHub Copilot. But the judge came down on [ ... ]

More News

kotlin book



or email your comment to:

Last Updated ( Friday, 07 July 2017 )