This roomba had the entire server stack, with the exception of a reverse proxy, physically located on the roomba itself.
This system was optimized for only one roomba to be controlled over the network. Later, a new system, dubbed the Multi Roomba Rover system, would be devised to allow for multiple roombas without needing to run a full separate server and website for each individual roomba rover, and reducing component cost per rover.
-
The Original Roomba Rover was based on a 600 series Roomba platform. It used a Raspberry Pi for hosting the website, processing video, audio, and control I/O. An Arduino was used for communication between the Raspberry Pi and the Roomba, through the roomba's debug port. The camera was a PS3 Eye camera, and the device had an entire small screen display mounted on top.
+
The Original Roomba Rover was based on a 600 series Roomba platform. It used a Raspberry Pi 3 for hosting the website, processing video, audio, and control I/O. An Arduino was used for communication between the Raspberry Pi and the Roomba, through the roomba's debug port. The camera was a PS3 Eye camera, and the device had an entire small screen display mounted on top.