The other thing that I noticed - and it actually bothers me quite a bit for some reason - is that the Galileo PCB comes sans standoffs. The board sits awkwardly on the Mini PCI Express connector and it teeters unnervingly whenever I need to hit the reset button.
|You can't tell, but the LED's blinking, I swear!|
Galileo running with a full, modern operating system does present some interesting challenges on the Arduino side. Looking at the Arduino tools and the example 'sketches', it really shows its microcontroller roots. Arduino presents a very simple interface to the end users, providing them with a way to write C code divided into 'setup' and 'loop' routines. Setup sets all the one-time options at the start of operation, and once the system is up and running, loop will run basically forever. In the sample 'blink' sketch, functions like pinMode and digitalWrite in microcontroller world can probably map directly to a macro that does a simple memory write operation.
|The blink magic happens here|
Intel provides Galileo Linux Examples that shows how to expose some of the power of Linux underneath the device, partly by running a series of system() calls. One of the examples is how to redirect the console to the port used by Arduino tool, but it seems to get stuck for me on Galileo Gen2 - we'll see if I can get the issue figured out before I either dig out an old switch to connect to the ethernet port, or Amazon delivers the USB to UART converter.
What is clear is that Arduino platform is barely scratching the surface of what Galileo is capable of. To really understand Galileo, I'm going to have to dive down much, much deeper.