Instructables

Updates! This is an ongoing project. I will be updating this instructable, but my blog is updated more frequently.

One Laptop per Child (OLPC) is a new, non-profit association dedicated to research to develop a $100 laptop, a technology that could revolutionize how we educate the world's children.

This instructable shows how to couple an OLPC with an iRobot Create to create a telepresence robot. Using a simple web interface, users can drive the Create, monitor its sensor readings, and explore the world across the internet through the attached OLPC's webcam and microphone.

Materials:
Optional materials:
Optional tools:
  • Soldering iron
  • Volt meter
  • Wire cutters
  • Wire strippers
  • Hair dryer (if using heat shrink)
 
Remove these adsRemove these ads by Signing Up

Step 1: Connect the USB-to-serial Adapter and the Create Serial Adapter

Picture of Connect the USB-to-serial Adapter and the Create Serial Adapter
Connect the USB-to-serial adapter to the Create's serial adapter.

Step 2: Optional: Power the OLPC from the Create

Picture of Optional: Power the OLPC from the Create
Screenshot-Create Open Interface_v2.pdf.png
IMG_0011.JPG
IMG_0001.JPG
This step allows both the OLPC and the Create to charge together.

First, prepare the DB25 connector.

1. Take a female Kyosho connector and strip about 0.25 inches of insulation from the tips of both wires.
2. Twist and tin the strands.
3. Cut two small pieces of heat shrink and slide one on to each wire.
4. Solder the red cable to pin 11 of the DB25 connector.
3. Solder the black cable to pin 25 of the DB25 connector.
4. Slide the heat shrink down to cover the pins and use the hair dryer to shrink it.

Next, prepare the OLPC power connector.

1. Cut the OLPC power cable in half with wire cutters. Be sure you can remember the orientation of the two cables (positive and negative).
2. Strip about 0.25 inches of insulation from both cut ends.
3. Separate the two cables on both ends approximately 1 inch down the cable.
4. To determine which wire is the ground, use a volt meter set to check continuity or measure resistence. Place one probe on the outside of the barrel plug and place the other on one wire. If the meter indicates resistance or continuity, you have selected the ground wire.
5. Strip about 0.25 inches of insulation from a male Kyosho adapter.
6. Cut two short pieces of heat shrink and slide one over each cable of the Kyosho adapter.
7. Solder the black Kyosho adpater wire to the ground wire of the OLPC's barrel plug.
8. Solder the red Kyosho adapter wire to the positive wire of the OLPC's barrel plug.
9. Slide the heat shrink over your solder joints and use the hair dryer to shrink it.

Finally, solder and heat shrink another female Kyosho adapter to the other half of the power adapter.

Step 3: Attach the OLPC and Cables

The OLPC fits nicely on top of the Create. Use stick on velcro or duct tape to attach the OLPC to the Create so that it won't slide off during operation.

Attach all cables to the create and neatly wrap them up in the cargo bay. Leave a little slack on the ends of the serial, power, and USB cables to feed through the handle of the OLPC. Then stick the OLPC on top of the Create.

Open the OLPC lid and twist it so it's facing forward. You can now plug in the OLPC power cable and the USB-to-serial adapter USB plug.

Step 4: Install Telepresence Software

The first step is to download and install the required software.

  • PyRobot is a Python library for controlling iRobot's Roomba or Create. It was developed for this instructable and includes modules for accessing the OLPC's webcam and microphone and for serving a web interface to control the Create over the internet.
  • PySerial
  • web.py
  • MochiKit
  • simplejson

All of these dependencies are wrapped up with releases. To install the current PyRobot release, either SSH in to the OLPC or open the developer console.

root@olpc$ wget http://pyrobot.googlecode.com/files/pyrobot-alpha1.tgzroot@olpc$ tar zxvf pyrobot-alpha1.tgz

If you'd like to work from the development version, you will have to install the required dependencies yourself.

The picture below is a screenshot of the web interface.

Step 5: Start the Web Server

To start the webserver, either SSH in to the OLPC or open the developer console. Then run web_ui.py in the pyrobot directory.

root@olpc$ cd pyrobotroot@olpc$ python web_ui.py host:port

'host:port' should be the IP address of the OLPC and the port you would like to run the web server on. Root permissions are required to access the serial port. To view the interface and control the Create, point your web browser to http://host:port.



Timmers1 year ago
Have you seen this, pretty cool creation.

http://www.kickstarter.com/projects/567971283/iroo?ref=live
where can i get an olpc for my own
You can get one at laptop.org

