Uno Wifi Rev 2 (R2) in Visual Studio (VS) using vMicro

I purchased a Uno Wifi Rev 2 (R2) and have gotten it to work via coding in the Arduino IDE. But I would like to get it working via coding in Visual Studio (I have been using Community 2019 for programming my old Uno), but I get a bunch of errors upon compiling the same exact program in VS that I compiled/uploaded successfully in the Arduino IDE. Has anyone been able to successfully compile/upload the program below via VS?

 This example connects to an unencrypted WiFi network.
 Then it prints the MAC address of the WiFi module,
 the IP address obtained, and other network details.

 created 13 July 2010
 by dlf (Metodo2 srl)
 modified 31 May 2012
 by Tom Igoe
#include <SPI.h>
#include <WiFiNINA.h>
//#include "arduino_secrets.h" 

 ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
char ssid[] = "mynetwork";        // your network SSID (name)
char pass[] = "mypassword";    // your network password (use for WPA, or use as key for WEP)
int status = WL_IDLE_STATUS;     // the WiFi radio's status

void setup() {
	//Initialize serial and wait for port to open:
	while (!Serial) {
		; // wait for serial port to connect. Needed for native USB port only

	// check for the WiFi module:
	if (WiFi.status() == WL_NO_MODULE) {
		Serial.println("Communication with WiFi module failed!");
		// don't continue
		while (true);

	String fv = WiFi.firmwareVersion();
		Serial.println("Please upgrade the firmware");
		Serial.println("Current version: " + fv);
		Serial.print("Latest version: ");

	// attempt to connect to WiFi network:
	while (status != WL_CONNECTED) {
		Serial.print("Attempting to connect to WPA SSID: ");
		// Connect to WPA/WPA2 network:
		status = WiFi.begin(ssid, pass);

		// wait 10 seconds for connection:

	// you're connected now, so print out the data:
	Serial.print("You're connected to the network");


void loop() {
	// check the network connection once every 10 seconds:  

void printWifiData() {
	// print your board's IP address:
	IPAddress ip = WiFi.localIP();
	Serial.print("IP Address: ");

	// print your MAC address:
	byte mac[6];
	Serial.print("MAC address: ");

void printCurrentNet() {
	// print the SSID of the network you're attached to:
	Serial.print("SSID: ");

	// print the MAC address of the router you're attached to:
	byte bssid[6];
	Serial.print("BSSID: ");

	// print the received signal strength:
	long rssi = WiFi.RSSI();
	Serial.print("signal strength (RSSI):");

	// print the encryption type:
	//byte encryption = WiFi.encryptionType();
	//Serial.print("Encryption Type:");
	//Serial.println(encryption, HEX);

void printMacAddress(byte mac[]) {
	for (int i = 5; i >= 0; i--) {
		if (mac[i] < 16) {
		Serial.print(mac[i], HEX);
		if (i > 0) {

Did want to point out that the vMicro in Visual Studio seems to be complaining about not being able to find the files within the WiFiNINA directory, but the files are all there. Perhaps it is looking in an unexpected area? Here's an example of the errors:

error*: WiFiNINA\WiFiClient.cpp:1:-1: No such file or directory
error*: WiFiNINA\WiFiServer.cpp:1:-1: No such file or directory
error*: WiFiNINA\WiFiUdp.cpp:1:-1: No such file or directory
error*: WiFiNINA\utility\spi_drv.cpp:1:-1: No such file or directory
error*: WiFiNINA\utility\wifi_drv.cpp:1:-1: No such file or directory

@swabygw, your topic has been moved to a more suitable location on the forum. I'm not sure why you think that this relates to avrdude, stk500 or bootloader.

I'm not familiar with anything from your post (no idea how VS/vMicro determine the path).

What is there? That might be useful information for others to help you.

Thanks for the response. I found the issue - the vMicro Board had to be changed within Visual Studio and it compiled successfully. This topic can be closed.


You can tick the solution checkbox under the most useful reply ( yours :slight_smile: ) so others that encounter the same problem and search for it can see that it is solved and a solution is provided.