Roomba virtual wall

De Wiki LOGre
Aller à : navigation, rechercher
Language: Français  • English

Project done by fma38.



The goal is to make a small virtual barrier for Roomba hoovers at low cost (about 20€).

This project is based on this one.


The electronic is based on an ATtiny85, which is more than sufficient for this application. It drives an IR led, and a led to indicate the operation.

The power supply will be done directly from an 18650 battery, which will give a sufficient autonomy (several tens of hours, knowing that a Roomba cycle lasts only one hour). In order not to discharge the battery beyond its limit, we will use the Brow Out Detector of the ATtiny. As the BOD value is 2.7V (+-0.2V), Marc suggested to add a diode in series to power the ATtiny; as a result, the limit value of the battery will be 0.6V higher, i.e. about 3.3V, which is acceptable.

Schematic and PCB

The PCB is made with Kicad.

Roomba virtual wall (Esschema).png Roomba virtual wall (Pcbnew).png Roomba virtual wall (3D).png


At power on, the IR led will send the code 162 corresponding to the Roomba virtual barrier. As the cycle of Roomba is about 1h, the barrier will automatically switch off after 80mn, to avoid draining the battery (deep sleep).

In addition to the BOD (see Hardware section), which will only be used in extreme cases, the ATtiny will monitor its supply voltage, and will enter into deep sleep if the voltage drops below 3.5V.

The code is a reworking of the project code mentioned in the Presentation section.


A small box designed to be 3D printed allows the circuit to be housed and positioned on the ground in the right place.



Possible developments

  • add an IR receiver to detect when Roomba is approaching, and only trigger the IR beam when it does. This would allow the virtual wall to be left on, and save battery power


Current version of the code, with supply voltage monitoring, but no start button nor automatic stop:

Cf french page