Shortly after we bought our Roomba, it became clear that the virtual wall idea is truly useful. However, there are a few flaws with the one that comes with the vacuum: the device is rather large, it doesn’t sit in a very stable way on carpet, and it is generally too easy to move—mainly because of the prior two issues. Therefore I immediately began thinking about building an alternate version of the device. It would have two main features:
- It must be as small as possible
- It must be easy to wall-mount
These made me think of the ATTiny85. It is both small and cheap, and comes in a DIP package that would be easy to solder. These days, I like to test my initial ideas out on the Adafruit Trinket, and I build my first prototype with that. The code is on GitHub, and the assembly pictures are below.
This has no dedicated power supply because it relies on the +5V coming from the Trinket. Also notice that there is an IR receiver and a few more jumpers on the actual breadboard in the photo. That is from an additional test sketch that I was running on a separate MCU board to test the actual transmissions that were coming off of the IR LED. Testing this circuit on the Roomba proved successful. Initially, I had too large of a resistor on my IR LED, and the signal was too weak. But with the 51 ohm resistor, it has a range of a little over two feet, which is more than enough.
Next up was building a more real prototype using the actual ATTiny85 chip. I’ll talk about that in my next entry.