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):
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:
[...] 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 [...]
[...] 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 [...]
[...] 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 [...]
[...] 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 [...]
[...] 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 [...]
[...] 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 [...]
[...] 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 [...]
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.
[...] 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 [...]
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?
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.
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 - 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.
[...] 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 [...]
[...] 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 [...]
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.
“#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).
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.
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.
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
February 23rd, 2008 at 2:52 am
[...] 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 [...]
February 23rd, 2008 at 7:30 pm
[...] 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 [...]
February 23rd, 2008 at 11:57 pm
[...] 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 [...]
February 24th, 2008 at 12:55 am
[...] 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 [...]
February 24th, 2008 at 1:40 am
[...] 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 [...]
February 24th, 2008 at 2:01 am
[...] 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 [...]
February 24th, 2008 at 2:31 am
[...] 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 [...]
May 30th, 2008 at 8:36 pm
hey if i had a wireless router befw11s4 could i use that to send the video and if so how????
May 30th, 2008 at 8:46 pm
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.
October 7th, 2008 at 1:42 pm
[...] 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 [...]
October 7th, 2008 at 6:24 pm
That was awesome ! Good work and thanks for sharing with the internet world !
October 7th, 2008 at 8:03 pm
[...] Inexpensive powerful router based robot [via Hack a Day] [...]
October 7th, 2008 at 9:01 pm
[...] Inexpensive powerful router&… [via Hack a Day] [...]
October 8th, 2008 at 7:02 am
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!
October 8th, 2008 at 7:29 am
[...] Inexpensive powerful router based robot [via Hack a Day] [...]
October 8th, 2008 at 7:29 am
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!
October 8th, 2008 at 12:46 pm
[...] Inexpensive powerful router based robot [via Hack a Day] [...]
October 8th, 2008 at 12:52 pm
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
October 8th, 2008 at 12:55 pm
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
October 8th, 2008 at 1:05 pm
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
October 8th, 2008 at 4:32 pm
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
October 8th, 2008 at 6:12 pm
[...] 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 [...]
October 10th, 2008 at 3:12 am
[...] http://andrey.mikhalchuk.com/2008/02/23/how-to-build-an-inexpensive-yet-powerful-robot-how-to-turn-y... [...]
October 11th, 2008 at 10:03 pm
[...] 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 [...]
October 15th, 2008 at 4:21 am
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.
October 16th, 2008 at 1:10 am
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
October 17th, 2008 at 5:37 pm
If I used DD-WRT Firmware, It will be able to get your scripfile?
October 20th, 2008 at 12:29 am
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
October 30th, 2008 at 5:04 pm
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.
November 19th, 2008 at 7:34 pm
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
November 29th, 2008 at 2:21 am
Randy,
Not in the current version unfortunately. I’m working on the new version. It will support both sta and ap.
Andrey