Getting Started with the Intel® Galileo Board on Windows*

Published: 09/09/2015, Last Updated: 09/09/2015

Getting Started with the Intel® Galileo Board on Windows*

This guide contains steps to set up your Intel® Galileo board, including steps to setup a serial terminal, connect over Wi-Fi*, and install your preferred integrated development environment (IDE) for general development in JavaScript*, C/C++, or Python*. If you want to get going quickly in Arduino, skip to installing the Arduino IDE.

If you want to work with another operating system, see the getting started books for Linux or Mac.

OS Requirements

The steps include instructions that are compatible with the following versions of the Windows* operating system:

  • Windows 7* 32/64
  • Windows 8* 32/64
  • Windows 8.1* 32/64

Material Requirements

Here is a list of all the requirements you'll need in order to assemble and set up either your Gen 1 or Gen 2 board:

  • A micro-SD card. The card must be at least 2 GB and can be up to 32 GB
  • An SD card reader for your system
  • Intel® Galileo Gen 1 board needs:
    • A 5-V power supply
    • A DB-9-to-3.5mm audio cable
    • A serial-to-USB cable
  • Intel® Galileo Gen 2 board needs:
    • 6-pin Serial to Type A USB cable (FTDI cable # TTL-232R-3V3 is recommended)
    • A 7-15-V DC power supply
  • If you want to set up your board for Wi-Fi, you'll need one of these adapters:
    • Intel® Centrino® Wireless-N 135
    • Intel® Centrino® Advanced –N 6205

If you want to get going quickly in Arduino, skip to installing the Arduino IDE.

Step 1: Make a Bootable micro SD Card

You must boot your Intel® Galileo board using a micro SD card that contains the latest Intel® IoT Developer Kit version of the Yocto*-built Linux image.

Linux is the operating system that powers the Intel® Galileo board. While there is already a version of Linux built into your board, the developer-kit version of Yocto-built Linux includes even more libraries and resources to help developers create applications in their favorite programming language. This version includes GCC, Python, Node.js, OpenCV, to name a few.

In addition, sketches that you upload to the Intel® Galileo board are erased when the board is powered down. To be able to resume the sketch even after powering down your board, you must boot from a micro SD card.

Requirements

You must have a few things to begin. The steps below are for creating a micro SD card with a Windows* host system. There are separate instructions for Windows, Mac OS X, and Linux.

Method 1: Run the Integrated Installer

Download and run the latest version of the Intel® Galileo Windows 64-bit Arduino* Installer from the Intel® Galileo Board Downloads page.

The integrated installer will install the Arduino IDE, as well as download the needed Win32 Disk Imager software to write to your SD card. It will not write to the SD card for you, but it will install the imaging software and leave it for you to finish the process. If you get stuck, refer to Method 2 below.

End-user license

Third-party program use

Method 2: Manual Process

This section contains steps to download and extract the latest developer kit version of the Linux image.

  1. Download and install the 7-Zip file archiver from 7-Zip.org.
  2. Download the latest Intel® Galileo Board micro SD Card Linux* Operating System Image from the Intel® Galileo Board Downloads page.
  3. Use 7-Zip to extract the .bz2 file to your system. You must use 7-Zip to extract the image, as it supports the extended file paths found in the compressed image file.

    You should now have a file called iot-devkit-version-mmcblkp0.direct alongside the original .bz2 file, where version is either latest or a date in the YYYYMMDDHHMM format.

Write the Image to Your Micro SD Card

This section contains steps to write the image to your micro SD card.

  1. Visit http://sourceforge.net/projects/win32diskimager and click the Download button to save the latest Win32DiskImager-version-binary.zip file to your system.
  2. Insert the micro SD card into your card reader.
  3. Run Win32 Disk Imager as an Administrator, as follows:
    1. Double-click Win32DiskImager-binary.zip to expand its contents.
    2. Open the Win32DiskImager-binary folder.
    3. Right-click Win32DiskImager.exe, then select Run as administrator.
  4. In Win32 Disk Imager, click the folder icon on the top right.

    Click the folder icon to browse for the Yocto image.

  5. In the file type drop-down list, select *.* so you can see all files, regardless of file extension.

    Select *.* to see all files, regardless of extension.

  6. Navigate to and select the .direct file that you extracted earlier, then click Open.
  7. From the Device drop-down list, select the device drive of your micro SD card.

    Caution: Be sure to select the correct device drive, as the drive letter for your card may be different on your system. Selecting the wrong drive letter could result in erasing your data on the wrong drive.

    Select the drive letter for your SD card.

  8. Click Write, then wait for the write process to finish. Please be patient, as this may take up to 5 minutes.
  9. After completing the write process, click Exit to close Win32 Disk Imager. Once the write process is complete, your bootable micro SD card should contain the following:
    • boot
    • firmware
    • win-driver
    • bzImage
  10. Eject and remove the micro SD card from your card reader.
  11. You can now insert the card into the micro SD card slot on your Intel Galileo board. When you power up your board, the board automatically boots using the image on the card.

Now that you have created your bootable card, continue to assemble and power your board. If you want to get going quickly in Arduino, skip to installing the Arduino IDE.

Step 2: Assemble and Power Your Board

This section walks you through assembling your Intel® Galileo board. Start with one of the following options:

  • Intel® Galileo Gen 1
  • Intel® Galileo Gen 2

Assemble the Intel® Galileo Gen 1 board

Requirements

  • An Intel® Galileo Gen 1 board
    Example of the Intel® Galileo Gen 1 board
  • A 5-V power supply (should have come with your board)

    A 5-V power supply

  • A DB-9 to 3.5mm audio cable

    A DB-9 to 3.5mm audio cable

  • A serial to USB cable

    A serial to USB cable

  • A 2-GB to 32-GB micro-SD card

    A micro-SD card with 2GB or greater

Set up the Intel® Galileo Gen 1 board

This section walks you through assembling your board.

  1. Confirm flashed SD card is inserted in your board properly.
  2. Plug in the power supply to your board. Plug the other end into your wall socket. You should see the LED in the lower left-hand corner light up.

    Galileo Gen 1 with power cable

  3. Plug the DB-9 to 3.5mm audio cable in to your board.

    Galileo Gen 1 with audio cable

  4. Connect the DB-9 end of the cable to the serial to USB converter.
  5. Plug the other end of the serial to USB converter in to a USB port on your computer.

    Galileo with all cables

Now that your board is ready, set up a serial connection to your board. If you want to get going quickly in Arduino, skip to installing the Arduino IDE.

Assemble Intel® Galileo Gen 2 Board

Requirements

  • An Intel® Galileo Gen 2 board
  • A 7-15V DC power supply

    A 7-15V power supply

  • 6 pin Serial to Type A USB cable (FTDI cable # TTL-232R-3V3 is recommended)

    A DB-9 to 3.5mm audio cable

  • A 2-GB to 32-GB micro-SD card; see Step 1: Make a bootable SD card for setup prior to assembling your board.

    A micro-SD card with 2GB or greater

Set up Galileo Gen 2 Board

  1. Confirm flashed SD card is inserted in your board properly.
  2. Plug the DC power supply in to your board. Plug the other end into your wall socket.

    Plug the power supply in to the board

  3. Wait for two green LEDs to light up.

    Wait for the two green LEDs to light up

  4. Plug in the 6 pin Serial (FTDI) to USB cable.

    Plug in the FTDI cable

  5. Plug the other end of the FTDI cable in to a USB port on your computer.

    Plug the FTDI cable in to your computer

Now that your board is ready, set up a serial connection to your board. If you want to get going quickly in Arduino, skip to installing the Arduino IDE.

Step 3: Set Up a Serial Terminal

This page describes how to set up a terminal emulator on a system with Windows to use with the Intel® Galileo board.

Install Drivers

Intel® Galileo Gen 1 Board:

If the manufacturer of your serial to USB converter has provided drivers for the converter, install the drivers. For example, a common serial to USB converter is the Prolific type. The drivers for the converter can be found on the Prolific site: http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41.

Open the Device Manager. You should see a new entry for your Intel Galileo board in the (COM & LPT)Ports section. Make a note of the COM#, as shown in the example image below (in this case, COM10); you'll need this information to connect to your board. Note that the name and COM# for your particular board may vary.

Example of the entry for your board in the Device Manager

Intel® Galileo Gen 2 board:

  1. Download the FTDI driver for Windows.
  2. Right-click the .exe file you downloaded, which should be called CDM… and select Run as Administrator:

    windows_1_install_driver

  3. Click Extract.
  4. Click Next.
  5. Click Finish.
  6. You should see a new USB Serial Port entry in the (COM & LPT)Ports section of the Device Manager.

    windows_2_usb_port

Set Up PuTTY

  1. Download the PuTTY terminal emulator: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe.
  2. Double-click the putty.exe file you downloaded to run it.
  3. Configure the PuTTY menu as follows
    1. Under Connection type, select Serial.
    2. In the Serial line field, type your COM# (the COM port of your FTDI or 3.5mm to DB-9 adapter).
    3. In the Speed field, type 115200.

      windows_3_setup_putty

       
  4. When you see a blank screen, press the Enter key twice. You should see a login screen.
  5. At the login prompt, type root and press Enter.
  6. Press Enter when prompted for a password. You should see a terminal prompt. Note: By default the root password is blank. You can set the root password by entering the command passwd.

Testing your SD card image

You can easily check the version of the image your board is using to boot up, as follows:

  1. Open a serial connection session with your board. Enter the following:

    cat /etc/version
     
  2. The image version is displayed in YYYYMMDDHHMM format. If your board is booting from its default image instead of the image you just downloaded, the version reflects an older date, such as 201410101603. You should see a more recent image version, such as 201502260041. Type cat /etc/version to check the version of your image.

    Type cat /etc/version to check the version of your Yocto image.Type cat /etc/version to check the version of your Yocto image.

Congratulations! You’ve set up the terminal communication to your Intel Galileo board. To get familiar with the system, you can try out some common Linux commands by searching basic linux commands in your web browser.

Next Steps

Now that you have set up serial communication with your board, continue to connecting to a network.

Step 4: Connect Over Wi-Fi*

You will need a network connection to use the Intel® XDK or Intel® System Studio IoT Edition. In this guide you’ll set up network access to your Intel® Galileo Board and obtain an IP address using Wi-Fi*. To connect using Ethernet, follow the steps in the article Connecting your Intel® Galileo board using Ethernet.

Install your Wi-Fi adaptor

For the purpose of this tutorial we are using the Intel® Centrino® Wireless-N 135.

  1. Assemble the wireless card with the aluminum plate, to help keep the wireless card in place on the board.

    assemble the wireless card

  2. Connect the antennas to the wireless card.

    connect the antennas

  3. Insert wireless card in the mini PCI Express slot. Once the wireless card is inserted into the Mini PCI Express slot, press the wireless card gently towards the board until it locks in place.

    insert the wireless card in the mini PCI Express slot

Establish communication

  1. Once the Intel® Galileo Board is powered up, you should verify the Wi-Fi adaptor is connected and working. To do this, run the following Linux commands on your board, via the serial session described into Step 3: Set up a serial terminal.
  2. At the command prompt, type lspci -k | grep -A 3 -i "network" to verify your Wi-Fi adaptor.
    root@galileo:# lspci -k | grep -A 3 -i "network"
    01:00.0 Network controller: Intel Corporation Centrino Wireless-N 135 (rev c4)
                    Subsystem: Intel Corporation Centrino Wireless-N 135 BGN
                    Kernel driver in use: iwlwifi
  3. The IoTDK contains the embedded connection manager connman, which we will use here to establish the Wi-Fi connection. Enter the command connmanctl to manage the Wi-Fi settings.
  4. Enter enable wifi to verify that Wi-Fi has been enabled.
  5. Enter scan wifi. This returns Scan completed for wifi.
  6. Enter services. This command lists the networks found, followed by the MAC address and other key information of that network necessary to make a connection. MyNet1 is the network in this example.
    connmanctl> services
            *AO Wired  ethernet_000000000000_cable    
          MyNET1     wifi_dc85de828967_38303944616e69656c74_managed_psk
            OtherNet2  wifi_dc85de828967_3257495245363836_managed_wep
          [...]
  7. After running these commands, you’ll see your wireless network name (in place of MyNET1). Note that in case of a hidden network, the network will be listed without a name preceding it. If MyNET1 was hidden, the output could be:
    connmanctl> services
            *AO Wired  ethernet_000000000000_cable    
            wifi_dc85de828967_38303944616e69656c74_hidden_managed_psk
          [...]
  8. To connect to a secure Wi-Fi network, turn on the agent that allows user interaction on the console by typing agent on. Then type in connect and the wifi string starting with wifi_ and ending in managed_psk. Your specific Wi-Fi string may vary.
      connmanctl> agent on
            Agent registered
      connmanctl> connect wifi_dc85de828967_38303944616e69656c74_managed_psk 
            Agent RequestInput wifi_0cd2926de3ae_486f6d65574c414e_managed_psk
  9. Enter the passphrase for MyNet1, then wait for the connection to be established (the link becomes ready message).
     Passphrase = [ Type=psk, Requirement=mandatory ]
            Connected wifi_dc85de828967_38303944616e69656c74_managed_psk 
            Passphrase? <passphrase goes here>
    [  928.015714] wlp1s0: authenticate with aa:bb:cc:dd:ee:ff
    [  928.060155] wlp1s0: capabilities/regulatory prevented using AP HT/VHT configuration, downgraded
    [  928.079977] wlp1s0: send auth to aa:bb:cc:dd:ee:ff (try 1/3)
    [  928.087854] wlp1s0: authenticated
    [  928.100157] wlp1s0: associate with aa:bb:cc:dd:ee:ff (try 1/3)
    [  928.116202] wlp1s0: RX AssocResp from aa:bb:cc:dd:ee:ff (capab=0x431 status=0 aid=3)
    [  928.129111] wlp1s0: associated
    [  928.132339] IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
  10. Exit the connman console by typing in quit. Then verify that a successful connection has been made with the display of a valid IP address by typing in ip a .
    connmanctl> quit
    root@galileo:# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: enp0s20f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
        link/ether 00:13:20:ff:14:43 brd ff:ff:ff:ff:ff:ff
        inet 169.254.5.1/16 brd 169.254.255.255 scope link enp0s20f6:avahi
        inet6 fe80::213:20ff:feff:1443/64 scope link
           valid_lft forever preferred_lft forever
    3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq qlen 1000
        link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.2/24 brd 192.168.0.255 scope global wlp1s0
        inet6 fe80::ed2:92ff:fe6d:f1d2/64 scope link
           valid_lft forever preferred_lft forever

Next Steps

Now that you have connected to and obtained an IP address for your board, you can install your preferred IDE and begin programming the board.

Step 5: Set Up Your IDE

Now that you have set up your Intel® Galileo board, you can install your preferred integrated development environment (IDE) and begin programming your board.

Which Programming Language Will You Use?

The IDE you use to program your board depends on the programming language you want to develop in. The choices are:

  • Arduino*: Arduino is an easy-to-learn, open source C++ based programming environment. It's convenient for quickly adding sensors since there is a lot of available sensor code out there. Since the Intel® Edison and Intel® Galileo boards are Arduino-pin compatible, there are also plenty of shields to choose from. The Arduino IDE is the application of choice for programming with Arduino. For steps to install the Arduino IDE, see Installing the Arduino IDE.

  • JavaScript* and Node.js*: These languages are great for creating web interfaces and also work well in cloud connectivity and getting devices talking to one another. We provide the Intel® XDK to program in JavaScript and Node.js. It comes with easy-to-use project templates to jumpstart your IoT projects. For steps to install the Intel XDK, see Installing the Intel® XDK.

  • C++: Alternatively, using C++ tends to be very powerful, giving you full control of the system while simultaneously taking advantage of a lot of available libraries. Intel® System Studio IoT Edition comes with a built-in capability to easily integrate sensors from our GitHub library. For steps to install the Intel System Studio IoT Edition, see Installing the Intel® System Studio IoT Edition.

  • Java: Java is an accessible language newly supported by the Intel System Studio IoT Edition. For steps to install the Intel System Studio IoT Edition, see Installing the Intel® System Studio IoT Edition.