For makers familiar with the Arduino platform, Intel®, in collaboration with Arduino, has released Galileo, a single board computer, capable of running linux. It combines the performance of Intel® technology and the ease of the Arduino software development environment (IDE). It maintains the Arduino form-factor while giving the user power to run Linux.
Galileo is a microcontroller board based on the Intel® Quark SoC X1000 400MHz Application Processor, a 32-bit Intel® Pentium-class (x86) system on a chip. Galileo is hardware and software pin-compatible with Arduino Revision 3 shields. 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.
Shields Compatible with Intel® Galileo
Galileo is designed to support shields that operate at either 3.3V or 5V. The core operating voltage of Galileo is 3.3V. However, the IOREF jumper on board enables voltage translation to 5V at the I/O pins. This provides support for 5V Uno shields and is the default behavior. By switching the jumper position, the voltage translation can be disabled to provide 3.3V operation at the I/O pins.
Following Shields are found to be compatible (According to Mouser):
- Arduino WiFi Shield
- Arduino Ethernet Shield (without PoE module)
- Arduino Xbee Shield (without RF module)
- Arduino Motor Shield
- Arduino GSM Shield (with integrated antenna)
- Arduino Ethernet Shield (with PoE module)
- Arduino Wireless SD Shield
Apart from the above mentioned official Arduino Shields, the following shields have been tested to be working with the Intel® Galileo:
and many more...
A comprehensive list of compatible shields available here: Intel® Galileo Shields List
Software Compatibility with Arduino
Makers familiar with the Arduino IDE will feel at home using Galileo as it is compatible with Arduino IDE 1.5.3 (download available from Intel®) and most of the included example sketches like the Blink, Fade and even some examples from the Arduino Starter Kit (p2, p3, p4, p8, p9, p10, p14, p15).
Supported Libraries from Arduino Environment
The latest software release supports the following libraries:
- WiFi (A separate hardware is required. For details read below)
Ports on Galileo
- Mini-PCI Express (mPCIe) slot
- 100Mb Ethernet port
- Micro-SD slot
- RS-232 serial port
- USB Host port
- USB Client port
Galileo has an onboard Network Interface Card (NIC) and can connect to the internet utilising the onboard RJ45 connector. (Internet of Things, anybody?)
Because of this NIC, there is no need to implement the SPI functions to use Ethernet as with most of the shields. Also, for SD Cards, there is an on-board SD Controller thus removing the need for using the dedicated SPI functions. Intel® Galileo firmware includes DHCP for automatic configuration of the Ethernet interface with an IP address. It can also be connected wirelessly or over 3G via expansion on PCIe or compatible shields.
Any standard mini PCI Express (mPCIe) module can be connected and used to provide applications such as WiFi, Bluetooth or Cellular connectivity. Initially, the Galileo mPCie slot provides support for the WiFi Library. The following hardware has been tested to provide WiFi capability (requires drivers to be installed on an external SD Card! - see the Intel® Galileo Getting Started guide).
Overall, the Intel® Galileo development board would prove to be a great tool for anyone willing to create memory hungry projects or processor intensive tasks. (Jim from SparkFun did a project on unread e-mail counter).
Galileo features 256 MB of memory. By looking at the schematic of Intel® Galileo, it seems possible that RAM capacity may increase to 1GB (2x512MB) Only time will tell. [The 128MB SDRAM IC is footprint compatible with higher versions too.] Maybe makers will rework their board and upgrade them in DIY style.
A 3.5mm Audio Jack is included on-board. Care must be taken as it is not Speaker or Headphone compatible. It is for serial UART RS-232 signals only.
Software Serial Library support
According to this last question on the FAQ page, support for SoftwareSerial Library on Galileo is available but not suggested as the board cannot sustain the emulated baud rates. Be ready to change your libraries (GPS, GSM/GPRS etc.) to use hardware UART port instead of SoftwareSerial.
The power supply input voltage must be 5V DC at 3A max. Galileo does not support an input voltage range of 7-12V like Arduino Uno or Due and must only be used with 5V power supplies. A compatible power supply comes with the board.
On-Board Jumpers (IOREF, I2C Address and VIN)
- IOREF jumper allows Galileo to support both 3.3V and 5V shields. When the jumper is connected to 5V, Galileo is configured to be compatible with 5V shields and IOREF is set to 5V. (Similarly for 3.3V Shields).
- I2C Address jumper prevents a clash between the I2C Slave address of the on board I/O expander and EEPROM with any external I2C Slave devices.
- VIN jumper should be removed from Galileo to break the connection between the on-board 5V supply and the VIN connection on the board header if there is a need to supply more than 5V to a shield using VIN otherwise it may damage the board or lead to unreliable operation.
Unboxing Video below from Intel®'s Youtube channel:
In the Box:
- 1x Intel® Galileo Customer Reference Board (CRB) (Fab D with blue PCB)
- Power Supply with different adapters & USB Cable are included