Quantcast

10 Years of Roomba Hacks: From Magic Marker Art to Combat

By Wesley Fenlon

The first Roomba hackers had to suss out details of the vacuum's microcontroller and serial port, since it wasn't an open source device. Then things changed.

"People have a vision of this multi-function, multi-purpose robot that can do everything except fly," iRobot Senior Product Manager Maurice Leacock told me last September. The Roomba had just celebrated its 10th anniversary, and we talked about the clash between expectation and reality in home robotics. With the Roomba's original release in 2002, it seemed like we were finally closing in on sci-fi's promise of walking, talking, thinking, cleaning robots in the home. The Roomba was just a taste. People expected big things. Instead, well, they got 10 years of Roombas.

The Roomba gets better with each new model, but it's still a bot designed to do one thing: Vacuum. People can keep on wishin' for that multi-function, multi-purpose robot science fiction promised them, but Roombas will keep on puttering around picking up dirt and not doing much else. Something did change about two years into the robotic vacuum's life, though, that nudged it slightly towards that multi-function vision.

Someone hacked the Roomba.

"It took 2-3 years for that to start happening," Leacock estimated. The heyday of hacking the Roomba, he said, came after 2004. Until late 2005, however, the Roomba wasn't exactly an easy piece of tech to hack. A book by author Todd Kurt titled Hacking Roomba, published in 2007, touched on the early days of Roomba hacking.

"Most people who purchased the first Roombas were early adopters of technology and liked the idea of a personal robot to do their bidding. To watch a Roomba roaming around their living room, cleaning up after a mess, was to experience in a small way life in the future. Unfortunately, the Roomba wasn’t very “hackable” by the normal gadgeteer. If you wanted to easily reprogram your Roomba to alter its behavior or make it do tricks, you were out of luck. At the least you had to take the Roomba apart, definitely voiding its warranty. Once inside perhaps you could reverse engineer the small computer (also known as the microcontroller) used as its brain, maybe replace it completely, and hook into the motors and sensors, effectively destroying it for its original purpose. Communities devoted to hacking the Roomba in this low-level way grew and flourished...But hacking the Roomba was a difficult and expensive task, only suitable for the most experienced engineers..."

The early days of Roomba hacking were, as Kurt wrote, not for the faint of heart (or for rookie hobbyists). Photographs of an original Roomba from Roomba Community show a programmable Javelin Stamp micro controller sitting on top of the bot, cables running from it to all of the Roomba's circuitry.

Photo Credit: Flickr user todbot via creative commons.

The first Roomba hackers had to suss out details of the vacuum's microcontroller and serial port, since it wasn't an open source device. Then things changed.

"In December 2005, iRobot Corporation, the maker of the Roomba, recognized the growing hacking community and released documentation describing the Serial Command Interface (SCI) present on third-generation Roombas," wrote Todd Kurt. "In mid-2006 iRobot renamed the SCI to be the Roomba Open Interface (ROI), a name that better fits its role. The ROI allows you to take full control of the Roomba and its behavior. This is no simple remote control interface, but instead a protocol that allows complete sensor readout and full actuator control."

Suddenly, hackers and programmers didn't have to wire additional hardware onto the Roomba just to make it go. They could tinker with the existing programming for the Roomba's five independently controllable motors and variety of sensors. And the awesome hacks began to emerge.

Roomba Hacks: Cockfighting to Kinect

Let's get the obvious question out of the way: What's the craziest thing someone's ever hacked a Roomba to do? "Draw" isn't anywhere near the top of that list--in fact, it's probably close to the bottom--but some of the earliest Roomba hacks turned the robotic vacuums into miniature artists on wheels. Kurt's book includes two cool projects, Making Roomba Sing and Creating Art with Roomba, that show off the early potential hackers found in the bots.

Kurt created spiral artwork with the Roomba by programming its movements with SpiroExplorer. The results aren't astounding, but they'd make for a great introductory hacking project. RoombaMIDI, on the other hand, is a project with some jazz to it. Kurt wrote about various ways to play with the Roomba and music, making it "sing" in various tones, but by far the coolest is controlling the Roomba with a MIDI keyboard.

That's art. But just how versatile is the Roomba, anyway? Amazingly so, and it's still being hacked seven years after iRobot first made it easier for programmers to fiddle around with the Roomba's brains. That's especially impressive because iRobot actually created another bot specifically for hobbyists and educators to tinker with (more on that robot, the Create, in a bit). But first, here are some of the most interesting, outlandish, and impressive roomba backs of the past decade.

Oscar the Hangout robot

