Hacklet 87 – Roomba Projects

First introduced in 2002, The iRobot Roomba was conceived as a robotic vacuum cleaner. Just about every hacker, maker, and engineer out there immediately wanted one. The Roomba proved to be more than just a vacuum though; it was the perfect base for any household robotics project. Before long Roombas were being hacked to do way more than sweep your floor. iRobot recognized this, and added a hacker friendly serial port to later model Roombas. They even released a vacuumless version called the iRobot Create. Thousands of projects have literally ridden on the wheels of the Roomba. This week’s Hacklet is all about Roomba projects.

roomba1We start with [fuzzie360] and Poor Man’s Raspberry Pi Turtlebot. [Fuzzie360] has their Roomba running Robot Operating System (ROS). ROS actually is running on an on-board Raspberry Pi. While Willow Garage may be out of business, ROS lives on as an open source project run by Unbounded Robotics. Installing it can be a chore though. While [Fuzzie360] hasn’t given a full tutorial, they have offered to give advice if and when you get stuck.

A Raspberry Pi would be overkill for the simple suite of sensors built into the Roomba, but it’s perfect for [fuzzie3680’s] modified setup with a Microsoft Kinect. [Fuzzie360’s] goal is to have a robot that can vacuum the hostile territory of a university apartment.


roomba2Next up is [Sircut] who upgraded his Roomba’s power cell. Early Roombas were designed to use Nickle Metal Hydride (NiMH) batteries. The individual cells are built into a proprietary iRobot battery pack. NiMH can’t hold a candle to Lithium Ion batteries though. Lithium Ion cells are very common these days in devices like cell phones and laptops. In fact, [Sircut] used 18650 sized laptop cells for this upgrade. [Sircut] also added the essential LiIon battery protection circuit to make sure those cells stay happy. A voltmeter provides a visual reference that the batteries aren’t becoming overcharged. An upgrade like this will likely double the Roomba’s runtime, but it does come at a cost. Roomba’s original charge dock can no longer be used as the on-board charge circuitry isn’t designed for LiIon battery charge algorithms.

roomba3Next is [Marcel Varallo] with Robot Wars for the Commuter. How does the IT department blow off steam? Fighting robots of course! Unfortunately, [Marcel’s] coworkers aren’t all programming mavens. Hopefully some programming is in the cards for them down the road. For now though, [Marcel] has created a robot fighting league using nearly stock Roomba robots. Each bot gets a set of 3 balloons and 3 pins. A balloon represents a life. Once your lives are all popped, you’re dead! [Marcel] also created an upgrade system where winning ‘bots can move on to stronger weapons like flamethrowers. During his research, [Marcel] found out that the brushes in his Roomba are powerful enough to sweep dust and debris up without the vacuum enabled. So he’s disabled the vacuums for longer cleaning battle times.

roomba4Finally we have [Fredrik Markström] and ESP8266 controlled Roomba. [Fredrick] is hacking an ESP8266 module to be the main computer of this little Robot. Of course, a ‘8266 means it will be carrying WiFi, so this robot needs to have a web interface. [Fredrik’s] first problem was powering the ESP8266. The Roomba’s battery runs around 15 volts, which is definitely not friendly to the 3.3 volt ESP8266. A switching DC to DC converter was in order, and [Fredrik] found the perfect candidate on eBay. The ‘8266 will control the Roomba through the serial interface included on all the current models. [Fredrik] has big plans for this ‘bot, including navigation and advanced vacuuming algorithms.

If you want to see more Roomba projects, check out our new Roomba project list! If I missed your project, don’t be shy, just drop me a message on Hackaday.io. That’s it for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

Hackaday Retro Edition: The RadioShack Roomba

A few years ago, Roombas — everyone’s favorite robotic trash can — graced the pages of Hackaday with reverence. There was nothing this little robot couldn’t do, save for going up stairs. Roomba hacks have died off since then, and these little trash cans have been swallowed up by dumpsters. It’s all very sad, really.

[Mike] has had one of these Roombas around for a while, sitting in a closet, waiting for someone to make use of it. He recently dug it out, looked it over, and watched the LEDs light up after troubleshooting a problem with the batteries. Then the problem was how to control it.

He had wanted to connect it to a VIC-20, but the handy serial port on the Roomba only accepted baud rates between 19.2k and 57.6k. The VIC-20, with the ancient 6522 VIA, could only bitbang a serial port up to 2400bps. Then the idea hit him. In his closet of ancient technology, [Mike] had a Tandy 102, a slightly upgraded TRS-80 Model 100 that could easily drive a serial port at 19.2k.

When it comes to a mobile retro robotics platform, [Mike] couldn’t have found a better computer. The Tandy 102 has a display, a BASIC interpreter, enough RAM to run a Roomba, and is powered by a few AA batteries. He did need a little bit of level conversion for the serial port, but a MAX232 took care of that easily.

With everything put together, [Mike] had a robot and a computer that is at least as good as the old Heathkit HERO robot. You can check out a video of the Tandy bot below.

Continue reading “Hackaday Retro Edition: The RadioShack Roomba”

