Design Idea

The goal for this project was have a single device that would allow me to control the roomba remotely without having to open it up and perform circuit surgery. There's a serial port on roomba exactly for this purpose so it's perfect to piggy back our device from. The voltage available to power our controller is 15VDC, too high for the controller I was planning on using so I used a buck/boost converter to step down the voltage to a more appropiate 5V. The rest of the wiring was set up to allow for serial communication with the roomba and the RF receiver.

The code, parts, and other info is available on the project's github page:

https://github.com/arturju/roombaSerial


Putting it together

The +vDC lead coming from the din connector was wired to a toggle switch and then to the boost converter so I could turn the unit on and off. I adjusted the potentiometer to output 5V and used hot melt to secure the position and prevent it form turning. Once the wires were tucked away where i wanted them I used heatshrink to cover up the assembly. The arduino nano and the RF receiver module fit nicely next to the buck/boost converter.

Getting the RF module to correctly communicate took some tinkering. The datasheet says it's able to communicate up to around 5 feet without any antennas but I had trouble with anything more than half a foot. After adding an atenna of the specified length and coiling it up I was finally able to get it to communicate at a longer distance but it was not very consistent. After doing some research, I was able to find a RF library that worked.


Time to clean up

I was succesfully able to integrate the RF modules with the arduino nano after using the RadioHead library for RF communication. This library is loaded on the sender and receiver controllers and, as you can see in the video, it allows me to send commands that get decoded by the receiver's controller. The video shows me toggling the roomba from cleaning to seeking dock.