Picture of SOCBOT - The Next Generation Vibrobot


In the beginning there were pagers. The fact that activated pagers danced their way off of desks and dressers was little more than an aggravation to most people. That changed when it happened in the presence of a maker. Soon after that eureka moment the vibrobot was born. As those early technological vibrating critters started to multiply they began taking on nearly every mechanical form imaginable. Their off balance, weighted motors hummed and shook sending these scooters off in random directions.

Then it happened. One morning a maker preparing to take on a new day glanced down at the toothbrush in his hand, and the bristlebot was conceived. Who could have known the technological stir something as simple as a sawed off toothbrush would make. No one could have predicted the great personal pleasure makers around the world would find in hacking, of all things, a toothbrush. The simple yet elegant design of the bristlebot instantly made it a favorite project for makers of all ages. It quickly became an icon so deeply rooted in maker culture that it could never be replaced or forgotten.

On the next branch of the vibrobot's evolutionary family tree we find the dipbot. Made with discarded integrated circuits, nearly all dipbots are born of, most appropriately, motherboards. These are the low riders of vibrobot culture. What they lack in height they make up for in leg count as most have at least 40. Most dipbots look like some sort of multi-legged bug that may byte.

With such wide ranging variation in its gene pool, the vibrobot family tree has naturally lent itself to continued innovative evolutionary adaptation. Influenced to a great degree by environment, vibrobots continue to spring forth from whatever salvaged stuff seems to be at hand. They can evolve from boxes of spare parts, the guts of electronic dark age gadgets (read the word pagers here), personal care items, old video game controllers, and discarded computers. All of these environmental factors lend themselves quite well to the task of expanding the vibrobot genotype.

That brings us to the focus of this Instructable - the Socbot. Born in the mind of this author when he first saw a dipbot, this is the next step in the evolution of vibratory micro robot design. This new kid on the block is a highly advanced vibrobot. Controlled by a salvaged television infrared remote control, this PICAXE brained next generation vibrobot stands ready to respond to your every directional command. No more random roaming. With the simple press of a button the socbot's unique wire wrap socket locomotion system kicks into gear sending this critter off in whatever direction you choose. Powered by alkaline watch batteries, the socbot features twin outboard vibrating pager motors. Although current limited by design, this microbot is powerful enough to scoot around on any smooth surface. While big on brains, it is still small enough to sit on a quarter. With so much technological heritage and power packed into such a small space, one has to wonder where the next step in the evolution of vibratory technology will take us.

Here is an excellent Vibrobots article written by Gareth Branwyn



Remove these adsRemove these ads by Signing Up


Picture of THE PARTS

1 - PICAXE -08M
1 - 16 Pin Wire Wrap Socket
1 - 16 Pin DIP Socket
1 - 8 pin Dip Socket
2 - Vibrating Pager Motors
1 - TSOP4838 or similar 38KHz IR Receiver Module
2 - General Purpose 100V Signal Diodes
3 - L1154 Watch Batteries
1 - 4.7mfd Capacitor
2 - 82ohm 1/4 Watt Resistors
1 - 33K ohm 1/4 Watt Resistor

wire, thin metal shielding, super glue


Picture of HOW IT WORKS

This Socbot takes advantage of one of the most useful characteristics of the PICAXE -08M - its ability to send and receive all 127 Sony 38KHz infrared television control codes. This feature allows the 08M to communicate with a remote control, a television, or even another 08M. Here the 08M watches for a valid code from the universal remote control and responds to button presses on the remote by sending a current pulse to one or both pager motors.

The 08M outputs can handle around 20mA each so I hooked the outputs up in pairs in order to feed 40mA to each motor. An 82 ohm resistor in series with each motor limits the current to the 40mA maximum. A fast acting signal diode in parallel with each motor helps sink the induced voltages created by the motors. Capacitors would greatly improve the protection, but would also add to the size of the bot so I just left them off with no apparent short term ill effects.




This is the picaxe code I wrote to use with the socbot. As the socbot has no download circuit you will need to program the picaxe on a proto board and then move the programmed chip to the socbot.

The code uses the infrain2 command to wait for one of 3 valid codes from the universal remote. Depending on which code is received, the picaxe will send a 100mS current pulse to one motor or both motors. If the button is held down the current pulse repeats until the button is released.

A copy of the picaxe bas file is included below for download.

MAIN: let dirs= %00010111

BEGIN: let pins= %00000000
let b0 = infra
if b0= 16 then AHEAD ' CH+
if b0= 19 then LEFT ' VOL-
if b0= 18 then RIGHT ' VOL+
goto BEGIN

AHEAD: let pins= %00010111 ' Outputs 0,1,2,4 HIGH
pause 100
goto MAIN

