With Scratch support completed, I’ve reached the end of what I wanted to achieve with the All-Terrain Pi. It’s been about 20 hours’ work overall — quicker than I expected, particularly getting the webcam streaming and creating the Scratch interface, which I thought would be a lot more painful than they were.

Just like the tank before it, it’s time to hand this toy over to my son. We took it to the Constructorium hackerspace meeting at the library last Saturday and put it through its paces, first with the phone controls and then by programming it.

Programming the robot in Scratch

It turns out that thanks to his school and my mother, he’s actually pretty good with Scratch already. By the end of the afternoon he was not only programming the All-Terrain Pi to drive around (and bash into things repeatedly), he was teaching the grown-ups how to use Scratch as well!

Here’s the program he created, with a little help, to drive the robot around using keyboard input:

Keyboard control in Scratch

As I said, that’s about it for what I originally set out to do. Some ideas my son and I have come up with for activities with the robot, which we may or may not get around to, include:

  • Control of an on-screen “All-Terrain Pi” sprite in Scratch, so the sprite moves the same way as the real robot
  • Hook it up to the Minecraft API, so the robot moves the way your character does, or control it with in-game redstone inputs
  • Take it to school (if the teachers allow!) and have the kids compete to write programs that drive it around an obstacle course

Look forward to more robot-building soon!