DIY Roomba Virtual Wall

Recently, my Roomba virtual wall broke. Not sure what happened. I did a battery change, and the darn thing will not power up after the new batteries were inserted.

Anyway, while looking online for a new virtual wall to buy, I came across info on people making their own virtual walls. Here is a links dump:

Turns out it is extremely easy to produce the IR signal emitted by the virtual wall. It's basically 0.5ms mark, 7.5ms space, 3 times, followed by 132ms of rest (based on the info given here), over a 38KHz modulation frequency.

I decided to test the idea using a simple ATtiny85-based circuit on the breadboard:

The test program is as follows:

#include <tiny_IRremote.h>

void setup() {

void loop() {
  for (int i=0; i<3; i++) {

My initial attempt using the IRRemote library found in Arduino's Library Manager didn't work, though ATtiny85 is supposed to be supported.

Being the lazy bum that I am, instead of trying to debug the library, I simply googled around and found another IR remote library called tiny_IRremote. I downloaded the library and changed the include file, and to my amazement, the test circuit worked on first try!

The IR LED that I was using on the breadboard was the one salvaged from the broken virtual wall. I also tested another IR LED that I removed from an old TV remote, as well as a IR LED that I found in the original Arduino kit purchased many years back. They all worked without a problem (at least with the two 500-series Roomba in my possession).

Now that the proof-of-concept works, I am going to build a replacement Roomba virtual wall with the ATtiny85.


Popular posts from this blog

Adding "Stereo Mixer" to Windows 7 with Conexant sound card

Attiny85 timer programming using Timer1

Hacking a USB-C to slim tip adapter cable to charge the Thinkpad T450s