IOT: Arduino Micro with Windows 10 Virtual Shield
Life is weird right? I am still having difficulties in how to describe how to use the Windows 10 Virtual Shield. I have been describing it as a way to get the information from your Arduino, and it is. Also it makes your Windows 10 phone act like a display for your Arduino, and if you get the super inexpensive, but not cheap Lumia 635. You can get one from Amazon for $36 plus delivery (unless you have prime of course). The Windows 10 phone acts as shield, providing access to a number of the sensors in the phone, which depends on your phone right? The 635 is not a feature rich phone, but it does have an accelerometer, touch display and so forth.
In the next few blogs, I will be focused on toys, etc. in this blog I will talk about the fact that you do not have to stick with the Arduino Uno, I have tested it on the Arduino Micro, and works correctly.
Setting up your phone, right now, starts on the Microsoft GitHub site, you will need to have Visual Studio 2015 community, not Visual Studio Enterprise on your system (there appears to be a bug that I am investigating, slowly). You will need to compile and install the shield app on your phone, if you haven’t done this before, good, Windows 10 Phone has some problems. So I will let you work through those difficulties, before I start in with the Arduino Nanos which are extremely cheap and should work with the Shield.
What’s the goal here? Simple, build a Bluetooth LE (or Bluetooth Smart) device that costs less than $25 US 2015. The Nano is available for around $8 US 2015 and I will need to investigate Bluetooth LE devices, but there are a number for less than $15 US 2015. Now this device will be less than $25 US 2015, if and only if, you do some soldering, etc.
The Arduino Micro clearly works, but it is expensive at around $40 US 2015 or more. The Arduino Micro also has an internal UART which means you don’t have to remove the Bluetooth LE TX/DX wires like you do when programming the UNO.
Arduino Micro, Bluetooth LE, Windows Phone 10 running Virtual Shield
Nothing to really email your parent or parents, but the fritz schematic and wiring diagram are below this image.
Couple of things to note:
- You have to use the Virtual Shield in Visual Studio 2015 Community, get this at:
- Windows Virtual Shields for Arduino (Universal Windows App)
- You may encounter a problem in connecting with the Windows 10 Phone from Visual Studio 2015 Enterprise (Community works correctly)
- On the RN-42 Bluetooth Device,the blinking red light switches to solid green when connected to the phone, this consumes power
Now the Blah, Blah, Blah…
This is a simple test rig that shows you how to test various circuits and software. You will need to download the samples. If you are like me, you have several configurations of Arduino devices laying about, use this blog to implement a few circuits and software. Have fun.
How To Download These Samples
The easiest way to download these samples is to navigate to the GitHub repo ms-iot/samples by clicking here, and then click on the Download ZIP button on the right-hand menu. Once you download and unzip the file locally, you will be able to see all the samples.
If you have followed all of the instructions carefully, it is likely you encountered some frustration. I did. Once you have everything set-up, I believe that all of the Atmel Arduino based devices should work with this. My proof of this is that I got not only the Arduino UNO work, as specified, I have also got the Arduino Micro to also work using the same instructions. The same instructions with exception: You will need to run your Arduino Sketches as Micro not Uno.
Work through the samples and see if they work with your Arduino device. I have not tested this with Texas Instruments Launchpad devices. Saying that, the Texas Instruments devices can be secured on chip, the Atmel chips cannot meet the high level of the Texas Instruments crypto capabilities. Also the Texas Instrument memories systems can be read/write far more times than the Atmel equivalent. But we all use the Atmel based Arduinos so let’s continue using them.