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 (How to turn your router into a routerbot)

Somehow my kids became huge fans of different kinds of robots, starting from teleoperated planet explorers and ending with transformers. So I promised them to build a robot, and in a few days I ended up with this result which I’m pretty proud to share. It appeared that for $150 or less you can build pretty cool robot that is way easier to program then most robots out there on the market + its range is way larger then most toys have. Here’s how you can build your own inexpensive yet powerful robot…


I decided to split this article into a series of posts, so you can skip parts that you think are obvious + I can expand parts you find confusing. Here’s the outline (some parts are not linked yet as I didn’t finish describing them yet):

  1. Get parts and tools
  2. Modify your router so it can control servos
  3. Reflash your router with new “routerbot” OS
  4. Test basics and assemble your robot
  5. Attach a wireless video camera
  6. Configure your routerbot
  7. Add sensors to the routerbot
  8. Make your routerbot fully autonomous

Here is the full list of commands the routerbot understands in the current version (1.0):

  • cmd “<cmd>” - execure “raw” SSC-32 command
  • init - initialize the serial port
  • set_camera_speed <num> - change the speed of the camera servo movements. Speed 400-800 seems to be the best
  • set_engine_speed <num> - change the speed of the routerbot engines. Speed 50-100 seems reasonable to me. You can make it run way faster, but what if it crash into somebody? This would hurt …
  • look {up|down|ahead|back|forward|left|right|higher|lower|righter|lefter} - position the camera. You can also specify several arguments in the same command, for instance “look up left”
  • go forward|back
  • turn left90|right90 - turn to the left or to the right at 90 degrees
  • turn left|right - turn to the left or to the right at the current engine speed (so you can make it turn just a little bit or alot with preceeding set_engine_speed command)
  • turn left_cont|right_cont - keep rotating to the left or to the right
  • turn left180|right180|around - turn around
  • say yes|no - express “yes” or “no”
  • emo shy|excited - express shy or excited emotions. These actually do not work as well as I wanted, but I’ll improve emotions in the next releases.

You can see one of the versions of the routerbot on this video:

Good luck!

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

