Search

Resume and bio of the author, about this website Couple of articles related to my hobby - robotics
My impressions about immigration to Australia. In Russian only. Recipes for everyday problems solving
Linux-related posts Windows-related posts
Software-related posts A lot of info about hardware
Different tools you might find useful Posts about various web technologies
Everything that doesn't fit the rest of the menu RSS feed for this blog

Tag Cloud

Archives

Links

Andrey Mikhalchuk’s Blog

Technoblog about life

Feb 23, 2008 How to build an inexpensive yet powerful robot. modify the router so it can control servos

WRT54GL router is not capable of controlling mechanical parts as is. So we need to add a communication port to it. This post describes how to do that. The complete outline of the routerbot project can be found in this post.

We will expose one TTL serial interface that is hidden somewhere in the router + we’ll see an option of adding a regular RS-232 serial interface for debugging purposes.

First of all let’s void your router’s warranty by taking it apart. This post explains how to do that.

On the video you saw a 10-pin(well, actually 10-hole) connector that provides two serial interfaces. Grab the 3-wire data cable marked as 1k in the list of parts and cut it into two equal 3-pin headers. Solder one of those to the 10-hole connector in the following order:

  • PIN3 - to red wire, this is serial interface 1 Tx line
  • PIN5 - to white wire, this is serial interface 1 Rx
  • PIN9 - to black wire, this is ground

Optionally you can also expose and mark four more wires that can be used as a COM0 connection that is pretty useful for debugging purposes. You will be able to see entire boot process and connect to the router even if all its network interfaces are down.

  • PIN2 - +3.3V
  • PIN4 - Tx
  • PIN6 - Rx
  • PIN10 - Ground

I’ll explan in a separate post how to use those 4 wires.

Well done! Now you can take a look at your SSC-32 servo controller and find 5 pins related to serial port. In the manual that comes with the controller they are marked as 13. Take out two jumpers that connect 4 of those pins (save them for the future) and plug out 3-wire cable to the 3 pins in the row. Make sure that black wire goes to the ground, Tx goes to Rx and Rx goes to Tx.

On this image I soldered 10-pin header and used part of IDE cable to connect to it. You can just solder the necessary wires:

WRT54GL TTL serial pinout to SSC-32

It is not shown on the picture, but you should insulate every wire where it is possible that it will tangle with another wire and cause short circuit.

Now, when you got familiar with those 3 wires unplug SSC-32 controller, put it aside and let’s proceed to the next step before we start testing the system and assembling the router.

This post is published in Hardware, How To, Linux, Robotics, Software.

8 Responses to “How to build an inexpensive yet powerful robot. modify the router so it can control servos”

  1. How to build an inexpensive yet powerful robot (How to turn your router into a routerbot) | Andrey Mikhalchuk's Blog Says:

    [...] Comments How to build an inexpensive yet powerful robot - modify the router so it can control servos | Andrey… on How to build an inexpensive yet powerful robot - get the parts and toolsHow to build [...]

  2. farchu Says:

    Tengo un progblema grave ( linksys wrt54gl ) despues de instalar el “openwrt-WRT54G-2.4-squashfs.bin” y rebootear el router no tengo forma de conectarme al mismo ( la IP 192.168.1.1 y la 192.168.1.234 ) no responden mas. Si conecto una PC al port 1 del router la misma toma la IP por DNS –> 169.254.130.247 y mascara 255.255.0.0 y no se cual IP le ha quedado definida al router. Si me pueden ayudar me evitan gastar otros 110 dolares.

    Gracias

  3. Andrey Mikhalchuk Says:

    farchu,

    It’s difficult to debug the router in blind, so I’d suggest getting a simple TTL->RS232 adapter, hooking it up to the serial lines and then to the computer. So you’ll get a serial interface and full access to the device. Here is the nice guide about how to do that.

  4. farchu Says:

    Thanks !!. I’ll try it.

  5. farchu Says:

    Andrey:

    I did a “ping -t -w 2 192.168.1.234″ and then I can conected via “telnet”. Is there any procedure to reflash the “routebot” with the original linksys soft and then reflash with “routebot” software again ?.
    Thanks

  6. Andrey Mikhalchuk Says:

    farchu,

    I never did that (returning to the original firmware), but people say the procedure is the same. You can download the latest original firmware from Linksys website. I can’t provide the link as they are session-based. You basically go to Downloads in the topmost menu on Linksys website -> Wireless Routers -> Select your router model WRT54GL -> Select version 1.0 and get zipped .bin file which you can write using the same procedure as you used for the alternative firmware. Somewhere in the middle of this page you can find more details.

    However I’d suggest not reflashing the router before you get the com port - this will save alot of your time. And having serial interface to the router you can configure it without double reflashing.

    Good luck!
    Andrey

  7. Keith Watson Says:

    The serial cord wiring in the photo does not match the text on this page. I found out the hard way by going with the text desription. The text labels for Rx and Tx are reversed.

  8. Keith Watson Says:

    Oops, I figured out why I didn’t understand. The Tx hole on the router board is *supposed* to be wired to the Rx pin on the servo board.

Leave a Reply

Site Map (c) Andrey Mikhalchuk, 2005-2008