Reader small image

You're reading from  Intel Galileo Blueprints

Product typeBook
Published inJun 2015
Publisher
ISBN-139781785281426
Edition1st Edition
Tools
Concepts
Right arrow
Author (1)
Marco Schwartz
Marco Schwartz
author image
Marco Schwartz

Marco Schwartz is an electrical engineer, entrepreneur, and blogger. He has a master's degree in electrical engineering and computer science from Supélec, France, and a master's degree in micro engineering from the Ecole Polytechnique Fédérale de Lausanne (EPFL), Switzerland. He has more than five years' experience working in the domain of electrical engineering. Marco's interests center around electronics, home automation, the Arduino and Raspberry Pi platforms, open source hardware projects, and 3D printing. He has several websites about the Arduino, including the Open Home Automation website, which is dedicated to building home automation systems using open source hardware. Marco has written another book on home automation and the Arduino, called Home Automation With Arduino: Automate Your Home Using Open-source Hardware. He has also written a book on how to build Internet of Things projects with the Arduino, called Internet of Things with the Arduino Yun, by Packt Publishing.
Read more about Marco Schwartz

Right arrow

What is Arduino?


Arduino is an open-source single-board microcontroller, which is used in building electronics projects. It can be connected to sensors, LEDs, motors, and other devices to create an interactive display, analysis kits, and anything else electronics-based that you can think of.

Arduino has been popular among students, hobbyists, and even professionals ever since it was first introduced in 2005.

The first Arduino started as a project for the students of the Interaction Design Institute Ivrea. A hardware thesis was contributed for Hernando Barragan's (a Columbian student) wiring design. When the wiring platform was completed, a team of researchers and developers worked on the thesis to create a lighter and less expensive prototype to be available to the open source community. The five-man team that created the prototype Arduino board was led by Massimo Banzi.

Types of Arduino boards

Before the Intel-based boards, the Arduino platform was composed of either an 8-bit Atmel AVR microcontroller or a 32-bit Atmel ARM. The latest Arduino models have 6 analog inputs and 14 digital I/O pins with a USB interface.

However, as with all developing technologies, Arduino boards have evolved a lot. Here are the Arduino versions that are commercially available along with their basic features:

Name

Release date

Processor

I/O

  

Processor

Digital I/O (pins)

Digital I/O with PWM (pins)

Analog input (pins)

Arduino Zero

May 15, 2014

ATSAMD21G18A(Cortex-M0+)

14

6

6

Intel Galileo

October 17, 2015

Intel® Quark SoC X1000 Application Processor

14

6

6

Arduino Yún

September 10, 2013

Atmega32U4

14

6

12

Atheros AR9331

Arduino Esplora

December 10, 2012

Atmega32U4

   

Arduino Micro

November 8, 2012

ATmega32U4

20

7

12

Arduino Due

Octber 22, 2012

ATSAM3X8E(Cortex-M3)

54

12

12

Arduino Leonardo

July 23, 2012

Atmega32U4

14

6

12

Arduino Mega ADK

July 13, 2011

ATmega2560[25]

54

14

16

Arduino Ethernet

July 13, 2011

ATmega328

14

4

6

Arduino Uno

September 24, 2010

ATmega328P

14

6

6

Arduino Mega2560

September 24, 2010

ATmega2560

54

15

16

Arduino Fio

March 18, 2010

ATmega328P

14

6

8

Arduino (Pro) Mini

August 23, 2008

ATmega168(Pro uses ATMega328)

14

6

6

LilyPad Arduino

October 17, 2007

ATmega168V or ATmega328V

14

6

6

Arduino Pro

 

ATmega168 or ATmega328

14

6

6

Types of Arduino Boards

Each of these board versions differ in voltage, processor frequency, dimensions, flash memory, Electrically Erasable Programmable Read-Only Memory (EEPROM), and Static Random Access Memory (SRAM).

Among these Arduino versions, the Galileo Board is the first board to be based on Intel x86 architecture.

The Intel Galileo board

Galileo is based on 32-bit Quark SoC x1000, Intel's first ever product from the Intel Quark family, which features low power small-core products. The board is hardware compatible with Arduino's expansion cards (called shields) and is software compatible with Arduino's Integrated software Development Environment (IDE). It can run on Linux, Mac OSX, and Microsoft Windows.

Currently, there are two versions of Intel Galileo—Gen 1 and Gen 2. The difference between the two lies in the General-Purpose Input/Output (GPIO) pins, the latter having improved performance and compatibility with Arduino shields and accessories.

Here is a picture of the Intel Galileo Gen 2 board:

You will notice that Intel Galileo has 3.3V and 5V power supply ports, 14 digital pins, 6 analog pins, In-Circuit Serial Programming (ICSP) header, and Universal Asynchronous Receiver/Transmitter (UART) ports. Galileo has similar basic port locations as the Arduino Uno R3, but it features components that stretch its capabilities beyond the usual Arduino shield system. You can find a microSD slot, RS-232 serial port, USB port, a full-size mini-PC Express slot, Joint Test Action Group (JTAG) header, an 8-byte NOR flash, and a 100Mb Ethernet port.