Google programmer Gus Class built Oscar, a Google+ Hangout robot, out of an old busted up Roomba and a lot of programming know-how. Basically, Oscar is a telepresence bot that rolls around with a tablet attached to him, and anyone logged into Oscar's Hangout can tell him where to roll to next. The code used to run Oscar is available on Class' blog, along with a short list that sums up exactly how Oscar works:

  1. A web server is running on the robot that takes commands (http://baseURL/command) that will control the robot
  2. A hangout extension is created to control the robot
  3. Participants join the hangout which manages queries to the robot web server
  4. The robot is joined to the hangout so you can see what the robot sees

PLOTS Roomba for measuring air quality

The Public Laboratory for Open Technology and Science modified a Roomba to serve as a rolling air monitor. The Roomba's behavior wasn't modified with this hack--the robot simply served as a cheap base for a mobile, autonomous air quality sensor. An Arduino attached to the robot controlled a volatile organic chemical sensor and an LED that changed colors when it detected alcohol in the air. The hack's creators said that additional sensors could be added to help the robot detect other chemicals, such as formaldehyde.

Image credit: PLOTS

Roomba Pac-Man

There's a certain delightfulness in using a device made for the mundane task of vacuuming for pure entertainment. And the Roombas acting out classic arcade game Pac-Man definitely entertaining. A group of hackers named Jack Elston, Cory Dixon, and Maciej Stachura created a website for the Roomba Pac-Man project to talk about the hardware and software used to recreate the game.

Fun as it is to watch the little robots roll around a man-made Pac-Man board, a ton of work went into the simulation. The Pac-Man Roomba has been hacked to be player-controlled with a joystick, but the ghosts are all autonomous, and are programmed to behave more or less like the real Pac-Man ghosts. They hunt for Pac-Man on the board and run away from him when he activates a power pellet.

The hack is explained and demonstrated in the video above, but just scope out this software diagram from the project website to get a sense for how complicated it is to make a bunch of vacuum players reenact a classic arcade game.

Roomba and Kinect

The Kinect hacking scene absolutely erupted as soon as Microsoft's depth-sensing camera went on sale. Months before the company released official PC drivers, hackers were figuring out how to create new multitouch interfaces with the Kinect. SOme hackers stuck Kinect cameras on quadrocopters. And some, of course, used them with Roombas.

A Japanese hacker named Takashi Ogura uploaded a video of a Roomba vacuum being controlled via a Kinect interface. The Kinect sits on a shelf or TV stand like normal, taking in the person standing in front of it. That person's movements--gesturing their hands forward and back in pantomime of real vacuuming, pointing left or right with one arm--steer the Roomba.

Granted, the Roomba is probably more functional by itself, but this hack demonstrated how easy it was to combine two very cool pieces of technology. And it came out in February 2011, just a couple months after the Kinect's launch. Other videos from Ogura show him controlling a Roomba with an Android phone's motion sensors, with Siri, and controlling both a Roomba and an AR.Drome with a PS3 controller. Simultaneously.

Roomba Fighting

The Roomba was built for a life of peace. In the calm world of the Roomba, thick carpets and chair legs represent the autonomous vacuum's greatest challenges. But hackers have taken Roombas out of their natural habitat and thrust them onto the stage of combat to reenact the battles of their big brothers, the Combots.

Hackers have taken Roombas out of their natural habitat and thrust them onto the stage of combat to reenact the battles of their big brothers, the Combots.

io9 editor Annalee Newitz crafted an amusing account of a Roomba Cockfight back in 2006, describing a competition held at that year's ETech conference. Her story is admittedly better than the real thing, as she writes tongue-in-cheek about the dangerous bots tearing into each other:

"Starting as a rumor, the rumble ended as a battle royal between three Roombas decked out with shark fins, LEDs, ballpoint pens (dangerous when pointed at an enemy) and scissors. Dozens of geeks gathered around the battle platform, screaming and betting various USB devices on the winner. Hopped up on soft drinks and mini-pastries, someone even shot a rival at close range with a marshmallow gun made of PVC pipes. The whole raw, shocking event had been instigated by Phil Torrone, who used to be a robot rights activist before he saw an armed Roomba slice through someone's finger."

There's some video from the event, but the Roombas mostly just bump into each other until one falls off of a table.

These Roomba fights still represent an important point in the robot's history; they took place a few months after iRobot released information on the Roomba's interface. The hackers were able to turn their vacuums into wimpy remote-controlled (via Bluetooth) warriors.

A year after those Roombas did battle at ETech, iRobot decided to take another step to address the Roomba hacking community. At the 2007 Consumer Electronics Show, the company announced a new robot--essentially the Roomba, minus the vacuum--called the Create.

iRobot Create Enters the Picture

"We wanted to ensure [programmers] got exactly what they needed," Leacock answered simply when I asked him about the Create. "Knowing they could take regular roombas and hack them was fine, but with education [there are] challenges with funding for something reasonably expensive."

Today iRobot's Roomba models cost from $350 to $700, while the simpler Create model costs only $130. The idea behind the Create, said Leacock, was to "strip down the products to what [people] needed." Educators were especially a focus for the Create's low entry price.

Photo Credit: flickr user todbot via creative commons

When the Create was released, Todd Kurt reviewed the bot and highlighted some of its hacking advantages over the original Roomba:

"The original Roomba SENSORS command (opcode 142) took one argument describing which sensor data subset (or “packet”) you wanted. Packet #0 gave you all 26-bytes of sensor data, packet #1,#2,or #3 gave you subsets...With the addition of these new packet designators, you can use the SENSORS command to get fine-grained control over exactly what data you want to monitor. And to make it even easier and more efficient, there are three new commands to help you not call SENSORS over and over again.

In addition to the DRIVE command, a new DRIVE DIRECT (opcode 145) is available that allows you to drive each wheel independently. This direct mode of driving the wheels is a welcome addition to those robotics enthusiasts who are used to this method of describing robot drive."

Now that the Create has been around for over half a decade, iRobot has discontinued the Command Module accessory, which allowed programmers to program the bot in C and control it with an external microprocessor. But Arduinos can do the job just as well. Here's another Kinect-controlled hack, this time with an Arduino and Create:

At the end of our talk, I asked Leacock if he thought hackers or robotics companies would be the ones to give us that next big thing in robotics, whatever it may be. He stuck with the middle ground.

"I'd split the difference. It's always been a joint venture. [Hacking] always ends up feeding into our ecosystem and affects our next product...[we] can distill the ideas out there and take them to the next level."

Given how many hackers have used Microsoft's Kinect to combine basic camera vision, depth sensing, and robotics, the follow-up expected to ship with the next Xbox could lead to another surge in creativity.