Christoph's  Rug-Warrior Page

Finally I have assembled all the parts I bought over nearly a month from different vendors. So here it is: "Igor" my own Rug-Warrior!

Igor the Rug-Warrior

Parts and ordering

Here in Germany it's quite a problem to locate some parts. There is a vendor (Joker Robotics) in Germany for a preassembled Rug-Warrior Kit but this is way out of my budget. It costs over 1000 Marks. If you order the parts with a lot of surplus diodes, capacitors and resistors at one of the bigger electronics distributors you won't end up much over 200 Marks. I have prepared an Excel sheet for ordering at Simons electronic in Germany. This is based on the work of Frank Haverkamp who also donated some of the other material I am providing further down the page. Note that the list does not contain all needed parts. Some of those you can find everywhere in scavenged toys, old electronic equipment or promotional giveaways. It's fun to discover for example that this beeping greeting card that used to annoy you so much can be turned into the "voice" of your Rug-Warrior.

Circuit boards

When I had a look at the schematics I immediately got rid of the idea to do the connections with SpeedWire or soldering. I also couldn't find anybody to give me the layout or even a scan of the circuit board to etch it myself. So I decided to get it directly from CFC in the US. The Problem is that they don't accept credit cards. One PCB is just $12 and an international money order will cost you about $13 no matter what amount you are sending. The only way I found was to call some friends in the US, send them the money and let them order and ship the whole thing to me. To my surprise this really worked. CFC if you read this: You could sell a lot more of those Rug-Warrior PCBs if you'd only accept credit card payment!

Update: Unfortunately CFC has quit business. I have no information as to where to obtain the PCBs for the Rug-Warrior. All I can offer at the moment for the interested reader are scans of the schematics provided by CFC together with the PCB. These scans are for a two-layer PCB (front and back) and a third one is for the component side printing. Please contact me if you are interested. I won't provide the scans on the homepage due to copyright restrictions which may arise by anybody holding the copyright for the PCB design.


Especially the power switch is hard to find. Equal parts are usually much bigger and don't fit on the circuit board. You can help yourself by dividing the functions on two switches. One for the motor power and one for the "brain" power and mode. Also the wheel encoders aren't easily to locate. For the replacement of those I developed a solution based on simple reflexive ir light barriers and a Schmitt-Trigger. This finds room on a small additional PCB and is connected to the same ports the normal encoders would. Following are the schematics for this solution:
Alternative encoder schematics

You'll need to assemble two times the left part of this schematic. One for each wheel. Afterwards you'll still have four Schmitt-Triggers left over. You could use those for digitizing other input signals.


During assembly it's sometimes necessary to know something about the parts you are using. Especially with integrated circuits which have more than two legs this knowledge becomes essential. Therefore I have a copy of the MC68000HC11 documentation to order from me (free of charge :-)) and one for the MAX233 chip which I found equally hard to extract from the net.


I decided to use the public domain Interactive C which is still available at the MIT's ftp server. But I had to learn a lot more until little Igor could finally use it's closed loop control. So first I had to control the movement via the "big" loop (sensor feedback). Igor will follow a light source fairly well without keeping count of the movement rate of it's wheels.
The public domain version of IC is dated from 1994 but it still works quite well with any MS-DOS or early Linux distribution (e.g. Suse Linux 5.2) if you can do with commandline interfaces. I chose the linux version to work with. You can download a gzipped tar with all the necessary binaries and documentation from this site. Also included is a program called mind.c which can serve you as a basic platform for the development of your own behaviour. At the moment only the light following behaviour is implemented. Ah yes, and Igor will bark when you clap your hands :-)).

For questions send E-Mail to:

This page was created by: Christoph Krüger
Last changed on: September 18th, 2002