The other end of the telescope: Intel’s Galileo developer board
Embedded Linux, meet Arduino - Chipzilla style
The X400 system-on-a-chip has 512KB of on-board SRAM, and there’s a further 256MB of DRAM on the board, along with 8MB of Flash for the firmware and any Sketches you send over from the IDE. By comparison, the ATMega328 on the Uno R3 has 2KB of SRAM, 32KB of Flash and 1KB of EEPROM, so the Quark provides scope for far bigger Sketches than the Uno can, though of course the Linux firmware will grab some memory - not to mention CPU cycles - too.
The Arduino GPIO array is reproduced faithfully - with the exception of AREF support
That said, there is one advantage to running an OS rather than a simple resident program loader, as other Arduino’s use: access to applications and utilities. The Galileo IDE incorporates the
system() function, absent from OS-less Arduinos but which lets you to embed Linux command line strings into Arduino’s fundamental
loop() functions and other routines.
system("ls -la > /dev/ttyGS0");, system("python /home/pyJamas/pyJames.py > /home/pyJamas/filelist.txt"); and
system("ifconfig eth0 > /dev/ttyGS0"); send the command strings to the OS’ shell and route the responses back through to the IDE’s Serial Monitor - handy for quickly looking up a Galileo system values, such as its IP address, or to trigger applications and scripts. Again, to use this feature to the full, you’ll need the upgraded version of Linux that Intel supplies to run off a Micro SD card rather than the embedded distro.
Intel has extended the Uno’s standard feature set with a number of other extras: in addition to the already mentioned Ethernet, Mini PCIe and Micro SD hook-ups, there’s a second UART connector in the form of a 3.5mm mono audio jack - I’d have preferred pins; a JTAG (Joint Test Action Group) connector, which is a ten-pin interface that taps directly into the processor and is used in the embedded world for debugging machine code programs; and a second micro USB port for connecting USB peripherals - you’ll need an adaptor with a full-size female USB connector to make the most use of this.
The analogue inputs default to 10-bit resolution as per the Uno, but can be set to 12-bit resolution if you need it.
The Mini PCIe slot and card rest make a good stand for the board
There are downsides. Because the Quark chip doesn’t provide the same GPIO ports as the Uno R3’s ATMega328 microcontroller, it has to deliver them indirectly by way of an on-board I²C Port Expander, made by Cypress and which operates at the I²C standard clock rate of 100kHz but adds inevitable lag, so GPIO access takes 2ms and the read/write frequency is limited to 230 each second. That may not be a sufficient sampling rate for some sensor-based applications.
Separately, Intel warns against connecting the 7-12V power supplies that are common in the Arduino world.
And Galileo is a far more complex board than, say, the Uno, so it’s inevitably more expensive. Adafruit is selling it for $99 (£60), though you can find it on Amazon.com for $60 (£36). Here in the UK, Cool Components wants £66 for it - or will do when it gets some in stock; UK supply details are sketchy at present. The point is though, even where Galileo available, a Raspberry Pi is around half the price, and the Uno R3 cheaper still, though adding features like Ethernet will bring the overall cost closer to that of the Galileo.
If it Quarks like a duck...
You can do a heck of a lot with an £8 Adafruit Trinket, but then that’s the whole point of Arduino: open sourcing the hardware allows the one product to form the basis for an array of boards from which you select the one that’s appropriate to your needs. Galileo’s design and schematics are likewise available, so it’s entirely possible Intel or another firm will devise smaller, cheaper but less feature-packed Galileos.
Aside from cost, the other issue is power consumption. The air above a Sketch-running Quark chip gets noticeably warm, as it does above the Raspberry Pi’s SoC. It doesn’t need a heatsink, though Intel warns that it might if the ambient temperature gets above 50°C. Power draw is less of a concern if you’re running the board from the mains, and battery mileage will depend on what code you’re running and what add-ons you need.
One forum poster with a Galileo connected to a 900MHz radio module, for instance, noted that the “battery life of four AA batteries... was about three hours corresponding to about 350mA current draw on average, very high for an Arduino board”.
The Reg Verdict
Intel’s Galileo won’t be for every maker, but it’s nonetheless a capable board packed with functionality and Arduino compatibility. It’s no Raspberry Pi rival, rather a useful addition to the Arduino family for folk who need integrated Ethernet and the capabilities of a full embedded OS. ®