Embedded Linux
While the microcontroller inside the Roomba is too tiny to run a full operating system like Linux, there are several small and cheap Linux-capable boards that you can discretely fit on top of the Roomba.
Stay tuned for code downloads of an OpenWrt-based Linux system to control your Roomba! (or get the book :-)
For now, if you’re experienced with OpenWrt and C, you can get the “roombacmd” C library from the SVN repository and the ipkg package control files:
- roombacmd svn
- roombacmd ipkg contents
- romobacmd_1.0-1_mipsel.ipk — built ipk file
- http://roombahacking.com/software/openwrt/ — other potentially useful wrt things
Brilliant. This is an excellent library.
I’d be more interested in reading about how you get the 5V to drive the router at 2.5A. Damn. I might have to buy this book.
I have a Roomba 560, and are planning to use the Roomba built in IEEE 802.15.4 wireless tranciever (MC13202) to communicate with my embedded linux card placed in a wardrobe. It should be pretty easy to multiplex the original data through the SPI interface with the data to/from the Roomba Command Interface using a little microcontroller.
It is not enough room within the Roomba to place a linux card there, and it is also a waste of power.
My embedded linux card consumes 1W (1A at 5V), so I can have it running all days long without high electricity bills. :) (It is a Foxboard, by the way.)
Obviously I ment 1W = 0.2 A at 5V. :)
Obviously I ment 1W = 0.2A at 5V. :)
any code for the mapping system?
I’ve not done any mapping code for the Roomba. I think other have, but I don’t know any links. Google for “roomba robotic mapping” perhaps.
Could you post an ipk file for openwrt? I’m not really setup to compile
Do you mean an ipkg file? There’s one listed in the post.
Maybe I am missing something, other packages I can do an:
#opkg install PACKAGE
I’m unclear how to get from what’s posted to that point.
Thanks for the help, somewhat new at this.
Oh, you’re totally right, my apologies. I thought I had put the built package file up, but instead put a link to the directory for the stuff needed to build the package.
I’ve updated the post to include a link to the .ipk file. This was built a few years ago so it may not work on more recent versions of OpenWrt (I don’t see why not, but just a warning). I also don’t have have an OpenWrt cross-compiling set up right now, or I would rebuild the package.
Alas not:
# /usr/bin/roombacmd
/usr/bin/roombacmd: can’t resolve symbol ‘__uClibc_start_main’
Thx.
Hmm. You might need to install some uclib ipkg. I need to find a copy of my book to remind myself the steps to get this working. :)
Can you install Android OS on roomba?