I did this project on the back of this lad – he did all the work. I had a Roomba 615 that I bought in Spain. Basic model but it still has a serial port. I couldnt find that much info about it – I think it seems to work with the 500 or 600 Roomba serial port interfface descriptions.
But I couldn’t do a few things that I thought should have worked like wake up the robot with hardware – I could change the baud rate – and I can get the battery charge and the current through the motors but in general it seems a bit useless if you cant accurately tell what the darn thing is doing. It drove me potty to be honest and I ended up hacking it.
For example you can send it 135 – which starts cleaning – but lets say someone presses a button – there is no way to easily tell if its still running. This was an older one so more a bit of fun.
The code I wrote is here Its a simpler version to the original. The Particle stuff is also pretty neat because it exposes the board as a Wifi and REST so its easy enough to integrate with and looks quite robust. So for example you can send a command to it – I just kept it simple and use the Roomba defined opcodes to drive it. Its really tasty – for example you can send a command to your board with no fuss like this:
So building the din plug and voltage reg was simple enough – I thought that the Roomba doesn’t have proper serial flow management – no hardware or software flow control which makes it interesting but not exactly reliable.
I also like flic – and Google Home – so I used IFTTT to create an applet to use Google home and a Flic button. The Particle integration with IFTTT is great and you can send commands to the board from a flic or google home.
I used a simple box and took the plastic cover off the Roomba so that it can be replaced without damaging it.
Here are a few photos of the caper…