Get the DragonBoard Running Windows 10 IoT Core
The DragonBoard 410c from Qualcomm is available and now it’s time to get it up and running with Windows 10 #IoT Core and Universal Windows Platform apps.
The DragonBoard is based on the 64-bit, quad-core Snapdragon 410 processor running at 1.2 GHz with 1 GB of RAM and 8 GB of of internal storage. You get 1 micro USB and 2 USB 2.0 ports along with full sized HDMI and a micro SD card slot. Onboard connectivity and location support are provided by Wi-Fi 802.11 b/g/n, Bluetooth 4.1, and GPS. The Adreno 306 GPU with support for OpenGL ES 3.0 and DirectX will accelerate the graphics of your Universal Windows Platform apps. A 40-pin, low speed and 60-pin, high speed expansion connector will power your projects.
Let’s put together a quick shopping list:
- DragonBoard 410c from Arrow Electronics $75.00
- 12 Volt 2 Amp power supply with a cylindrical female output (1.75 x 4.75) from Arrow Electronics $12.67
- USB to Micro USB cable from Amazon $4.79
- HDMI cable from Amazon $6.49
- USB keyboard and mouse from Amazon $14.99
- HDMI capable monitor
- Windows 10 PC
- Visual Studio 2015 Update 1
Once the items in your shopping list have arrived, head over to the Qualcomm Developer Network Tools and Resources page for the DragonBoard and download either the x86 or x64 Update Tool for Windows 10 IoT Core. Extract the zip file and double click DragonBoardUpdateTool_X64.msi to launch the installation wizard. Navigate through the wizard to install the Qualcomm device driver.
Next up, navigate your browser to the Windows IoT Downloads and Tools page and click the DragonBoard button to download the ISO file:
Once the ISO file has downloaded, turn it into a virtual CD-ROM (remember those?) drive by double-clicking it. A file called Windows_10_IoT_Core_QCDB410C.msi will appear. Double-click the file to launch the installation wizard shown below:
When the wizard has finished, an image file called flash.ffu will be placed in the C:\Program Files (x86)\Microsoft IoT\FFU\QCDB410C\ directory.
Now it’s time to connect your Windows 10 PC to the DragonBoard to upload the Windows IoT Core image. The cool thing is you won’t have to boot off an SD card like you’re accustomed to with Arduino or the Raspberry Pi. I need you to flip the DragonBoard over and switch the the USB BOOT switch to ON while leaving the other three switches OFF. Use a paper clip to flip the switch as shown below:
Connect the big end of your USB cable to your Windows 10 PC and the micro end to the DragonBoard and connect the power supply to bring it to life. Launch the DragonBoard Update Tool from the shortcut on your desktop:
When the Update Tool launches, verify the Connection Status light is green. Click the Browse button and navigate to the flash.ffu file as shown below:
Click the Program button to upload the image to the board. This will overwrite the pre-installed Android image. If you get an error, just retry the process. Give the programming a minute or two and wait for a Programming successful dialog to pop up to let you know you’re finished.
With the board programming complete, disconnect the power supply and use your paper clip to switch USB BOOT back to the OFF position.
Now it’s time for the moment of truth. Connect the HDMI cable from the DragonBoard to your monitor and then connect the USB keyboard and mouse and plug in the power supply to boot Windows IoT Core. I booted mine on my TV. It starts with a SnapDragon boot just to remind you what you’re probably running in your smartphone.
Next up, you get a generic picture of a single board computer.
Last but not least, you boot into a default Universal Windows Platform (UWP) app just like the Raspberry Pi. If you find yourself having trouble getting Windows 10 IoT Core to boot, try re-seating all your connections on your board and flip the USB BOOT setting back and forth from ON to OFF. Worst case scenario, use the Update Tool again to re-flash your board.
The default app should display information about your board, the operating system, connected devices and network status. Since the DragonBoard has onboard Wi-Fi, use your mouse to click the Device Settings icon on the top-right part of the screen next to the Power icon. Select Network & Wi-Fi and then select the appropriate SSID displayed from your Wi-Fi access point. Click the Connect button and type in your network security key and click Next.
The last step in the process is to ensure you can connect to the DragonBoard from your Windows 10 PC. From the Start menu, navigate to All apps | Microsoft IoT and launch the Windows IoT Core Watcher. It will scan the network and list any boards running Windows IoT Core as shown below:
Right-click on your listed device and select Web Browser Here from the context menu to connect to your DragonBoard from your browser. You will be prompted for device credentials so enter Administrator for the username and p@ssw0rd for the password. You’ll be presented with the Windows Device Portal as shown below:
From here, you’ll be able to remotely monitor, configure and deploy software to your DragonBoard. I highly recommend you start out by changing the Administrator password. You also have the option to remotely connect via SSH and PowerShell.
You are now up and running with Windows 10 IoT Core on the Qualcomm DragonBoard and ready to build and deploy Universal Windows Platform apps so go ahead and launch Visual Studio 2015 Update 1. Once your IDE has loaded, click File | New | Project | Blank App (Universal Windows). Once your app project has loaded, you’ll have to make some adjustments to Visual Studio in order to deploy and debug against your DragonBoard. You’ll need to select ARM to support the Qualcomm CPU and Remote Machine to debug over Wi-Fi as shown below:
The first time you switch to Remote Machine, a Remote Connections dialog will popup. Using the information from the Windows IoT Core Watcher app, type in the IP address of the DragonBoard in the Address text box and click the Select button as shown below:
To perform a quick smoke test, I want you to remotely run a sample app to verify everything is working properly. Open MainPage.xaml in the IDE, click the combo box at the top and select 10″ IoT Device (1024 x 768) 100% scale. Throw a TextBlock control in the center and type Hello DragonBoard as shown below:
Run this simple app against your remote machine. This first time out, Visual Studio must deploy appropriate .NET assemblies to the DragonBoard. If you experience a deployment failure, it may be because your DragonBoard has been running for a while and the remote debugger has shut down. If this is the case, restart the DragonBoard and try again. A successful smoke test will look something like this:
Congratulations on getting Windows IoT Core to run on the Qualcomm DragonBoard and deploying a Universal Windows Platform app! With its fast graphics and CPU performance coupled with onboard wireless networking, I think you’ll find the DragonBoard to be a great IoT device to work with the Azure IoT Suite.