Skip to content

Getting Started with the 2nd Generation Intel® Galileo Arduino Board

Intel Galileo 2

The Arduino certified, 2nd generation Intel® Galileo development board is now available for #IoT makers everywhere so let’s take it for a spin.

Hardware, software, and pin-compatible with a variety of Arduino Uno* R3 shields, this board runs the 32-bit Intel® Quark™ SoC X1000 processor cruising along at 400 MHz. This board comes equipped with 512 KB of SRAM, 256 MB of DRAM, 8 MB of firmware flash and supports Micro SD cards up to 32 GB. Communications capabilities includes both a USB Host and USB client port, a 10/100 Mbs Ethernet port supporting Power of Ethernet (PoE), a mini-PCI Express slot (plug in Wi-Fi, Bluetooth, 3G, GPS), and a Micro SD slot to name a few. Arduino Sketches are the Linux programs/units of code you build and run via the Galileo Arduino IDE.

Intel Galileo 2

Let’s dive in so you can get started programming your new board:

  • Pull your Galileo board out of its anti-static bag, plug the included power cable into the wall and connect it to the board’s DC jack. You should see multiple lights near the UBS host and Ethernet port.
  • Plug a USB cable (not provided) into the Micro USB slot on the board and the standard USB 2.0 port on your desktop, laptop or tablet.
  • Navigate your browser over to to download the zipped-up Intel Arduino IDE or either Linux, Mac OSX, or Windows.
  • Since I work for Microsoft, I’ll focus on getting you up and running on Windows so unzip the downloaded file to the root of your C:\ drive. While this might seem like a strange location, it’s necessary due to known issues when unzipping some of the packages with long file paths.
  • From within the newly-created C:\arduino-1.5.3 folder, double-click arduino.exe to launch the IDE that allows you to create Sketches.


  • In order for Windows to communicate with Galileo, you need to install device drivers so launch the Device Manager via Control Panel | Hardware and Sound | Devices and Printers.
  • Beneath the Other devices node, select Gadget Serial v2.4. Right-click and select Update Driver Software…

Device Manager

  • When the Update Driver Software dialog pops up, select Browse my computer for driver software. Browse to the C:\Arduino-1.5.3\hardware\arduino\x86\tools folder and click Next. When the Windows Security dialog pops up, click Install. Once the driver software has been successfully installed, click close.
  • I realize that nothing is foolproof when it comes to getting devices recognized across different computing platforms. While this process went smoothly for me running Windows 8.1 Update x64 on my Thinkpad, it didn’t work running the same OS on a MacBook Pro, so your mileage may vary.
  • Now it’s time to update the firmware on your board via the Galileo Arduino IDE. Go to the Tools menu and select Board | Intel Galileo Gen2.

Tools Board

  • With the correct board selected, I need you to return to the Tools menu and select Serial Port | COM (Whatever). The number should match the value shown in the previous step when you updated the device software in the Device Manager.

Serial Port

  • To actually update the firmware (in case yours is out of date), select the Help menu and select Firmware Update. A dialog may popup telling you that the Intel Galileo firmware update requires using the external power supply. Make sure you’re plugged-in and click Ok. The firmware update make take up to 5 minutes so don’t unplug anything during the process or you may end up with a “bricked” board.

Firmware Update

  • Now it’s time to test your new board with a Sketch so select the File menu in the IDE and then select Examples | Basics | Blink. Yes, this has to be the most embarrassingly simple app ever.


  • A new Sketch window will popup showing the code necessary to make an LED light blink on your board. The comments at the top between /* and */ along with text after // are ignored. They explain what the program does and how it works. The first line of code in the Sketch declares a variable called led of type integer and initializes it as the value 13. The parameterless setup() function initializes things by calling the pinMode()function which configures the led variable (pin 13) as an output which allows the app to drive the LED actuator. The loop() function is called repeatedly as you might expect and it represents the core of your Sketch. If you’ve ever built a Daemon, TSR or Windows Service, this mode of operation should look familiar to you. Inside the loop, the digitalWrite()function alternates outputting a 5 volt or 0 volt value against pin 13 to make the light turn on and off. The delay() function causes Arduino to wait for 1000 milliseconds before executing the next line of code.


  • Click the Upload button (right arrow) on the toolbar to compile and upload this example Sketch to your board. You can also select File | Upload. You’ll be notified that the transfer is complete at the bottom of the IDE. On my Galileo board I now see a blinking green light next to the USB host port. Success!

Galileo Blink

I certainly hope this introduction and walkthrough of getting your 2nd Generation Intel® Galileo Arduino board up and running has been helpful. In future articles I’ll explore what’s possible with hardware on the board, additional hardware (Arduino shields) and of course, the software.

4 thoughts on “Getting Started with the 2nd Generation Intel® Galileo Arduino Board”

  1. Thank you. Question, I have noticed that the linux versions of these type of boards, to get to the hardware you need to write to a mapped directory. The Arduino Uno you can work with the hardware directly. This increases the speed of sampling. Does the Galielo support direct hardware access?

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.