Here is a short description of the Intel Galileo facility features:

  • The default operating voltage of Galileo is 3.3V, but you can modify the jumper on the board to translate the voltage to 5V. The 5V option allows you to be able to use 5V Uno shields. Ensure that you check the state of this jumper before starting any project using the board.

  • The 400MHz 32-bit Intel microprocessor is simple to program, can support Advanced Configuration and Power Interface (ACPI) compatible CPU sleep states and runs on an integrated Real-Time Clock (RTC).

  • Among the 14 digital I/O ports, you can utilize 6 as Pulse Width Modulation (PWM) outputs. PWM is used to control the power sent to electrical devices: for example, to modulate the intensity of a LED or the speed of a DC motor. The analog pins have 12-bit resolution via an AD7298 A-to-D converter.

  • The 6-pin ICSP header is situated on the same location as the other Arduino boards, so you can easily plug existing shields. The ICSP supports SPI communication.

  • The Serial Peripheral Interface (SPI) port's default frequency is 4MHz to directly support the Arduino Uno shields, but you can program it to 25MHz. Note that the Galileo SPI acts as a master and cannot be a slave to other SPIs. It can be a slave to the USB client connector, though.

  • The Peripheral Component Interconnect (PCI) Express slot is compliant with PCle 2.0 and works with PCle cards with an optional converter plate. Any standard module can be connected to provide Bluetooth, Wi-Fi, or cellular connection.

  • The USB 2.0 port can support up to 128 USB endpoint devices.

  • The 10-pin Standard JTAG header is present for debugging.

  • UART TTL is available for serial communication, while a second UART is available via a 3.5mm jack for RS-232 support.

  • The USB Device port supports serial (CDC) USB communication.

  • Mice, keyboards, and other peripherals can be connected through the USB Host port.

  • The Ethernet RJ45 connector enables wired network connections.

  • Access to the micro SD is through the SD library.

  • Use of TWI/I2C bus is simplified through the Arduino wire library.

Aside from the improved shield compatibility of Galileo Gen 2, it has upgraded the input power range from 7V to 15V instead of just 5V, upgraded resolution of digital pins with PWM, and provides optional 12V PoE support.

Note

In this book, we will use Galileo Gen 2.

Now that you are familiar with the parts and features of Galileo, you will learn how to set up the development environment.

Setting up the development environment

Note that you should not use the same power supply for Galileo Board Gen 1 and Gen 2. Gen 1 is only rated at 3.3V to 5V, while Gen 2 boards are powered up with a voltage between 7V and 15V. Using the Gen 2 power supply on Gen 1 boards will cause permanent damage to the Gen 1 boards.

Let's get started with setting up the development environment. You need to perform the following steps:

  1. First, connect the Galileo DC jack to power up your board. You will see the LEDs light up. Then, connect your Galileo board to your computer through the USB client port. Look at the picture here for the connection reference:

  2. Next, download the Galileo development environment. It is a custom version of the usual Arduino IDE developed by Intel. You may download the IDE at the following link:

    https://communities.intel.com/docs/DOC-22226

  3. Install the downloaded software in your computer and launch the application.

  4. Before proceeding, ensure that the latest firmware is installed. To update the firmware, follow these steps:

    1. Navigate to Help | Firmware Update. You will need to wait for a bit, as this takes several minutes.

    2. Now, load the Blink example in the IDE by navigating to Examples | Basics | Blink.

  5. The Blink code will load and you will end up with the editor window shown in the following screenshot:

  6. Click on Upload to load the program.

  7. The LED will blink on the board.

That's how easy navigation is on the Galileo interface!

If your LED light does not blink, check the following:

  1. Confirm that you have the latest Galileo IDE loaded.

  2. Ensure that the latest firmware is installed.

  3. Check the version of the board that has been selected by navigating to the board in Tools | Board.

  4. Ensure that there are no loose cable connections.

Summary

In this chapter, you learned what the Arduino platform is, how it came to be, what it is for, where it is used, and its commercially available versions. Most of all, we found out about one of the latest boards of the Arduino platform and the first to use the Intel microprocessor: the Intel Galileo board.

We know that there are two current versions of Intel Galileo: Gen 1 and Gen 2. We will focus on Galileo Gen 2 in this book, but Gen 1 will work as well for all the projects of the book. You also learned how to set up the development environment for Intel Galileo and how to update its firmware.

We are just starting to explore the first ever Arduino board to run on an Intel microprocessor and we are just barely scratching the surface. You have so much more to discover and learn!

In the following chapters, you will learn more of Galileo's basic and core functions. You will study structure, variables, and functions of Gen 2. We will explore digital, analog, and communication applications by creating our own DIY projects. We'll also start with the weather measurement and data logging station project in the next chapter.

Previous PageNext Chapter
You have been reading a chapter from
Intel Galileo Blueprints
Published in: Jun 2015Publisher: ISBN-13: 9781785281426
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Marco Schwartz

Marco Schwartz is an electrical engineer, entrepreneur, and blogger. He has a master's degree in electrical engineering and computer science from Supélec, France, and a master's degree in micro engineering from the Ecole Polytechnique Fédérale de Lausanne (EPFL), Switzerland. He has more than five years' experience working in the domain of electrical engineering. Marco's interests center around electronics, home automation, the Arduino and Raspberry Pi platforms, open source hardware projects, and 3D printing. He has several websites about the Arduino, including the Open Home Automation website, which is dedicated to building home automation systems using open source hardware. Marco has written another book on home automation and the Arduino, called Home Automation With Arduino: Automate Your Home Using Open-source Hardware. He has also written a book on how to build Internet of Things projects with the Arduino, called Internet of Things with the Arduino Yun, by Packt Publishing.
Read more about Marco Schwartz