Scheduler Programmer & "MAX"mode activator for iRobot Roomba

Inside the Roomba and Scooba and more, Cool mods, Repair and Upgrades - including the all new iRobot Create Kit. Let's void that warranty baby!
Post Reply
User avatar
Serge_ISA
Posts: 34
Joined: May 16th, 2014, 1:57 am
Location: St.Petersburg, Russia

Scheduler Programmer & "MAX"mode activator for iRobot Roomba

Post by Serge_ISA »

First of all, excuse me for bad English. This is not my native language. The text is pretty big and I was too lazy to translate it myself, so I used Google Translator. :oops:

I present to your attention a small, simple and cheap device for setting the schedule for automatic cleaning in any iRobot Roomba 500-800-series. With the help of this device, you can use even the cheapest Roomba models (505-539 and 610, 620, 630) in automatic mode.
An additional function of the device is the ability to program the automatic replacement of the usual cleaning for cleaning in the "MAX" mode. The "MAX" mode is cleaning up the maximum duration before the batteries are discharged, similar to the Roomba 400 series.

The device is implemented on ATtiny13 and ATTiny2313 microcontrollers in two versions - external and embedded.

Scheme and implementation of Roomba's external scheduler programmer:
Image


The device connects to the Roomba service connector:
Image


Scheme and implementation of embedded programmer on Roomba 5xx/6xx:
Image


And on ATTiny2313:
Image


The device allows you to program one of the 7 schedules, which is selected by the buttons CLEAN, SPOT and DOCK:
Image


If you press the bumper during programming, you can change the setting of the robot clock. If the bumper is not pressed, both the clock and the scheduled cleanup time are set to the current time. If you press the right side of the bumper - the time is set to +12 hours relative to the current. If the left side of the bumper is pressed, the time is set to +6 hours relative to the current time. If both sides of the bumper are pressed, the time is set to -12 hours relative to the current time.

The set schedule can be deleted by resetting the robot (press the Dock and Spot buttons simultaneously and hold them for 15 seconds), then release the buttons and no longer press them.

If the schedule is programmed on a robot on the floor, the "MAX" cleaning mode will not be used. To use the "MAX" cleaning mode, schedule programming must be carried out on a robot with free-hanging wheels, for example, to hold it on your hands. At the same time, after programming the schedule, the robot will issue an additional two short “squeaks”.
The operation of the device to turn on the "MAX" mode can be monitored when the robot starts cleaning - during the first direct part of the movement, the robot stops and after a second begins to clean up again. In this case, the backlight of the "DOCK" button will be lit continuously.

Warning #1 - for operation in the "MAX" mode, the device in the external version must be inserted into the robot connector CONSTANTLY.

Warning #2 - a device in the built-in version can block the operation of other devices connected to the robot connector!

Warning #3 - schedule, hours and cleaning mode "MAX" are reset when removing the battery from the robot and when the battery is completely discharged. In this case, you need to re-program the schedule and use of the "MAX" mode.

Firmware here - https://yadi.sk/d/c7nZtww1m5bYE
When flashing, change only one fuse CKDIV8.

Video (built-in device, set the schedule number 3, the first start in a minute, the "MAX" mode is activated and turned on at 1:25 video) - https://yadi.sk/i/90TgoEn4mVZJK
Other my projects can be viewed here - http://roboforum.ru/forum90/ , http://ixbt.photo/?id=user:1114936
Post Reply