31 Responses to “How to build an inexpensive yet powerful robot (How to turn your router into a routerbot)”

  1. How to build an inexpensive yet powerful robot - get the parts and tools | Andrey Mikhalchuk's Blog Says:

    [...] Comments How to build an inexpensive yet powerful robot (How to turn your router into a routerbot) | Andrey M… on How to build an inexpensive yet powerful robot - get the parts and toolsDomaining - Information [...]

  2. How to take apart a Linksys WRT54G router | Andrey Mikhalchuk's Blog Says:

    [...] to build an inexpensive yet powerful robot - get the parts and tools | Andrey Mikhalchuk’s Blog on How to build an inexpensive yet powerful robot (How to turn your router into a routerbot)How to build an inexpensive yet powerful robot (How to turn your router into a routerbot) | Andrey [...]

  3. How to build an inexpensive yet powerful robot - modify the router so it can control servos | Andrey Mikhalchuk's Blog Says:

    [...] Comments How to take apart a Linksys WRT54G router | Andrey Mikhalchuk’s Blog on How to build an inexpensive yet powerful robot (How to turn your router into a routerbot)How to build an inexpensive yet powerful robot - get the parts and tools | Andrey Mikhalchuk’s Blog [...]

  4. How to build an inexpensive powerful robot - Reflash your router with new “routerbot” OS | Andrey Mikhalchuk's Blog Says:

    [...] Comments How to build an inexpensive yet powerful robot (How to turn your router into a routerbot) | Andrey M… on How to build an inexpensive yet powerful robot - modify the router so it can control servosHow [...]

  5. How to build an inexpensive powerful robot / Test basics and assemble your robot | Andrey Mikhalchuk's Blog Says:

    [...] Comments How to build an inexpensive yet powerful robot (How to turn your router into a routerbot) | Andrey M… on How to build an inexpensive powerful robot - Reflash your router with new “routerbot” OSHow [...]

  6. How to build an inexpensive powerful robot. Attach a wireless video camera. | Andrey Mikhalchuk's Blog Says:

    [...] Comments How to build an inexpensive yet powerful robot (How to turn your router into a routerbot) | Andrey M… on How to build an inexpensive powerful robot. Test basics and assemble your robotHow to build an [...]

  7. How to build an inexpensive powerful robot. Configure your routerbot. | Andrey Mikhalchuk's Blog Says:

    [...] Comments How to build an inexpensive yet powerful robot (How to turn your router into a routerbot) | Andrey M… on How to build an inexpensive powerful robot. Attach a wireless video camera.How to build an [...]

  8. jimi lawson Says:

    hey if i had a wireless router befw11s4 could i use that to send the video and if so how????

  9. Andrey Mikhalchuk Says:

    jimi, I doubt so. Try to find a router that has USB ports and can be reflashed with some “alternative” OS, like OpenWRT or DD-WRT. See corresponding websites for the list of supported hardware.

  10. Inexpensive powerful router based robot - Hack a Day Says:

    [...] Mikhalchuk] Has posted some great instructions on how to build an inexpensive router based robot. Starting with a Linksys WRT54GL, he takes us through the process of disassembling and modifying it [...]

  11. DigitalMind Says:

    That was awesome ! Good work and thanks for sharing with the internet world !

  12. Make More Money » Blog Archive » Routerbots Says:

    [...] Inexpensive powerful router based robot [via Hack a Day] [...]

  13. Routerbots | DiyUs.com Says:

    [...] Ine­x­pe­nsive­ po­we­r­fu­l r­o­u­te­r&… [vi­a Hac­k a Day] [...]

  14. Dave Says:

    Hey. Great idea and very nice execution!
    What about installing a webcam (directly connected to router) instead of the wireless pinhole cam?
    how long does the battery last?

    thanks man for sharing that with us!

  15. Routerbots » Good Idea, Bad Idea Says:

    [...] Inexpensive powerful router based robot [via Hack a Day] [...]

  16. eldphm Says:

    I’m curious about the teleportation function seen at 1:13 in the clip, I do not see any documentation in the command:s list.

    Great project though!

  17. Routerbots at Virtual Instrument Test Says:

    [...] Inexpensive powerful router based robot [via Hack a Day] [...]

  18. Andrey Mikhalchuk Says:

    Dave,

    I tried to keep the project as inexpensive as possible. The Ethernet camera costs $100+ and this would make this project awefully expensive. Unfortunately this router doesn’t have USB, so I can’t use a cheap webcam too.

    The next gen routerbot (coming soon) will have more advanced features, including the camera, but it will be more expensive too.

    Andrey

  19. Andrey Mikhalchuk Says:

    eldphm,

    Teleportation is made with command

    teleport xoffset yoffset

    Unfortunately this function is very unstable so I excluded it from the final release. And I’m still looking for those 15 routerbot prototypes I’ve lost while debugging this function until I found an error in my code - the distance by default was assumed in miles, not inches.

    Andrey

  20. Andrey Mikhalchuk Says:

    Dave,

    I missed your second question in the previous reply.

    I have pretty old 9.6V battery from my R/C car. It’s good for approx 30 minutes. Fresh battery could last longer.

    Andrey

  21. Dave Says:

    Andrey - Thanks for the fast reply. I’ll keep an eye on the further project.
    I tried to find a suiteable IP Cam, but everything is quite heavy powered.
    Let’s see what comes next.

    cheers, dave

  22. Querystring » Inexpensive powerful router based robot Says:

    [...] Mikhalchuk] Has posted some great instructions on how to build an inexpensive router based robot. Starting with a Linksys WRT54GL, he takes us through the process of disassembling and modifying it [...]

  23. Robot barato construido en base a un router Linksys WRT54GL | CyberHades Says:

    [...] http://andrey.mikhalchuk.com/2008/02/23/how-to-build-an-inexpensive-yet-powerful-robot-how-to-turn-y... [...]

  24. CodeDrunk » Blog Archive » It’s Alive! Says:

    [...] web controllable robot very soon! (The parts are ordered!) This particular robot is know as a Routerbot by it’s creator Andrey Mikhalchuk. His blog has the build documented to perfection, the only [...]

  25. Evgeniy Says:

    Hi Andrey!
    Sorry for my poor english and i am a new in linux and programming too!
    I am seeking tom make the WRT54GL serial i/o with 8-bit parralel control words to control external devices trough WiFi.
    I am don’t need to drive smart car which is qute very good for hobbyst
    Till yet i am getting yor code from routerbot to telnet and hyperterminal
    using the ad233bk i’ve did get code in to hyperterminal
    #0P1530#1P1570
    Which format this command come?
    I need to translate this code in to hexadecimal or binary?
    if you can give me advice for writing code to pic16f628a
    to receive and convert data from serial to 8-bit in to portb0-7 of pic16f628a chip.
    If you write me the code for money how much it will be?
    Best regards.
    Evgeniy.

  26. Andrey Mikhalchuk Says:

    Evgeniy,

    “#0P1530#1P1570″ is actually input for SSC-32 servo controller.
    Programming pics is something very much different. Unfortunately I can’t do this work for you, though this task doesn’t seem very complicated. It should not be a problem to find someone to write the code (try elance.com or similar websites).

    Good luck!
    Andrey

  27. NimitH Says:

    If I used DD-WRT Firmware, It will be able to get your scripfile?

  28. Andrey Mikhalchuk Says:

    NimitH,

    I’m currently providing the routerbot OS as a new image only, i.e. you have to reflash your router in order to get the all scripts. When you refresh the router you loose the existing OS.

    I plan to release the next version as a package too, but cannot guarantee that it will be ready soon. The package will be compatible with dd-wrt and other open-wrt based firmwares.

    Andrey

  29. Evgeniy Says:

    Hi!
    I just want to flash 8 leds by command (00001111)in wrt54gl
    how i can send it to serial port with Telnet which i am reading in Hyperterminal?
    in DD-WRT or Openwrt?
    Thanks.

  30. Randy Says:

    I was wondering if I was able to set my routerbot up so that it does not have to work on the wireless network. I have a laptop so I was wondering what I would have to do to connect to it wirelessly while not in sta mode. I would like to do this because I would not like to have a wireless network around in order to run the router bot. Also I was wondering how you write in openwrt before it is flashed because I have read everything on the website and cannot figure it out. Thanks
    Randy

  31. Andrey Mikhalchuk Says:

    Randy,

    Not in the current version unfortunately. I’m working on the new version. It will support both sta and ap.

    Andrey

Leave a Reply

Site Map (c) Andrey Mikhalchuk, 2005-2008