Wednesday, 29 February 2012

Roomba - Serial port ahoy!

 In order to do anything fancy with the Roomba we're going to need to interface with it somehow. Fortunately iRobot have made this quite easy. The picture below illustrates the Roomba, simply sitting on my floor.

Roomba at charge, click the image for a larger version
Remove the tray and pop off the green decorative panel:

What have we here (click image above for larger version)
Note the little black circle on the right

Mini din connector (click image to for larger version)
The area encircled is a 7 pin mini din connector, click the image to get a better view. If your roomba was made after 2005 it should have one of these too. 

Access to all sensor information and Roomba functionality is available via this port.

I picked up an 8 pin mini din connector in Maplins (a UK high street components retailer) for £1.79:

8 pin micro din
They didn't have a 7 pin, and the 8 pin is compatible with the connector, so don't worry. Farnell are also really good for components in the UK, if you don't mind waiting for delivery. So the plan is to build a cable to allow me to communicate with the Roomba, and get it to do fancy stuff.

Cable you say? Trailing around the flat as that mechanical contraption leads it on a merry dance? Are you quite mad sir?

My plan is to use an Arduino board, with a wireless module which will sit on top of the Roomba, allowing wireless communication between the Roomba, my home network and the internet. 

Not my arduino, or my hand.
An Arduino is an open source microcontroller allowing rapid prototyping and interfacing with other devices. You program it using the cross platform (Linux, Mac, Windows) development environment/ Additional hardware can be added in the form of 'shields', which are stackable on top of each other. There are a great deal of shields on the market, providing different features/functionality. I plan to use one shield to provide the wireless network functionality I require.

I happen to have an Arduino lying around, they're not terribly expensive. As it's open source there are several other implementations of the Arduino on the market, often referred to as clones. Some are application specific, for example the LilyPad, an Arduino compatible board aimed at wearable computing/sewable electronics. The schematics, all code and development environment are Open Source, so if you have the time and the skills you could build your own Arduino compatible board.

I digress. In my next post I'll describe the process of creating the cable.

For now I'll leave you with highlights of the 12/12/2011 LA Monome meetup, I wish I had been there:

Raspberry Pi - Ordered!

From about 6 am onwards I attempted to order a Raspberry Pi, model B. As expected the web servers in question go hit hard. It was reminiscent of the first 'free day' Sparkfun had a couple of years ago. Eventually at 8:15 am I managed to get place an order with Farnell, half an hour later my confirmation email arrived.

Much bitching whining and over reacting on Slashdot, as expected, but I'm happy that I've got one on order somewhere, and it'll turn up at some point within the next couple of months.

To cheer up those who have yet to secure an order, Safety dance by Men without hats:

Raspberry Pi - Launch day?

So it's 5:56am, like many other people I set my alarm early to try and order a Raspberry Pi device. A $35 single board computer, ARM CPU, 256MB RAM, SD Card slot, HDMI and RCA output. There are two models A and B, the latter having an Ethernet port and two USB ports.

I've been following the ongoing saga, development issues and production setbacks for some time now, I've got some interesting plans for these devices.

A far cry from the Amstrad CPC 464 :)
There'd been a lot of buzz on the Raspberry Pi forums of late, a post recently on the site telling people expect an announcement. Many people, myself included expected to be able to order one of the first batch today, however the plan now seems to be to register your interest via Farnell or RS. Both sites are now flat lining under the load.

Just checked the BBC news site, they published a story at 6:01

Hang on in there folks, back to bed for me.

Monday, 27 February 2012

Roomba - It's alive!

Just a quick video showing the fully charged replacement battery in action. Roomba is returning to the docking station. I cut out the sound as I had radio 4 on in the background. Higher resolution video available on YouTube.

Note that when it's cleaning the floor it moves much quicker, this is docking speed.

As previously mentioned, the roomba required a replacement battery. In my next post I'll detail how to diagnose charging problems. Is the base station broken? Is the charger faulty? Is roombas battery not holding charge? Stay tuned for some top roomba power diagnostic tips. Multimeter required! - packaging and delivery fail.

Late last week my dad's graphics card failed, so I ordered a replacement. The card which failed was a Nvidia 8800gt 256MB. The replacement I ordered was an ATI Radeon 7750 1GB. My dad does some light gaming but mainly graphics editing, standard desktop application use and some video work, so for the price the ATI card was a good deal.

Shortly after ordering I received an email from telling me that the order had been shipped, the courier was DHL and a tracking number was provided. 

When I went to the DHL site their tracking system didn't recognise the reference number dabs provided.

Later that afternoon a package arrived at work, from Yodel, not DHL as dabs would have had me believe.

The graphics card with packaging measures 23.5x19x7.5cm, the box which arrived at work measured 49x59x30cm. What a crazy waste of packaging and space while in transit.

Wait, that's not a real woman!


Don't worry, I recycled the packaging and have made Dabs aware of the multi fail.

Sunday, 26 February 2012

Welcome to the future

As a child of the 1980s as well as an unhealthy fear of nuclear war I grew up with various things which were constantly on my mind. I've always been interested in technology, it's applications and impact on society as a whole and to individuals.

For a while the shows like 'Tomorrows world', cartoons, the news and mainstream cinema made one thing clear, pretty soon we'll all have a robot in our house to do our bidding, whatever that may be at the time.

So towards the end of last year while browsing ebay I decided to bid on a robot I could have at home. For ~£50 I picked up an iRobot Roomba 530, sold as needing a replacement battery.

The Roomba is a circular robot which vacuums the floor. This is ideal for me, I can switch it on each day before I leave for work and it'll vacuum my flat, return to it's docking bay to recharge and all I have to do is empty it a removable section where the dust is stored into my bin. So while I'm getting paid to cut code and solve problems, the roomba is cleaning my flat.

A good clean (seriously, if you're going to sell stuff on ebay at least clean the items before you post them to someone) and a replacement battery was required before it was up and running.

This is a good start, but I want more from this device. I have a terrible habit of always wanting to modify or hack things I buy, the roomba is no exception.

This blog will start out with me describing my investigations into roomba hacks/mods. My basic research so far shows that with some basic DIY skills it's possible to add functionality to my roomba, some of which exists on newer more advanced (and expensive) models, some of which iRobot don't even support yet.

My next post will contain a breakdown of the roomba, outline the mods I initially plan on implementing,

I feel that a fitting way to end this introductory post is to sign off with a video combining Robots, Tomorrows world and Kraftwerk. So here's Kraftwerk's robots from around about 1991 (the Mix tour) on Tomorrows world: