Since iRobot hasn't provided linux users with a way to use the command module, I had to figure it out myself.

Don't be intimidated, its not hard at all, really. All you need to do is run a couple of scripts.

Lets get started, shall we?

Step 1: Get the goods

For this tutorial, I'm assuming you have an apt-based package manager. (i.e. you use a Debian derivative, or an Ubuntu derivative) Simply because apt = good.

If you don't, I assume that there are the same packages for yum, but I can't test that. (Fedora doesn't like me)

Now, you must run a long and complicated thingymabober:
sudo apt-get install avrdude avr-libc gcc-avrsudo apt-get remove brltty

And yes, removing that package is safe. (Tip from here) If it gives you an error saying its not installed, you're good, don't worry.
I haven't heard about this iRobot Create thing before, but it's good to know that there is Linux support. I may just go out and get one, since at least I know it'll be usable :-). You mentioned apt-based package managers, but why not just link the source (for those of us who prefer not to use package managers)?
The source, patches, and build instructions for the packages you mentioned all appear to be available here: <a rel="nofollow" href="http://www.nongnu.org/avr-libc/">http://www.nongnu.org/avr-libc/</a><br/><br/>For anyone who doesn't want to bother with yum/apt/rpm/whatever, this is probably a good place to go. That said, the debian packages may be patched up or may just work differently due to version differences. I don't know.<br/><br/>I've gone through a full from-source avr-libc / avr-gcc / avrdude install before, and it's not too hard.<br/>
Hi, has anyone managed to get the iRobot Create working on linux without a command module, ie hooked up directly to a laptop with a DB9-USB converter ? If so which exact model of DB9-USB cable turned out to be compatible with linux and the Create ? Also how did you interface with the robot on the linux side... can you just write C or C++ programs that make use of the Open Interface and send raw bytes to the robot for control ? feel free to pm me if you wish to do so. thanks in advance.
I'm posting it here because everyone can benefit from the knowledge :-)<br/><br/>Yes, you can communicate directly with the create using the cable that comes with it that is pictured in the first picture in the &quot;trunk&quot; so to speak &amp; not plugged in. Its a serial-to-proprietary connection; if you don't have the serial, you can use any serial-to-usb converter. <br/>From there, you can use any linux equivalent to <a rel="nofollow" href="http://realterm.sourceforge.net/">realterm</a>, or the command line, to send OI commands. You could also write a program in a language w/ a serial library, too.<br/><br/>Beneith the command module is a DB25 connecter that breaks out a few connections, but I can't recall exactly what they are. <br/><br/>This instructable focused on the fact that iRobot doesn't support GNU/Linux officially, but there's plenty of FLOSS out there to handle it with minimal effort.<br/><br/>
Thanks for the reply :)<br/><br/>I've been searching and reading about this robot on the net for several days and went through all the manuals but couldn't find this info and iRobot email support didn't get back to me of course since i am an *unsupported* linux user... so thanks for clarifying.<br/><br/>One more thing though, regarding the serial-usb cable (more specifically a male DB9 to usb), apparently whether this cable works or not depends on the chipset that comes with it, which means it needs to be compatible with linux + compatible with the serial protocol of the Create ?<br/><br/>The following thread highlights this issue, the guy ended up getting (an expensive) PCMCIA-Serial card which isn't an option in my case:<br/><a rel="nofollow" href="http://createforums.irobot.com/irobotcreate/board/message?board.id=Create_Support&amp;thread.id=1698&amp;view=by_date_ascending&amp;page=2">http://createforums.irobot.com/irobotcreate/board/message?board.id=Create_Support&amp;thread.id=1698&amp;view=by_date_ascending&amp;page=2</a><br/><br/>For anyone interested here is some useful info on various serial-usb chipsets under linux, i believe most cables are PL2303.<br/><a rel="nofollow" href="http://www.nslu2-linux.org/wiki/Peripherals/USB2Serial">http://www.nslu2-linux.org/wiki/Peripherals/USB2Serial</a><br/>
I tried a cheap USB-serial cable that did not work. Now I'm using a Keyspan 19HS which has worked well from several platforms (linux,mac,win).
The iRobot cable is standard RS232, so any serial-usb cable should do. I'm lucky enough to have two serial ports, so I haven't looked into it much.
forgot to post this, another person with serial-usb cable(Aten) trouble... though i'm not sure if that's related to C++ specifically or the actual cable/linux drivers:<br/><br/><a rel="nofollow" href="http://irobotcreate.lithium.com/irobotcreate/board/message?board.id=Create_Support&amp;thread.id=1836">http://irobotcreate.lithium.com/irobotcreate/board/message?board.id=Create_Support&amp;thread.id=1836</a><br/>
i'm husni, i'm a newbie...how to get example project with avr-gcc..used to i make line follower with linux
You tips seem pretty good for getting started with Linux+iRobot. I had no idea where to start. Hopefully I'll be able to add my own instruction later on. I have Fedora installed and <strong>gcc-avr</strong> is <strong>avr-gcc</strong>. <br/>
I've updated the required packages to JUST the ones you need.
Update: Realterm works in Linux with WINE, however, I couldn't get it to work with the create. When I turn it on, I do get data from the create, so its close, but not quite.
Cool. I'm using Fedora 7 and I found all of the files using my Package Manager except for avrp avr-prog and avra. Working on getting them now... do you know where I could find them online?
Chances are, you probably don't need them :P avrdude is the most important one.
Ok, just making sure. I've tried compiling and loading programs, and make all works, but make program works. It's writing to the USB device that's weird (there's no ttyUSB0 file in /dev). I think once I find the substitute for the USB file on Fedora, I'll be fine. Any advice finding the right one without testing a bunch that might be right? ;) Thanks.
If theres no ttyUSB0 file in /dev, make sure you uninstall the other package. For me, I'd plug it in, the file would appear, and then it would vanish. I don't know if you're programming a create, or just an AVR, if its the latter, it could be on the parallel or serial port.
No, don't worry, this is not my contest entry. I just wanted to let those who love linux. (I know you're out there!) Theres a Mac tool on their site, if you're wondering.
Down with Billy G. and up with linux! Anything develpoed by a community and not a trillion dollar comany truely fits the instructable mindset. Great instructable.
Thanks :D A note, you can use this to program any AVR uC. You'll need a different makefile, however.
*Stares at create* *Sits patiently in front yard* Have you tried using the serial cable (the one that plugs directly into the iRobot) with linux?
I haven't tried it yet, but the software to interface with it is just this thing you download from sourceforge. I assume they'll be a linux version, but I haven't checked :P
Heh. Showoff! ;) Thanks, bud. I'm sticking with winders.

About This Instructable


13 favorites


Bio: I decided a long time ago to change this text. Now, it still says this.
More by zachninme: Rate Comments on Instructables -- Greasemonkey Script Retrieving all the images from a Slideshow to save for later Block K'nex Instructables/Forum Topics/Groups! Now with Allsteps! Version
Add instructable to: