Intel Galileo Board


(The following post describes the Intel Galileo Gen 1 board)

            In this post we will see a short introduction about the newly released (October 2013) Intel’s Arduino compatible “Galileo” board.


Galileo is the first Intel Development Board to comply with Arduino environment.

Galileo is a microcontroller board based on the Intel® Quark SoC X1000 Application Processor, a 32-bit Intel Pentium-class system on a chip. It is the first board based on Intel® architecture designed to be hardware and software pin-compatible with Arduino shields designed for the Uno R3. Digital pins 0 to 13 (and the adjacent AREF and GND pins), Analog inputs 0 to 5, the power header, ICSP header, and the UART port pins (0 and 1), are all in the same locations as on the Arduino Uno R3. This is also known as the Arduino 1.0 pinout. Of course, the Galileo board is also SW compatible with the Arduino SW Development Environment, which makes usability and introduction a snap.

In addition to Arduino HW and SW compatibility, the Galileo board has several PC industry standard I/O ports and features to expand native usage and capabilities beyond the Arduino shield ecosystem. A full sized mini-PCI Express* slot, 100Mb Ethernet port, Micro-SD slot, RS-232 serial port, USB Host port, USB Client port, and 8MByte NOR flash come standard on the board.

Features:


1.       400MHz 32-bit Intel® Pentium instruction set architecture (ISA)-compatible processor

-         16 KByte L1 cache

-         512 KBytes of on-die embedded SRAM

-         Simple to program: Single thread, single core, constant speed

-         ACPI compatible CPU sleep states supported

-         An integrated Real Time Clock (RTC), with an optional 3V “coin cell” battery for operation between turn on cycles.

2.     10/100 Ethernet connector

3.     Full PCI Express mini-card slot, with PCIe 2.0 compliant features

-         Works with half mini-PCIe cards with optional converter plate

-         Provides USB 2.0 Host Port at mini-PCIe connector


4.     USB 2.0 Host connector

-         Support up to 128 USB end point devices

5.     USB Client connector, used for programming

-         Beyond just a programming port - a fully compliant USB 2.0 Device controller

6.     10-pin Standard JTAG header for debugging

7.     Reset button to reset the sketch and any attached shields

8.     Storage options:

-         8 MByte Legacy SPI Flash whose main purpose is to store the firmware (or bootloader) and the latest sketch. Between 256 KByte and 512 KByte is dedicated for sketch storage. The upload happens automatically from the development PC, so no action is required unless there is an upgrade that is being added to the firmware

-         512 KByte embedded SRAM that is enabled by the firmware by default.

-         256 MByte DRAM, enabled by the firmware by default.

-         Optional micro SD card offers up to 32GByte of storage

-         USB storage works with any USB 2.0 compatible drive

-         11 KByte EEPROM can be programmed via the EEPROM library.

Galileo is compatible with Arduino Uno shields and is designed to support 3.3V or 5V shields, following the Arduino Uno Revision 3, including:

1.       14 digital input/output pins, of which 6 can be used as Pulse Width Modulation (PWM) outputs;

-         Each of the 14 digital pins on Galileo can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions.

-         The pins operate at 3.3 volts or 5 volts. Each pin can source a max of 10mA or sink a maximum of 25 mA and has an internal pull-up resistor (disconnected by default) of 5.6k to 10 kOhms.

2.     A0 – A5 - 6 analog inputs, via an AD7298 analog-to-digital (A/D) converter (datasheet)

-         Each of the 6 analog inputs, labeled A0 through A5, provides 12 bits of resolution (i.e., 4096 different values). By default they measure from ground to 5 volts.

 3.      I2C* bus, TWI, with SDA and SCL pins that are near to the AREF pin.

-         TWI: A4 or SDA pin and A5 or SCL pin. Support TWI communication using the Wire library.

4.     SPI

-         Defaults to 4MHz to support Arduino Uno shields. Programmable up to 25MHz.

Note: While Galileo has a native SPI controller, it will act as a master and not as an SPI slave. Therefore, Galileo cannot be a SPI slave to another SPI master. It can act, however, as a slave device via the USB Client connector.

5.     UART (serial port) Programmable speed UART port (Pins 0 (RX) and 1 (TX))

6.     ICSP (SPI) - a 6 pin in-circuit serial programming (ICSP) header, located appropriately to plug into existing shields. These pins support SPI communication using the SPI library.

Programming Galileo:


          Use the Arduino IDE software to create programs for Galileo called “sketches.” To run a sketch on the board, simply connect a power supply, connect Galileo's USB Client port to your computer, and upload the sketch using the IDE interface.

Wi fi connectivity (Using PCIe cards):


             Galileo has a PCI Express slot at its backside, through which we can connect PCIe wifi modules. The WIFI library of Galileo can be used only with PCIe cards and doesn’t work with any wifi module connected via I/O pins od Galileo. The library works well with Intel Centrino N135 and N6205.

Here is a comparison between Intel Galileo and Raspberry Pi by an expert - Intel Galileo Vs Raspberry Pi

No comments:

Post a Comment