Let's Make Robots!

Chopsticks V2


Originally Chopsticks was simply a variation of Frits's hot glue and paintstick philosophy intended on showing students that household objects such as chopstickss can be use to build a robot.

Now I am developing a kit version for those who do not want to mess around with polymorph and chopsticks. The body parts are CNC machined from 3mm (aprox. 1/8th inch) thick polycarbonate and incorporate the unique feature of an adjustable suspension system in the leg pieces. This protects the servo gearboxes from damage due to sudden impacts and even poor coding.

The new videos show my robot carrying a 1.15Kg payload of polymorph and in the second video it is trying to drag a chair! You can see the polycarbonate legs twisting under the load but no damage is done!

The new robot is similar in design to the original Chopsticks robot but is slightly larger and designed to accept either 1 or 2 Spider controllers. I am developing sample code that will allow 1 processor to deal with eyes, personality, navigation and mapping while the second Spider controller acts as a slave processor controlling the leg movements and accepting inputs from the leg sensors.

Two Spider controllers means 140 I/O pins which includes 32 analog/digital pins. I plan to use as many of these I/O pins as possible for touch sensors and close range IR sensors so that the robot can detect sudden drops and objects not in range of the navigation sensors.

The three oldest videos show some simple test I did with the prototype. I am developing a new walking routine that should be easier to use and with a greater range of movements. No inverse kinetics are used. I use a relatively simple algorithm and integers only. This allows the processor to calculate the servo positions much quicker although with less precision.




Currently my robot is overweight. As such the thigh servos are struggling to support the weight. The main reasons this robot is heavier than the original Chopsticks is the use of metal geared servos for all the servos and the fact that unlike the polymorph version, this robot is held together by a few hundred steel nuts and bolts.

I can reduce the weight of the robot by changing to servos with plastic, aluminium or titanium gears. I can also replace most of the steel bolts with nylon and use a lithium battery rather than the NiMh battery I have now. All up I can reduce the weight by at least 500g (1.1lb).

For now I have been taking advantage of the weight to test various walking gaits. Basically the more legs you have on the ground at any one time, the more weight your robot can support but sometimes it can reduce the maximum speed of the robot.

The newest video shows a gait where 6 legs are on the ground at all times while 2 legs are lifted and moved forward. This gives good support for the bodyweight and I have managed to acheive the same speed as my earlier gait where 4 legs were lifted at once.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I'm about to head out the post office to send the original Chopsticks back home to OddBot. He lent it to me for Maker Faire in NYC. We'll miss him!

The updated design looks amazing. I can tell you after having to do several repairs on Chopsticks that the suspension system is a very good idea. We burned three servos and broke a servo horn, which is not something you want in a kit. 

You have managed to keep the original look and personality of Chopsticks, while transforming him into a practical kit design. Wonderful work, as usual.

Hello Oddbot! Your creations are always impressive. What range of price do you think the kit will fit into? I am interested.



I'm not sure yet, the servos will be the killer. Currently I am experimenting with different servos and sensors.

I have just found what seems to be a good rubber foot / switch combination that allows each foot to know when it is touching the ground. Ideal for edge detection. If the switches prove robust enough then I will modify the design to incorporate them.

I am also looking at changing the second controller to a small 1GHz controller running Linux (Currently sold by Robosavvy). This would make it perfect for Grog's "Robot Lab" and allow features such as speech recognition and vision without the need for a wireless link to a PC.

I'll update this post soon.

Thanks guys. I have added switches to the feet so he can tell when he walking over something or over an edge and adjust his stride accordingly. I am also reducing his weight to make him more agile.

Once I have everything perfected DAGU will sell this robot as a kit.

It has a professional finish thanks to the CNC... :)

Really good work... I liked Chopsticks V1 but this too is awesome... great job...

And the sound of the legs on the wood floor is music to my ears... Sounds like an army marching... :D

That is one SEXY robot ! :)

Chopsticks got an upgrade! I have to admit that since I joined LMR, Chopsticks has been one of my favourite 'bots and it is so nice to see him (her/it?) morphing into a seriously pro-looking robot. I'll second Korel's comments that it is looking very neat now, very impressive indeed.

Do you have a rough guestimate on the price that the kit will go for or am I jumping the gun a bit? I'm still trying to get my head around wheels/tracks at the minute and 6/8 legs is most likely next on my learning curve so I'll be watching this very closely :-)

Just purely out of curiousity, why on earth would you need (note I didn't say want) 140 I/O pins?! By my calculation, 3 servos + 1 microswitch sensor per leg = 4 * 8 = 32 = still less than half of a Spider's capability... How many sensors are you planning on mounting on your baby or is program space the issue?

BTW, on a side-note, my partner probably won't be happy now until I can build something like this after showing her your vids!

It's true that only one Spider controller is needed in most cases.

The original Chopsticks robot uses:

  • 24 pins for leg servos (3 per leg x 8)
  • 4 pins for pan / tilt servos for the 2 eyes
  • 8 analog inputs for the eye sensors
  • 1 digital pin for the IR LEDs
  • 1 digital pin for switching servo power on or off.

That is only 38 out of 70 I/O pins.

I do plan to add IR sensors on the 4 corner legs for detecting objects in front, behind, left and right. This will use the other 8 analog inputs and another digital pin.

So I/O pins are not the main issue. Memory isn't either as the current program only uses 1/10th of the memory. The main reason for a second processor is that controlling all those legs, reading and interperating all the input from the eyes is a lot of work for the main processor.

Adding a second controller linked to the first via the serial ports leaves me with a processor that is free to do mapping, process sound and speech etc. 

The kit will sell with only one Spider controller but will have mounting holes for a second. As some distributors have their own prefered controllers which are much more powerful and can process images from a camera I will be adding mounting holes for their products as well.


What a great looking robot my friend! Everything is sooo neat and impressive.   With those legs and switches it's gona be a complex coding I think,maybe not for you but for me yes. Can't wait to see the video ;)

Cheers :)


Wow very nice that new spider design OB,love it! Will keep an eye on your progress. Thanks for sharing and for your informations :)