Intel and Arduino’s announcement about the new Galileo board is big news. It’s a Linux-based board that I’ve found to be remarkably compatible with the Arduino ecosystem based on my first few steps with a prerelease version of the board. Here are some of the best features of this groundbreaking collaboration between Intel and Arduino:
The expansion header on the top of Galileo should look familiar since it’s compatible with 5V and 3.3V Arduino shields designed for the Uno R3 (also known as the Arduino 1.0 pinout). This means that it has 14 digital I/O pins, 6 analog inputs, a serial port, and an ICSP header.
The Intel-provided integrated development environment for the Galileo looks exactly like the Arduino IDE on the surface. Under the Boards menu, you’ll see addition of the Galileo under “Arduino X86 Boards.” The modified IDE also is capable of upgrading the firmware on the board.
Ethernet Library Compatibility
Using the Ethernet port on the board is as simple as using Arduino’s Ethernet library. I was able to get a HTTP connection to Google without even modifying the standard WebClient example.
Real Time Clock
Most Linux boards rely on a connection to the Internet to get the current date and time. But with Galileo’s on-board RTC (real time clock), you’ll be able to track time even when the board is powered off. Just wire up a 3.0V coin cell battery to the board.
Works with PCI Express Mini Cards
On the bottom of the board is an expansion slot for PCI Express Mini cards. This means you can connect WiFi, Bluetooth, GSM cards for connectivity, or even a solid state drive for more storage. When you connect a WiFi card, it will work with Arduino’s Wifi library.
USB Host Port
Galileo’s dedicated USB On-The-Go port will let you use the the Arduino USB Host library to act as a keyboard or mouse for other computers.
If you want to store data, a microSD card slot is accessible from your code by using the standard Arduino SD card library.
TWI/I2C, SPI Support
Using the standard Arduino Wire library or SPI library, you can connect TWI/I2C or SPI components to the Galileo.
Not only is there the typical serial port for your sketches on pins 0 and 1 of the Arduino pinout, but there’s also a separate serial port for connecting to the Linux command line from your computer. You’ll connect to it through the audio jack interconnect next to the Ethernet port. This port is only used for serial.
Linux on Board
A very light distribution of Linux is loaded onto the 8 MB of flash memory. If you want to use tools like ALSA (for sound), V4L2 (for video input), Python, SSH, node.js (for web projects), and openCV (for computer vision), you can boot Galileo from an SD card image that Intel provides.