The ingredients are: One Raspberry Pi 2B (quad core!) plus accessories (power, network cable, HDMI cable), a clean Micro SD card (cat 10) with adaptor, a USB keyboard, a MeArm robot arm, four Servo motor cord extensions (3x10cm 1x20cm), a 6 channel Servo Controller for the RPi, PuttY, Visual Studio 2015 with F# installed. Oh yeah, your PC should be able to write to SD cards.
I would not start with inspiring the kid, especially if they're very young. In my case, my two-year old just lied down on the Robot arm parts, which is his way of saying, can I play Dance Central on the XBox please.
Constructing the Robot Arm
The MeArm robot arm is an "open source" Robot Arm. If you were able to buy it, it should come with a construction manual. If it did not, then try to find it on the internet. In my case, I received a printed copy of the PDF found here. Take your time to construct it, be thorough, patient and careful not to break the materials. And don't forget to have some fun.
I came quite novice to this ground, the following is to give a Raspberry Pi quickstart.
At Raspberry's website, you can download the image of Raspbian, then you should use your Windows PC to install the image on the micro SD card. Even though my first encounter with Linux was somewhere in 1998, I've never worked with Debian. But it works the same as my usual choice - Ubuntu, I like it.
After installation, put the micro SD card in the appropriate slot of your RPi, hook it op to your TV-set with an HDMI cable, and connect it to you home-network with a network cable and plugin the USB keyboard. You need internet access. The first steps will be via the TV-set, but we change ASAP to accessing our RPi via our Windows PC. So there can't be any Dance Central on Xbox yet.
Look at the TV-set, after startup, login with: pi / raspberry
First install openssh; for the readers of my generation: that's encrypted telnet.
Enter this:
Configure the raspberry with the configuration screen. Change the settings for: Expand File System, Advanced / Hostname, Advanced / I2C (Enable).
Finally enter "ifconfig", and you should see the RPI's ip-address, in the "eth0" section, write it down.
Now you can disconnect your RPi from the TV-set, take it to another place in your home and connect it to the network. If you haven't downloaded Putty yet, do it now. Start it up and enter the hostname in the "hostname" field, port stays 22 and click "Open". The first time you do this, you need to accept the encryption key. If it does not work with the hostname, perhaps you can try again with the IP-address you wrote down before.
What is nice to have, is that your RPi has an easy access shared drive using Samba. I've searched the internet over and over, but I can never ever find a quick way to configure Samba, to share me a folder to my Windows desktop, without entering credentials, fiddling with file-permissions or assigning incorrect file-owners. No need for a rigorous security policy when doing simple in-home stuff.
The solution is simple, follow these EasySamba instructions from my Github account.
Now, on your Windows PC, you can right-click on your Desktop and add a short-cut. Where it asks for the path, enter "\\<hostname>" or "\\<ip-address>", give the shortcut a name and it should work.
After all this, install mono, Fsharp and Akka.Net like I described before.
Finally, we need a device driver, enabling us to write to the pins of the Raspberry Pi, to signal the Servo Motors. For older models of Raspberry Pi you can use this software. However this does not work for the Raspberry Pi 2B. For the Raspberry Pi 2B, you need to download and install the driver's upgrade, which you'll find here. I understand they both have the same interface, so I assume this project should also work on older RPi's.
Some optional cool stuff. I installed "vssh" on my iPad, which is like Putty, and a great way to login into your RPi. You can use your iPad as a second screen to run "top". Or you can demonstrate the Fsharp Interactive to your little bright nephew and show what's programming about (Enter "fsharpi" in your Linux shell after the setup above).
Another cool thing is that the setup above is enough to run Websharper. In Visual Studio 2015 with Websharper 3.4 installed, I created a new project using the "Self-hosted Client-Server Application" template. This runs a console application.
End of part 1. Not very much FSharp at this point. We'll get to that later.