Galileo and Windows Development Just Got Interesting

 This is why Galileo development is going to be awesome...

This is why Galileo development is going to be awesome...

I've got the Windows operating system running on my Galileo board now and I've actually managed to deploy a program to it.

No thanks to the Galileo Watcher program though, which is supposed to detect your board and tell you when it is available. This has steadfastly refused to notice my device, even when I run the watcher program as Administrator and connect both the computer and the Galileo board to the same wired network. 

However, Visual Studio 2013 detects the board and will deploy to it quite happily. Even via WiFi. I built the sample project and flashed a led, as you do. I noticed, much to my great joy, that I can put breakpoints in the code, single step through it and work with variables in the immediate window of Visual Studio. 

This board just got a lot more interesting. You can find out more here

Update: This is the Galileo version 1 board, which it would appear is now replaced by the Version 2. In other words, if you decide to splash out on one of these devices, make sure that you get the Version 2. It has much better connectors and a higher performance interface to the Arduino pins.

Galileo Windows Upgrade Now Available

I wrote about the Intel Galileo a while back. It's an Intel Quark based device which, as you can buy it at the moment, runs a cut down version of Linux which allows it to behave as an Arduino (it has shield connections) with a high performance backend

At the time I took my first look I was bemoaning the way that the really interesting aspects of the platform (the ones which have it running a variant of Windows) weren't available for shop bought Galileo devices.

Well, that's changed. If you have (or you get) a Galileo device you can now upgrade the firmware and install a Windows based operating system on an SD card for the device to boot from. Upgrading the Galileo and making the boot image are easy enough (I know this because I've done it) and raise the interesting prospect of running full fat Windows programs, created and deployed using Visual Studio, on a processor around the size of your toenail.  You can find out more here

Galileo Book

Transient

If you have just got an Intel Galileo you might find this book interesting. It tells you how to get started with the device and gives a good overview of the Arduino technology on which the Galileo is based.

To be honest, if you are experienced with the Arduino you will probably already know the majority of the content, but I reckon that there is  enough Galileo specific content to make it worth the relatively modest asking price.  It's also kind of useful to have all the content in one place. Each feature of the Galileo is well explained and there is also some useful background on the Intel aspects of the device.

Note that this book is written for a Galileo configured as an Arduino based platform and does not cover the use of the device as part of the Microsoft Internet of Things initiative. 

Sending Unix Commands to Galileo

I've been playing with the Galileo and written my first little program. It doesn't do much, but it does let you send commands to the Unix part of the system from the USB debugging connection. 

The program just assembles a command message and sends it to the system. It appends a redirect so that the result of the command is sent back to the debug serial port.

To send commands to your Galileo just open the Serial Monitor from the Tools menu and type the command in the send window. Put a * on the end to mark the end of the command and press enter to send it.

It is not particularly elegant, but it is my first program and it does work. If you want to send a * to the command line you have to change the code. But I'm sure you can do that.

You can download the sketch from here.

Whelmed by the Galileo

 A Galileo with a very distant relative

A Galileo with a very distant relative

There is a wonderful exchange in the film "Ten Things I Hate About You"* where one of the characters poses the question "You can be overwhelmed. And underwhelmed. But can you ever be just 'whelmed'?". I think you can be. And I've just found the thing that does it. I've been playing with an Intel Galileo board. And I must admit that I'm totally whelmed by it. 

It looks like an Arduino that has been eating all the pies. It has all the connections that an Arduino has, but they are subtly less useful (more of that in a minute). It is based on the Intel Quark architecture which is a complete system on a chip. The Quark is the tiny thing right in the middle of the Galileo device. The Quark chip provides serious amounts of processing grunt, and it is coupled to 512 megabytes of memory. It runs a flavour of Linux and you can put bigger versions of that operating system, plus a lot of data, on the micro-sd card.

Flip the board over and you can find a PCI Express socket which could take all kinds of high speed devices.  You can also connect the Galileo to a wired network and it will work a treat, and you can run Python and lots of other stuff. And you can plug Arduino shields into the board and directly interface to hardware. That cat-flap that sends you an email each time the cat goes in or out is well within your grasp.

So far, so neat. But it is expensive, at over fifty pounds it is around five times the price of a single Arduino clone. And the Arduino hardware ports are limited. While they are electrically the same as the ones on your trusty Uno they can't be updated at more than 230 or so Hz. This rules out driving things like NeoPixels from the Galileo. It supports USB hosting, but you have to have an extra connector, and you need a really funky cable if you want to do serial communication with it. 

If you really want to have Arduino compatibility and some unix power round the back you should probably get a Yun device. This is cheaper, smaller, lower power and you get WiFi thrown in. If you want to do proper unix with a bit of interfacing then the Raspberry Pi might be more up your street. And you can plug a monitor directly into that. 

The Galileo is not a bad device. It is just not anything other than whelming at the moment. That could change though, remember that Quark computer on a chip. It really is tiny. If Intel release a slew of properly small and properly cheap Quark based platforms, then the Galileo would be a fantastic place to prototype the next generation of "internet of things" gizmos.

Update: The review above is all about the Galileo that I paid money for, arrived in a box last week, and I've just had a play with. It is not about the Galileo that Microsoft have been giving away as part of their Internet of Things effort. I signed up for that, but nothing has come through yet. Thanks to leonellive for pointing that out.

As far as I can tell the IOT device is the same, but it comes with an SD card containing a different operating system that is Windows based and you can write programs using Visual Studio. Now that might be a lot more than just whelming. (Does anyone know where I can get an SD card image?). 

* If you've not seen the film, or you have and you want to relive the magic, head over to this fantastic essay all about it from Bim.

Getting a Galileo

I've been a great fan of embedded computers for ages. I love the .NET Micro Framework, Gadgeteer and Arduino. And now there is another device to play with, the Intel Galileo. It looks a bit like an Ardunino and it has pins in all the right places to be an Arduino. But actually it is a rather powerful computer based on the new Intel Quark chip.

You can program it in the same way as you would an Arduino device, but what I'm really interested in doing is harnessing all that full on programming power on the device. I've ordered one, and I'm looking forward to playing with it when it gets here.