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!

Scheduler Programmer & "MAX"mode activator for iRobot Roomba

Postby Serge_ISA » December 11th, 2018, 5:28 am

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:

The device connects to the Roomba service connector:

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

And on ATTiny2313:

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

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 -
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) -
Other my projects can be viewed here - ,
User avatar
Posts: 34
Joined: May 16th, 2014, 1:57 am
Location: St.Petersburg, Russia

Return to Robotic Hacking

Who is online

Users browsing this forum: b55er, doublem, generalielts, lanchez, MadAEng, Rar9 and 340 guests