Operating system: Yocto Project-based Linux
Processor: Single-Core 400MHz Intel Quark X1000
Memory: 256MB RAM
Dimensions: 107mm x 74mm x 23mm
Weight: 50g (excluding PSU)
GPIO: 14x Digital Input/Output Pins, 6x Analogue Input Pins
Networking: 1x Wired 10/100 Ethernet, Optional PCIe Wireless
Expansion: USB 2.0 Host, Micro-SD Card
Intel’s keynote speech at the Consumer Electronics Show earlier this year was heavy on talk of embedded platforms, largely in response to the growing success of Cambridge-based ARM and its low-power designs. The highlight was the launch of the Quark processor, an extremely low-power design which nevertheless offers full 32-bit x86 capabilities.
The Galileo is the first product to feature the Quark available to the general public – and, in keeping with the company’s recent MinnowBoard, it’s fully open hardware. It’s also Intel’s first product to feature full certification as an Arduino-compatible product – on which more later.
The heart of the Galileo is a single-core Quark running at 400MHz. The chip is based heavily on the original Pentium architecture – so much so, in fact, that the Linux kernel warns that it suffers from the F00F, or invalid operand with locked CMPXCHG8B instruction, bug which otherwise went away when people moved on from the Pentium Pro.
Errata aside, the use of the Pentium architecture offers a familiar experience for programmers dipping their toes into embedded programming and gives the Galileo the ability to run a fully-fledged Linux kernel. A customised distribution is provided pre-loaded onto NAND flash as standard, but is extremely cut down; a slightly more expansive version can be loaded from a micro-SD card.
As a compact computer that could beat the Raspberry Pi at its own game, the Galileo isn’t terribly tempting. Aside from being twice the price, its performance is poor – a test involving compressing a 10MB file on a Raspberry Pi took 8.3s compared to a woeful 25.9s on the Galileo – and it lacks video or audio output, with the 3.5mm jack instead offering RS232-level serial connectivity.
The Galileo isn’t designed as a general-purpose machine, however: the packaging, featuring a stylised image of the eponymous polymath wearing somewhat anachronistic sunglasses, asks buyers what they will make – highlighting Intel’s targeting of the maker community.
It’s here that the Galileo’s Arduino certification comes to the fore. The design features pin headers fully compatible with the Shield add-on boards designed for the Arduino Uno family of microcontroller boards, along with supporting circuitry which allows the Quark to communicate with said Shields. It’s a clever move, and comes with the promise of perfect compatibility and a software support package which includes a modified version of the familiar Arduino integrated development environment.
Sadly, there’s a fly in the ointment: the support circuitry for Arduino compatibility is bandwidth-starved, and the performance is exceedingly slow. A Shield based around audio output to a piezoelectric buzzer failed to produce the expected hiss during our testing, instead offering a sickly cracking sound as the system failed to run anywhere near the speed of a true Arduino.
It’s easy to see why Intel didn’t opt for the more traditional method of embedding an ATmega co-processor alongside the Quark to provide better performance: the Galileo is all about proving that the Quark is a one-size-fits-all alternative to both ARM CPUs and microcontroller units in the embedded market. Sadly, at least in this initial implementation, its performance suggests otherwise.
That’s not to say the Galileo doesn’t have its upsides. An on-board Ethernet port provides handy network connectivity without the need to add extra hardware, and the system can act as a USB host. The underside even provides a mini-PCI Express slot, initially designed for use with Intel’s wireless network cards to add cheap Wi-Fi connectivity to designs but likely to find further uses in the near future.
The Galileo is an impressive development platform for those interested in the Quark, but despite its Arduino certification fails to keep up with the performance of its much cheaper microcontroller-based rivals. A lack of audio and video output also limits its flexibility compared to the Raspberry Pi, to which a true Arduino can be connected.