Sphero droid in Go

I had recently been listening to an excellent episode of Coder Radio: Episode 203 “Go Go Golang” Chris and guests were discussing Go, as in golang the Open Source programming language developed at Google.

I was looking for an excuse to muck about with golang, as I like compiled languages for performance reasons. The guest got to talking about gobot.io a robot control library suite they had been developing in Go. This completely piqued my interest, as I have a few Raspberry Pi’s lounging around doing nothing.

I decided one evening to check out gobot.io to see what was available and what the project supported. To my surprise and delight there listed on the page of supported devices was the Sphero from Orbotix. Sitting there in our cupboard full of discarded technology was our poor little Sphero, months since he’d seen an inductive charge, cast aside by my daughters in favour of a Minecraft Server.

Not anymore, now his resurrection is assured in Sphero-Droid an implementation of gobot.io using Internet Relay Chat as a communication channel and programming interface.


The project implements the gobot libraries, coupled with go-ircevent.

The software connects to Sphero via Bluetooth, and logs into a definable IRC channel, In my implementation this is irc.freenode.net #sphero-control. It provides a variety of commands for controlling movement, and the lighting colours of the droid. It can be controlled by others logged into IRC, and makes for fun times if it is being controlled remotely by others who can watch its actions via webcam, on Google Hangouts or from our Kubuntu Parties where we use Big Blue Button. Full Project

Check out the full details on my Sphero-Droid Project pages.


Please use the issue tracker to let me know about any bugs or feature requests, or alternatively make a pull request.


Copyright 2016 Rick Timmis.

Released under the GPL license.

comments powered by Disqus