Intel Galileo – getting started with IOT Windows development

This is my first blog entry about IOT (Internet Of Things). In this first post I’ll put some guidelines, how to setup windows on your Galileo (Gen1 and Gen2) and how to prepare your environment in Visual Studio for developing your first IOT application for things (in this case for Intel Galileo). Before the step-by-step instruction just a few words about Intel Galileo

About Galileo

Galileo is a microcontroller board based on the Intel® Quark SoC X1000 Application Processor, a 32-bit Intel Pentium-class system on a chip (datasheet). It’s the first board based on Intel® architecture designed to be hardware and software pin-compatible with Arduino shields. This means it’s a microcontroller and a real small computer in one device.

 

This means you can write apps using Arduino Wiring APIs and regular Windows code. There is also a project template for Visual Studio for Galileo Apps on Windows. Microsoft also provides image for Windows (at this moment 8.1, in the future Win 10) for installation on Galileo. If you intend to start with IOT development on Windows platform, using Microsoft development tools, Intel Galileo should be your first choice. On the website https://dev.windows.com/en-us/featured/Windows-Developer-Program-for-IoT you can find all information about Windows Developer Program for IoT, including setup instructions. Because there are some lacks in this instructions, in this blog post I put my own comprehensive guidelines. This steps are exactly what I have been done to prepare my Galileo for IOT development. I’ll describe both Gen1 (what I’m using) and Gen2 (the newer one) setup steps. The differences are minimal.

Step-by-step installation

  1. Power on and test your Galileo
    • With nothing else connected to your Galileo board, plug power cable into the wall and then connect it to the Galileo DC jack. You should see a couple of LEDs light up.
  2. Install Galileo Arduino IDE
  3. Install Galileo Driver in Device Manger
    • In Device Manager locate Gadget Serial v2.4 device, under the Other devices tree. Right-click that and select Update Driver Software
      Untitled.png
    • On the first window that pops up, click Browse my computer for driver software. And on the next page navigate to the Arduino-1.5.3\hardware\arduino\x86\tools folder within your Arduino Galileo software installation.
    • Once the driver is successfully installed, Device Manager will show a Galileo (COMx) device under Ports (COM & LPT). Note the COMx port number as it will be needed in the IDE later.
  4. Update Frimware
    • In Galileo Arduino IDE, go to Tools, select Board, and make sure “Intel Galileo” or “Intel Galileo Gen2″ is selected, depending on which board you are using.
    • In Galileo Arduino IDE, go to Tools -> Serial Port in the menu. Select the serial port that looks like this:  COMx, where “x” is the number referenced in the previous step.Go to Help -> Firmware Update check to see if your board has the latest version.If your firmware is up to date, you do not need to complete this step. If your firmware is not up to date, proceed with firmware update
      3_Firmware_Confirma#10EB692.png
  5. Test Galileo With Arduino IDE
    • In IDE select an example (File -> Examples -> 01.Basics –> Blink)
    • Click the Upload button in the toolbar.
    • When it is done, you will see the text “Transfer Complete” & “Done Uploading” at the bottom of the sketch window and you should see a blinking light on the board
  6. Add Extension to you Visual Studio  – Windows Developer Program for IoT
    • In Visual Studio “Tools->Extension and Updates install “ install Windows Developer Program for IoT
    • This extension Includes also a small application named “Galileo Watcher” that shows the board it detects inside your local network. After you start your Galileo (step 10) you should see your board in this application
      watcher
  7. Enable Telnet Client on your PC
    • On your desktop machine, go to Programs and Features and turn on Telnet Client feature
  8. Prepare MicroSD Card
  9. Write Windows to MicroSD Card
    • In the command window (open as Administrator) , type the following:
      cd /d %USERPROFILE%\Downloads
      apply-bootmedia.cmd -destination {YourSDCardDrive} -image {.wimFile downloaded above} -hostname mygalileo -password admin
  10. Booting Windows
    • Insert MicroSD card with Windows into your Galileo
    • Connect one end of the network cable to the ethernet port on your Galileo
    • Connect the other end of the network cable to your computer using a built in Ethernet port or a USB Ethernet adapter.
    • Plug the power cord in
    • You should see activity on the microSD light at the board
  11. Telnet to Galileo
    • Run telnet from the command line or by right click in the Galileo Watcher application
    • When prompted by telnet, use the following username and password:
      Username: Administrator
      Password: admin

  12. Shutting down Windows
    • Enter the following command to shutdown: shutdown /s /t 0 After the microSD activity LED stops blinking, you may unplug the Galileo.NOTE  If you do not shut the Galileo down, the next boot will take much longer. During this time, Windows will run a check disk on the SD card to verify the integrity of the file system. Please allow this to finish.
  13. Create new Visual Studio Project
    • Start your Galileo again and you can create a new Visual Studio project Galileo Wiring App image
    • Build and test your project by click on “Remote Windows Debugger” button

 

If you want to enable Wi-Fi on your Galileo, you need a few more steps. These instructions are for Intel miniPCI Wife card.

  1. Connect WifiCard and antenna to your GalileoBottom of Galileo with half-size mini PCIe card attached
  2. Download 32-bit Windows 8.1 Intel Driver for your Wi-Fi card
  3. Mound your current Windows Image from Galileo microSD Card
    • PS command: Mount-WindowsImage -Path .\Offline -ImagePath .\Install.wim -Index 1
  4. Add Windows driver to mounted image
    • PS command: Add-WindowsDriver -Path .\Offline -Driver .\Driver -Recurse
  5. Dismount a new image
    • PS command: Dismount-WindowsImage -Path .\Offline -Save
  6. Boot Galileo from SD Card and telnet to Galileo
    • Use apply-BootMedia.cmd to apply Install.wim to the SD card ( see Step 9 in step-by-step installation)
    • Boot Galileo from the SD card
    • Telnet into the Galileo and use the following command to verify the driver is running: devcon status “PCI\VEN_8086&DEV_088E&SUBSYS_40608086″
  7. For more instructions see following links
    1. http://www.malinov.com/Home/sergey-s-blog/intelgalileo-addingwifi
    2. https://www.youtube.com/watch?v=4BDLbwUOlLE
    3. https://software.intel.com/en-us/blogs/2014/03/13/configuring-wifi-for-the-intel-galileo-board

And welcome to the new world of the IOT development! Happy coding!

In the next few blog posts I’ll show you how to do some really cool stuff with Intel Galileo and Microsoft IOT development tools.

2 thoughts on “Intel Galileo – getting started with IOT Windows development

  1. kjk
    January 12, 2015 at 8:51 pm

    Great article!

  2. Achraf
    January 22, 2015 at 5:22 pm

    Nice work it REALLY help a lot

Leave a Reply

Your email address will not be published. Required fields are marked *