iRobot Releases Hackable Roomba — Without The Vacuum

We love forward thinking companies that take a risk and do something different. iRobot, the company behind the iconic Roomba, just released the newest version of their Roomba Create — a programmable Roomba (minus the vacuum) that can be hacked and programmed to do all sorts of things.

The company developed the Create with STEM students in mind — a robotics learning platform. It came out originally back in 2007, and we’ve covered many hacks that have made use of it. Many. Like, a lot. One of our favorites has got to be this data center monitoring robot that makes use of the platform!

Anyway, the newest version of the Create features the typical hardware upgrades you’d expect, and with some special emphasis on 3D printing. In fact, the CEO of iRobot [Colin Angle] thinks that 3D printing is going to make a big difference in a few years:

“Your Roomba could be a software file that you print at home,” he says. He says the Create’s new features are a way for the company to get ready for that day, while also providing a platform that educators and hobbyists can use to tinker.

Kudos to you guys, iRobot! We just wish people would stop giving Roomba’s knives…

[Thanks PSUbj21!]

PrintBot Prints On The Ground, Uses Talcum Powder

Yes, this is a printing ‘bot but it’s not a 3D Printer. Even though it’s called Printbot, don’t get it confused with other products that may begin with ‘Print’ and end in ‘bot’. Printbot is half Roomba, half old inkjet print carriage drive and the remaining half is a small PC running Windows CE.

The whole point of this ‘bot is to draw/write/print things on the floor. No, not in ink, in talcum powder! The Roomba drives in one axis as the powder is systematically dropped in the ‘bots wake. It works one line at a time, similar to how a progressive scan TV displays an image on the screen. The PC on board the Printbot reads 8-bit gray scale images from a USB drive, re-samples the image and outputs the image one line at a time to an external microcontroller. The microcontroller is responsible for driving the Roomba forward as well as moving the hopper’s position and dispensing the powder in the correct place. Check out the small photo below. That black and white strip is not there for good looks. It is part of the encoder positioning system that is responsible for communicating the location of the hopper back to the microcontroller.

Continue reading “PrintBot Prints On The Ground, Uses Talcum Powder”

Giving a Roomba Internet Connectivity


What was supposed to be a fun 1-day build ended up turning into a 3-day journey full of close calls when [Arthur] decided to give his Roomba Internet Connectivity.

The Roomba, whom [Arthur] calls Colin, has been in service for a couple of years, and once he got his hands on the Electric Imp, he had just the project in mind.  With embedded Wi-Fi and a 32-bit processor all in an SD Card form factor, the Electric Imp makes it very easy to add the “Internet of Things” to just about anything you can think of.  [Arthur] wanted to gain control of the Roomba, so he tapped into the SCI (Serial Command Interface).  Now he can read out the Roomba’s on-board sensor data including battery voltage, current draw, and even the temperature.

These are the kind of walk-through’s we love to see, because he did it in real-time, so you get to experience all of the “surprises” along the way.  For example, he removed an external charging port to make room for the added components, but that ended up disabling the dock charger.  Then he discovered that when the Roomba was charging, the input voltage to the Electric Imp breakout board was too high, so he had to introduce an intermediate voltage regulator.  But perhaps the biggest bump in the road was when he accidentally brushed the Electric Imp breakout board along the Roomba’s control board while power was on.  Luckily the damage was isolated to just one smoked — a simple FET.  The project turned out great, and (today) Colin’s data is actually visible through a public Xively feed.

Continue reading “Giving a Roomba Internet Connectivity”

Salvaging parts from broken Roomba robots


The great thing about hacking on Roombas is that iRobot used quality parts to build them. [Jason] got his hands on a broken 5XX series Roomba and posted an article about how he reused the salvaged parts.

What you see above is one of the results of his work. This little bot takes commands from an IR television remote control. But he also used the setup to make a self-balancing bot. The two motors from the Roomba have magnetic rotary encoders with 8-bit resolution. Pair this with a well-tuned PID algorithm and you’re in business. The video below shows him testing a motor with his PID code.

You don’t get very much info on the guts of the donor robot. If that’s what you’re looking for you need to look at [Dino’s] Roomba 4000 teardown.

Continue reading “Salvaging parts from broken Roomba robots”

Roomba becomes data center robot


Running a data center takes a lot of work, and even making sure the ambient temperature for hundreds of boxes is in the proper range is an arduous task. When faced with the prospect of installing hundreds of temperature sensors in an EMC data center, [Vivek] had a better idea: put just a few sensors on a robot and drive around the racks. With the right software, it’s a breeze to automate the process and build a near real-time temperature monitoring solution for a huge data center.

The data center robot is based on a iRobot Create, basically a Roomba without a vacuum. Attached to the robot is a netbook, Arduino, and a PVC mast housing three temperature sensors and a USB webcam.

Using the floor of the data center for navigation, the robot canvasses the racks sending temperature data back to a server via WiFi. From there, the temperatures can be graphed to make sure the racks aren’t too hot or too cold.

You can check out a video of the robot in action after the break.

Continue reading “Roomba becomes data center robot”