Hack With A Sphero In Boulder – Win $5,000

Last week President Obama played with a Sphero. This weekend you can win up to $5,000 at the Sphero Hackathon in Boulder. It starts Friday May 4th at 6pm with a Welcome Reception (which means beer and Spheros) and runs all day Saturday and Sunday where you can hack with Spheros and the Orbotix SDK. I’ll be around Sunday from 1pm to 3pm taking a look at what people have done, playing around with the apps, and answering any questions about why I think Sphero (and Orbotix – the company that makes Sphero) is so awesome.

Two new apps have recently come out for the Sphero. The first, Chromo, allows you to play with Sphero in a whole new way. While Orbotix’s other apps allow you to control Sphero from your device (kinetically and via a digital joystick), now Sphero is the controller. The video tells the story better than words.

The other app is MacroLab. Did you have a Big Trak as a kid? If not, you missed out, but you can relive those missed moments with MacroLab. As before, let’s start with a quick video.

MacroLab is a tool Orbotix developed for internal purposes that turned out to be so powerful they decided to make it available to all Sphero users. It is essentially a high level abstraction of the API that runs in the ball’s memory that commands the robot. It makes the API accessible to people who don’t know how to program an iOS or Android app.

When a user creates a macro they send a series of commands to the ball. Macros are made by stringing together 27 basic commands (by comparison the SDK has about 300 commands – most are UI/robot housekeeping based but 100 are ball control related). Each command is executed in sequence. Following is an example (called “test”) along with an explanation.

– Calibrate – this zeros out Sphero’s heading so you know which way he will go after you aim him
– RGB – this changes the color of the LED to purple – the numbers are the RGB settings
– Roll 0.5 0 0 – 50% speed (0.5), 0º heading = straight ahead, 0 second wait time before executing next command

If we stopped here the LED will flash purple and Sphero would run away at 50% speed and only stop when you exit the macro. Basically the macro runs for a fraction of a second with an open ended roll command. The Sphero goes white (his default color) after the macro is run. In order to not have an open ended command we need to add some more stuff.

– Delay 5000 – this means to wait for 5 seconds, Sphero uses milliseconds so 5000ms = 5 seconds
– Roll 0.0 0 0 – 0% speed (0.0), 0º heading, 0 second delay
– RGB – change LED color to orange
– Delay 1000 – Wait for 1 second

The entire macro runs for 6 seconds. Sphero will turn purple, drive for 5 seconds at 50% speed, stop, turn orange for one second and then end by turning white.

The commands for MacroLab are very basic but powerful enough that Orbotix uses them to run tests on the factory line and form the basis of programs like “Draw N Drive” (every line you draw gets converted to a macro and the ball executes the command). The complete command list follows:

  • Roll – sets the ball in motion
  • RGB – changes the main LED color
  • Calibrate – zeros heading
  • Delay – wait time in ms before executing next command
  • Fade – fade between two colors over a set period of time
  • Back LED – turn the blue aiming LED on/off
  • WaitUntilStop – don’t execute the next command until Sphero has stopped moving
  • Rotate Over Time – turn xº in y seconds
  • SD1, SD2 – global variables for system delays – useful when you want a bunch of commands to use the same delay
  • SPD1, SPD2 – global variables for ball speeds – useful when you want a bunch of roll commands all at the same speed
  • Roll SD1, SPD1 – roll command that uses the system SD1 for delay and SPD1 for speed
  • Roll SD1, SPD2 – roll command that uses the SD1 for delay and SPD2 for speed
  • RGB SD2 – change LED to RGB setting but use SD2 delay time for duration
  • Rotate Over TIme SD1, SD2 – rotate over time command but uses the system delays SD1 and SD2 respectively
  • Goto – calls another macro or restarts the same macro
  • Rotation Rate – set how fast the ball can turn
  • Stabilization – turns the control system on and off -when off the robot will not move inside the ball
  • Raw Motor – command the motors without any control system enabled
  • EMIT – Displays a message on the phone when the ball hits that point in the macro – useful for debugging
  • Sleep – Puts Sphero to sleep
  • Loop For, End – Create loops within the macro
  • Comment – ability to add comments to your macros – no effect on the ball

When I first heard the idea for MacroLab I smiled a huge smile. It’s the beginning of Orbotix opening up their robot control language, which is part of the magic behind the premise for our investment in Orbotix. I’m amused when people say “why did you invest in a toy ball company?” when what we really invested in was a bunch of geniuses working on a robotic operating system that happens to start life out as a robot ball that you control with your smartphone.

