Project tutorial
WindowsCleaner

WindowsCleaner © GPL3+

Using Windows 10 an Arduino and a roomba cleaning in a fun way the house!

  • 3,488 views
  • 0 comments
  • 4 respects

Components and supplies

R8326274 01
Raspberry Pi 2 Model B
×1
robotcleaner
×1
A000066 iso both
Arduino UNO & Genuino UNO
×1
wifi shield for arduino
×1
7805
×1
old mouse with PS2 connector(green)
×1
Sub-C battery
Used when you have a battery with some died cells
×1
heatsink
For the 7805
×1

Necessary tools and machines

pc with windows 10
09507 01
Soldering iron (generic)
time
drill
Used to make some holes in the Roomba to hold the Arduino.
Screwdriver
Used to open the Roomba and acces the connector/ battery

Apps and online services

About this project

This is captured from above a Roomba, Controlled by a RaspberryPi

This project is about a Roomba(robotvacuum) which is controlled by an Arduino, which is connected(via WiFi) to a Raspberry Pi 2 with Windows 10 for IoT, which shows for example the battery level and other sorts of data. On the RPi2 you can start the cleaner, or if you want some fun, connect your xbox controller and race around your house while cleaning! The data is also uploadable to Windows Azure, and can be downloaded by an smartphone app.

Roomba ------UART ---- Arduino ----WiFi ------- RaspberryPi (------ Internet ----- The Cloud)

*/For the Windows 10 for IoT challenge: I really appreciate it if you would check out my project. I know I am a little bit late, but I was on vacation untill yesterday and have been thinking all the time about it. /*

Preparing the Roomba

  • First get off the greenish plate at the top with a screwdriver
  • You will see a connector at the top of the robot:  

Battery repair

ONLY IF YOU THINK YOU CAN DO IT!!!!

If needed repair the battery:

  • Remove the plate at the underside of the Roomba
  • Remove the battery
  • Take off the yellow plastic
  • Use a multi-meter to test which cell/cells is/are dead
  • use a hobbyknife to remove the sticky paper on the sides of the battery
  • Use some other tools to remove the wire from the battery
  • Get your new battery
  • Solder the new battery in the old battery(Make sure to solder it in the right direction)
  • Use a lot of duct tape to wrap it in, to keep it safe.

The Arduino

The hardware

You need to add a WifiShield to your Arduino and some basic wires and a linear voltage regulator to step down the voltage from 14-20 volts to 5v. 

  • Get an old mouse, with a ball ( :P ) and cut the wire so you have the green connector. Now remove the plastic pin from the middle or it wont fit into the Roomba.
  • Wire the connector to the Arduino:

My final setup:

The Software

  • Download the code from GitHub.
  • Open the Arduino Code in the Arduino IDE
  • Change the SSID and the Password to fit your situation
  • Make sure the Arduino is disconnected from the Roomba.
  • Upload the code to your Arduino.
  • Now you can connect the Arduino to the Roomba
  • The booting time of the Arduino will take 20-30 seconds

The Raspberry Pi

The Hardware

  • Connect a keyboard, a mouse and a internet connection to it.

The Software

  • Set up your Raspberry Pi installation as stated here.
  • Open the .sln(solution) from the RaspberryPi folder in Visual Studio 2015 (on a Windows 10 pc!) 
  • Use an IP-scanner, such as Advanced IP Scanner , to detect the correct IP address of the Arduino
  • Go to MainPage.xaml.cs, line 30 and change the IP to your IP.
  • Run the code on your own pc by clicking on the "Local Machine" button or by executing "RaspberryPi.exe" from the "bin/Release/x64" folder.
  • Or run it on the Raspberry Pi by selecting "ARM" in the drop-down and then "Remote machine". To further get info check out the example project.
  • To set it as a startup application, visit this page.

The screen you will see after "logging" in:

Some "Features"

The AutoControl-feature uses a smart way to get the Roomba to seek its dock, but when you use the control fields when it is cleaning, it will fail.

Sometimes the Time is not correctly set.

If the Roomba is currently working, when you used the Control! buttons, you need to press one of the buttons to stop the Roomba, and click again to start that mode.

The XBOX controller Feature is not yet implemented, this will be done somewhere in the next week. (I had to repair the battery twice...)

Code

Github Repo
Open the RaspberryPi project in Visual Studio 2015, and run it on your pc/ your Raspberry Pi running Windows 10

Comments

Similar projects you might like

Where is my thing?

Project tutorial by Tan See Youu

  • 10,250 views
  • 8 comments
  • 26 respects

Smart Wardrobe

Project in progress by Tan See Youu

  • 18,858 views
  • 8 comments
  • 46 respects

Foodie

Project tutorial by Peyton Casper

  • 2,553 views
  • 0 comments
  • 7 respects

MannyBot365

Project showcase by 3 developers

  • 2,940 views
  • 0 comments
  • 26 respects

Ultimate Kegerator

Project tutorial by Kevin D Wolf

  • 15,905 views
  • 8 comments
  • 56 respects

Windows IOT - Automate your power outlets

Project tutorial by Syed Sanoor

  • 22,137 views
  • 13 comments
  • 48 respects
Add projectSign up / Login