LEFT: let pins= %0000011 ' Outputs 0,1 HIGH 2,4 LOW
pause 100
goto BEGIN

RIGHT: let pins= %00010100 ' Outputs 2,4 HIGH 0,2 LOW
pause 100
goto MAIN

Socbot.bas531 bytes



Any universal IR remote control will work with the PICAXE. All you need to do is program it for use with a Sony television. I used a cheap RCA universal remote I picked up at Wal Mart for less that $10.00. The Sony code I used was 218. Most remotes I checked only had two sets of codes for Sony televisions so if one does not work try the other one. I used the center Channel Up and Volume down and up buttons to control my socbot but you can use whatever buttons you want. Just look up the code for the buttons on the PICAXE web site or use the debug code command and our computer to check the code sent by each button on your remote.

My Remote:

Volume Down - turn left (only left side motor on)

Channel Up - go forward (both motors on)

Volume Up - turn right (only right side motor on)



Socket 1a.jpg

Bending the leads on the wire wrap socket can be tricky. I ordered 4 and messed up 3 of them before finally getting the 4th one to bend without breaking. This is the method I finally got to work the best.

I one row of leads into a break board and slowly bent all 8 pins on that side to the shape I wanted. I then repeated this for the other row of leads. I did the final shape adjustments with a pair of pliers bending the pins one at a time. Any bends need to gentle curves instead of hard angles.



Glue Motors b.jpg

The battery terminals are nothing more that two pieces of thin metal shielding I salvaged from an old cassette tape deck. I just cut two pieces, soldered a small wire to each piece, and attached them to the 2 DIP sockets using super glue. I also glued the 2 pager motors to the 16 pin DIP socket.




I stacked the 2 DIP sockets in order to get all 3 batteries and the PICAXE on the bot without either hanging over. Four pins (2 on each side) on the 8 pin socket go into 4 holes (2 on each side) of the 16 pin socket. This means that the 8 pin socket is half on and half off the 16 pin socket. I glued the two sockets together with super glue.




This part can get pretty tricky. It is no easy task to make all of the connections and install all the components without shorting wires together, but it is not impossible. I used 25 gauge un-insulated buss wire. I started with the power leads from the batteries, then to the pager motors and current limiting resistors, and on through the circuit one section at a time. Parts placement is not critical. Just take your time and check your work as you go.

IMPORTANT NOTE: It is important that the motors turn in opposite directions. One needs to turn clockwise and the other counter-clockwise. This is achieved by reversing the way you hook up the leads on one of the motors.




I cut the leads on the current limiting resistors and circuit protection diodes and just plugged them into the socket. I would not do that again because the vibration of the motors tends to break the connection between the round leads and socket. DIP sockets are designed for flat component leads - not round ones.

I installed the IR module on the top of the Socbot but you can put it on the front, rear, side, or even underneath. It is pretty sensitive so the universal remote control works from any angle.


Step 10: FINISH UP

Picture of FINISH UP

I decided to paint my Socbot but there is no way I would do that again. It seemed like a good idea to begin with but after doing it I realized that it looked better unpainted. You may feel differently.


Step 11: ENJOY

Picture of ENJOY

Due to the current limiting resistors I added to keep the current to around 40mA this Socbot doesn't move very fast. That is fine with me, but you may want something with a little more get up and go. If you do, I would suggest that you use transistors to drive the motors. This would allow you to apply full current to the motors and get a significant speed increase. At full power this thing would really scoot. However, an increase in current would also mean a decrease in battery life and they don’t last too long as it is.

Note that the socbot will travel towards the end where the batteries are. I wanted it to travel in the opposite direction but was not able to get it to do so. I think it has something to do with the weight distribution. I even bent the wire wrap socket leads in the opposite dirrection but it had no effect on the socbot's direction of travel.




Here are some ideas for future versions:

- use transistors to apply full current to the motors (they are now running at 40% capacity)

- make a light seeking or light avoiding socbot.

- Make a whole bunch of light seeking (or avoiding) sockots, each with an LED and study how they interact with each other.

- make a sound seeking socbot

- make a line following socbot

- make an even smaller socbot using an 8 pin wire wrap socket.

- make a larger socbot using a 40 pin wire wrap socket

- write code for the picaxe to make the socbot trainable or programmable. Maybe use the remote to move it through a series of moves and then let it repeat the moves.

- make two or more sockbots that can communicate with and influence each other using infared codes

The possibilities are nearly limitless.


Step 13: THANKS


Thank you for taking the time to view my project.

I hope it will inspire you with new ideas of your own.

As Thomas Edison said,

"To invent you need a good imagination and a pile of junk".

Thanks Again,


1-40 of 99Next »
MrGentlemen2 years ago