What you do is you buy one for $100 and a school or child that can not afford one will receive a laptop and you will receive one as well
that ended Dec. 31
Ebay is your best bet. Some G1G1 participants are selling theirs. The G1G1 program ended on 12/31/2007.
So you can use this laptop as a Webcam? Could it work somehow with Pc's for like a wireless one? i got mine a while ago, and I just started messing with it, and i've been interested with the webcam.
Ora7 years ago
AHHHHH! Where did you get that? I've been trying for about a year to get one! I would appreciate it if you would point me in the direction where you purchased yours.
Ora Ora7 years ago
Oh yes, great instructable. Now parents of children unable to go to certain events/places won't have to shell out thousands of dollars to have their less capable children be a part of society.
rrrmanion Ora6 years ago
i robot the manufacturers of the create already make a robot able to do the same its called the connect R sort of thing heres a link :http://www.irobot.com/sp.cfm?pageid=338
damonkohler (author)  Ora7 years ago
Sorry, they handed some out at work for us to play with. I don't know how to purchase one.
May I ask where you work?
damonkohler (author)  Fenwick7 years ago
I'm a Googler.
rrrmanion6 years ago
firstly i think they are still doing the give one get one or may have resume doing so(a us address is required, secondly if it works with Linux surely a mini laptop such as the acer one, the Asus EEE-PC or the MSI wind etc... would all be sufficient?
cotton6 years ago
how do you get tyhe laptop i want one to experimaent and dose it run windows if so what coppy
AzurusNova6 years ago
Where can I aquire one of these computers to work on myself?
Try e-bay.
MindTorm7 years ago
Will this only work with the OLPC operating system or can it be adapted to other linux distros? I hate to even say it, but possibly ubuntu? *gasp* yeah I know I said it..I have a roomba and an old ibm T23 running ubuntu and was wondering if I could use the software to cobble something together with existing hardware, or if it was specific to the hardware setup you have here...
im3733 MindTorm6 years ago
The OLPC runs on Ubuntu. believe it or not.
ghostis im37336 years ago
As shipped, the OLPC XO-1 runs a customized version of Fedora.
What's so bad about Ubuntu? With the 7.10 it's ready to install hasslefree, ie I no longer get calls from friends asking what to do with windows bluescreen. Nice instructable to .. hope the olpc make it to europe soon.
damonkohler (author)  MindTorm7 years ago
There's some code that's specific to the OLPC. But, for the most-part, it's just Linux :) You could certainly get it running on Ubuntu.
leevonk6 years ago
I've been trying to figure out how to control my robots via the web for a while, could you try to make a tutorial on the installation and use of the control software for robots in general (not necessarily the OLPC connected to an irobot create). This would be awesome, thanks for the help
makechan6 years ago
Where is your God now?
tgokeefe7 years ago
Will this work with a standard Roomba?
damonkohler (author)  tgokeefe7 years ago
PyRobot supports both the Roomba and the Create. Though, most of the development is focused on the Create. So yes and no. Yes it can be done. No it won't work out of the box. The first version of this was on a Roomba actually.
evanwehrer7 years ago
You can get these in the developer program at www.laptop.org
whatup.dub7 years ago
Wow, It'd be great to get to hack up an OLPC. Since they "mesh network" could you swarm them? Maybe send your iRobot OLPC's into mine fields and the such? Maybe "chemically questionable" areas with sensors and gps to map out hazards? I think it would be cool to send a few into a factory to check the extent of a hazardous spill instead of risking human lives, etc., etc. "Is that a radioactive ape!? Bring up the web interface, deploy banana!!"
try as you might, you will never be able to drop enough bananas to fill its hunger...
damonkohler (author)  whatup.dub7 years ago
Hah. Awesome. I'm sure there could be some swarming applications too.
Punkguyta7 years ago
This looks pretty sweet, great project I will say, any future plans as far as more add ons? I bet there are a few more things to be added on.
damonkohler (author)  Punkguyta7 years ago
Thanks, and sure, there are loads of things to be done. PyRobot (the underlying Python library) is not nearly complete. I think the first thing I'll be trying to improve is audio and video streaming. Right now it works, but it's a little clumsy.
Could you put compression on the video stream? That might help a bit as I'm guessing those OLPC's aren't all that fast eh?
dduke117 years ago
Awesome instructable man! For the status page you should have a schematic of the roomba and have the various sensors light up when they're activated.
damonkohler (author)  dduke117 years ago
Good idea!