What are you waiting for? Buy a Sphero today and get started. And come to the Sphero Hackathon in Boulder this weekend.

  • This will be lots of un – I’ll be there.

    One question though – the Hackathon page notes a bunch of stuff that is provided, but Sphero itself isn’t mentioned.   I’m assuming that attendees will get to use one at a one-to-one ratio, correct?

    • Yup.

    • Paul Berberian

      Yes plenty of Spheros for all to play with – and if you show up you can buy a Sphero at a Hackathon discount.  Folks that don’t know how to program can come to learn MacroLab – an hour visit will make you an expert in MacroLab.

      • thnx, Paul.  suspected as much + was asking on behalf of everyone attending.

        You guys have come a long way in a short time – seems like just yesterday you + I were talking abt sphero at the Blur Conf in Orlando, while Brad + Eric lurked nearby.

  • Craig

    MacroLab and Sphero together sound like a physical implementation of the LOGO turtle, really cool.

  • Frank Miller

    This is a terrific idea.  I’ve been watching with grinning curiosity at the development of this product.  But I wonder what causes this device to become a money maker?  Developers are the answer!  They’ll eventually (we hope) come up with that killer app that would make this thing a must have in volume for somebody.

    Just a thought, how about making the case transparent and including a camera on some sort of mount inside that keeps the camera stable and selling it to the military and first responders for hostage situations or reconaissance or something?  Its so small, it could go where lots of current robots can’t…

    • Paul Berberian

      The camera idea is the most often requested feature we add to Sphero.  There are a few problems with adding a camera – first you need to rememeber you are driving on your lens.  It’s a ball with a freely moving robot on the inside – this means there is no spot on the outer shell that is always in the same position relative to the robot. Since the ball rolls on the ground the shell will scratch (rather quickly plus the robot can scratch the shell on the inside if jostled or thrown). Second, we use Bluetooth communication and the data rate is too low for decent video.  Finally, there are dozens of tiny rovers with cameras and treads that are already providing the roll of video surveillance.

      All that said we are listening and have come up with a WiFi accessory idea that is essentially a cage around Sphero that has a camera mounted on top.  This most likely would be available in 2013.

      We have been approached by several companies to make the ball for surveillance purposes but the tiny robot is not ideal for high rubble or outdoor environments.  Surprisingly, one of the better environments for us to operate in is water.  SInce we float and maneuver with ease, we can easily loiter in one spot and detect vibrations of passing vessels.

      For surveillance, other sensors might provide more useful information than a simple camera – for example a thermal imager to detect the signature of body heat or an extremely sensitive motion detection might help identify if anyone is in a room.

      The fun factor of having a video feed is not lost on us – our goal was to create something special that no one has made before – cameras on RC devices are actually pretty common – even at the consumer level.  On top of that, we want to keep the price low and the use simple.  Moving to WiFi would require a more complex setup and inconsistent reliability if you are moving the ball from place to place.  Bluetooth is simple one time setup process and once complete you can use it everywhere with nearly instant connectivity – it’s perfect for our application.

      When making a consumer product lots of decisions need to be made – the camera idea was one of the first features we had to address since that is what folks naturally think about when they see a wireless machine moving on the floor.  For us, it was the right decision – we wanted to be different – so we put money into some extremely accurate sensors.

      And then of course there is the awkward experience of having a camera on a ball and rolling under a lady wearing a dress… Sphero will no longer be the life of the party – well for some party goers:)

      • Frank Miller

        I understand the rolling issue but that might be solved by something as simple as roll to a point, stabilize for the camera then start shooting, i.e. only shoot when you’re not in motion.  Still gets the job done for the apps I mentioned and eliminates lots of problems.

        You could look at some kind of self stabilization based on gravity for
        the camera.  I seem to recall seeing some sort of toy rubber ball or
        something with a little car or house inside mounted such that it always
        face up no matter how the ball rolled.  I know thats vague but seems
        like something that might be interesting here as well.

        I’ll assume you use low rate Bluetooth to maximize battery life.  It sounds like you’re targeting operational situations where you want the thing to run as long as possible which makes sense for a toy in the consumer market.  If you’re targeting other apps where the useful life of the device is perhaps shorter, i.e. roll into a building and show me whats there, you might pick a different wireless technology that draws more power for the video but allows for higher bandwidth during its shorter battery life.

        The thing thats interesting about the package you have in my mind is that everything is inside of a sealed volume.  To me that allows it to go places that a traditional robot with a body on legs, tracks, or wheels may not be able to go.  I think it has the ability to take advantage of continued trends in miniaturization of the internal components as time goes on better as well.  As everything gets smaller, you just keep shrinking the diameter.

        From a scratched “lens” point of view, I read an article last week about a new type of glass that was recently developed at MIT, tough, no glare, etc.


        This could potentially take the “lens” effect away completey, then you just have to worry about scratches.

        As I’m going through this comment thread thinking out loud, its becoming apparent to me that what you have here is a very interesting robot packaging concept but one where what you stuff inside that package is clearly app dependent.  Since I’m having fun with free advice, I’ll conclude by reminding you (what you probably already know) that such an interesting new concept may or may not work in the market you are initially going after.  Remember to be open to other apps that come along!

        Good luck and Godspeed!!

  •  “why did you invest in a toy ball company?”
    Didn’t you invest in some toy guitar company… and exit for a huge multiple.  SoLoMo hasn’t cornered the market on opportunity just yet.

    • Yeah – that would have been Harmonix.

  • mattweeks

    please put a tiny one inside a golf ball.  Loads of fund on the putting green. 
    :)Matt Weeks

  • DebraPMeredith
  • Leojsipo

    the sphero is so so so so so cool

  • Pingback: instant car insurance quote()

  • Pingback: auto insurance quotes()

  • Pingback: cheap car insurance()

  • Pingback: online cheap auto insurance()