Can I usw this PIC?

oh, and another question:

can i programm a pic with an ISP from AVRs?
robot13983 years ago
can i use a picaxe 08m2
biochemtronics (author)  robot13983 years ago
Yes you can use the 08m2. It is backwards compatible with this 08m project and program.
robot13983 years ago
i just didnt understand this step how can u program a remote
biochemtronics (author)  robot13983 years ago
You will need to get a universal remote control and program it to workthe with a Sony television since tbeyou picaxe uses sony codes. Instructions on how to do this will come with whatever remote you decide to use.
instead of a universal remote if i get a sony tv remote then will it work?
biochemtronics (author)  robot13983 years ago
It should work if you van find one.
i have one i have a sony Tv SO I CAN USE IT
ilpug4 years ago
very nice. i have only one question: VIDEO?
vruiz3 ilpug3 years ago
theres a video at the bottom above the comments skip to 1:30
vincent75204 years ago
Nice !

I like how you painted it ! … 
darthmaul.84 years ago
must use 1n4148 diodes, right??
Janiedella4 years ago
Still intimidated by the technology, but I LOVE your writing! Thanks!
Boppo35 years ago
how do you actually program a pic axe?? i know this instuctable said use a protoboard, but i just dont understand how.... can anyone make an instuctable on programming?
Rimwulf5 years ago
now if someone wrote a code for for a PC with infrared hookup to put out pre-written commands and options
hunter11255 years ago
very cool.
godofal5 years ago
wow, this is awesome :D

im thinking of making one with an attiny45 (since i dont have picaxe's or a programmer for them)
just got to figure out a way to make a piece of code that does the same as yours in C++ for an attiny45 :D
Fuzzer3legs5 years ago
 What Do I Do

MAIN: let dirs= %00010111

Error: Unknown symbol - dirs
 Never mind I was picaxe 08 instaid of picaxe 08m
Earths_hope5 years ago
5 stars! well done!
lucek5 years ago
can you imagine a water skimmer?
is there anyway to make the picture bigger? the schematic file is a .tmp and I can't open it.
biochemtronics (author)  astrozombies1386 years ago
Just under the schematic is a little block that has a file icon and Soc Bot Schematic.emf inside it. That is a meta file. If you click on that box a much larger, scalable, and easy to read schematic will appear.
I have linux and it looks like does not know how to open the file... any chance that you put a jpg or png or bmp or gif or ascii schematic?

gah, I'm on a mac, maybe thats why I'm struggling with this. My computer does not know how to open the file, do I have to convert it to .EMF?
biochemtronics (author)  astrozombies1386 years ago
I know nothing about a mac. Just private message me your email address and I will send you the file. I think it is jpg or bmp. Will a mac open either of those.
both, thank you very much.
szechuan535 years ago
This is so cool... one of the first steps (other than those lame snap circuits) towards making electronics as easy as legos. :D
mattyh5 years ago
Whoa, awesome man! I thought those red things were led's and was expecting 1 motor and a on/off switch. I was impressed even then at first glance but holy crap: Picaxe brain & infrared controller!!!
i would have programmed for the directional buttons on the remote. would have been easie to navigate...unless you're using a remote where the arrow buttons are the volume/channel buttons?
fireman1155 years ago
Did you enter the pocket sized contest? if you did im sad you didnt win.... If you didnt you should have, you would have won for sure
where did you get that song in the video?it's awesome!!!
b-rad1016 years ago
just a thought, but do you think you could put the motors themselves on two separate bristles so you have a more advanced bristle bot? that way you can control each bristle separatly, giving it the direction left or right all the while prepelling it forward.
zoltzerino6 years ago
How did you get the name? Nice project, I'd love to make one but this is just too fiddly for me (only been doin electronics for a year).
Rapid_Hack6 years ago
very ingenious friends
Riojelon6 years ago
how can I program the picaxe? Can the bas file be read by a non-picaxe microcontroller?
Jupitane6 years ago
WOW that looks so cool! Mabye in a couple years after i learn about electronics ill build it! Great instructable! P.S. i like cotton candy!
raykholo6 years ago
would it be possible to program it for use with other remotes? for example, i would like to use a very small expresscard remote from my hp laptop instead of a big bulky one... would this be possible? thanks rak
biochemtronics (author)  raykholo6 years ago
No - that would not be possible. The PICAXE on reads Sony codes and I doubt seriously that your HP remote would use any of those codes. However, you can use another PICAXE as the transmitter. PICAXEs can send and receive SONY codes. You could make it really small too. All you would need is a battery pack, an IR LED, a couple of push buttons and a small case to hold it all. With watch batteries you could make the whole thing a lot less that one inch square.
1-40 of 99Next »