When I first saw the Sphero, my reaction was "a remote control ball? That's odd." Orbotix advertises it as a "spherical robot" or a "multi-platform gaming system." Those are less odd, and it qualifies as both. I was given one as a gift, and was pleasantly surprised by it.
Setup is easy. Take it out of the box, plug in the base, set it on the table, then move it to the charger. You can see the box, Sphero and charger, with a netflix envelope for scale:
Now wait for it to charge. And keep waiting. It's as bad as some of the electric gadgets from the 80s. Possibly the problem is that it's using an inductive charger. Since doing that makes it waterproof (yes, Sphero can swim!), so I think it's a worthwhile tradoff.
While it's charging, you can download some of the apps available for the thing. At this time, there are 20-odd apps, ranging from a simple RC controller, through multi-player, multi-sphere robot games.
You then use your phone or tablet preferences to pair with the Sphero. When the Sphero isn't connected to a device, it flashes three colors in sequence. Those colors are reflected in the device name you'll see in the preferences. Mine flashes yellow, green and then blue, so the name is "Sphero-YGB".
On Android devices, you then open an app, and select one of the paired devices to use. The names for the devices are the same as you pair with. On my phone - running a year and a half old version of android, connecting was inconsistent. I've had problems with it using other bluetooth devices, so it's partly the phones fault. Using a tablet with a recent version of Android had no problems.
You can see the binding process here:
FIrst, it's sitting blinking it's ID colors. After it binds, it goes red - my preferred idle
color. After that, it starts running a color-changing macro.
Remote control ball
Since this is an RC forum, I'll discuss that aspect first, but try and stay brief. It's actually more fun than I expected. The Drive
app provides three different control modes, a classic two-joystick surface vehicle system, the ever-popular (at least for bluetooth rc devices) tilt steer, and a single joystick that works like the right stick on a mode 2 helicopter transmitter. The controls are reasonable responsive, but the device momentum makes it more like flying a helicopter than driving a car.
You can use the app to change the ball colors and run one of a fixed set of "tricks." It is, however, missing the nearly ubiquitous record
facility found in most bluetooth rc devices. Of course, that's more of a robot function, so we can talk about that.
What takes this out of the "remote control" arena and into the "robot" arena are the data channel flowing back to the computer, and the ball's ability to load and run user-supplied program.
Part of the data reporting ability is similar to the gps telemetry function of better RC gear. It also provides collision notifications, so you can react to more than just position. In theory, you could use this to do an exploration of the environment, but none of the available apps do that yet.
The primary means of programming the robot is to write an app for either Android or iOS. There are bindings available for both Python and node.js, which may make it possible to do so from other platforms. The on-board program execution ability is meant to help programmer more than end user. For now, non-programmers are restricted to writing macros in a relatively simple macro app, and running or sharing those. If you're writing an app (or presumably a Python or node.js script), you can load macros created in the app. There is also a simple BASIC interpreter running on the Sphero. A BASIC editor application is in the works, but not yet available, so loading BASIC programs requires an App (or another language binding).
Here's a demo of the Sphero running a complex pattern macro:
The Sphero has the ability to process commands remotely whele running a macro, assuming the commands aren't interfering with each other. You can see it running the strobe macro shown earlier while I just fool around with the RC facilities:
The gaming platform aspects of it are definitely strange. You can use it as a six-axis controller with a shake
action as a button or trigger. A fair number of the apps available are games that do this. Someone has a demo of using that facility to control an AR drone:
However, it can also be used as game display, with color or motion being part of the game. There are multiplayer party and combat games that do this.
Finally, there are a few augmented reality
games, where the screen displays a video imaged modified to add game elements, and you interact with the real world elements as part of the game.
Like I said, this was a gift. I didn't buy it myself, and probably still wouldn't. I can see why it costs what it does - they put a lot of hardware into that little ball - and there's a lot you can do with it. I'm just not sure it's enough to justify the cost.
- It's inherently cool, because it's a robot
- The games you can control with it are fun.
- Programmable - you can make it do anything you can write the code for!
- Cost. It does extremely little for a $100+ rc toy, or robot, or controller.
- The control functionally is very, very hard to get used to.
- Charging takes a long time.