post Ere be robots

Filed under Electronics by Iain (3:25 am, March 21st, 2008)

I’ve been getting back into electronics. High voltage stuff this time around – I’m trying to get a small Tesla Coil running at the moment (and to that end just let the magic smoke escape from my cheapo bench power supply).

Going through my camera, I found some photos of some robots I built last time I was in a soldering mood and thought I’d share and document – read on for pics and details.


First up, this was an experimental BEAM rolling robot. Two different designs are shown; the idea in each case is that the weight moving inside the ball makes the ball roll along. In the large pic, the motor itself is the counterweight and is designed to be pulsed, resulting in a burst of motion each time.


I didn’t get round to fitting the control electronics and solar engine in there on that iteration of my electronics interest; I may do this time if I can find room, or a slightly bigger sphere. I think the chloroplast engine would be perfect for the task, and I do have one knocking around somewhere.

It’s a design that would be interesting if created as a single unit within a swarm of similar robots which can work together by means of simple communication to form a single, distributed articial life form. Similar ideas are being examined by NASA/MIT for planetary exploration uses, although theirs have dinky fuel cells.

CD Bot

Next up is a little PICAXE-powered bot built on a couple of CDRs stuck together.


I really love the PICAXE-08M, based around a PIC 12F683. 555 timer for the 21st century! Extremely cheap way to get into microcontroller fun.

The CD bot has differential steering, a 3.6V NICAD, onboard serial programming socket and LDR light sensors. The bottom picture shows the same bot in different clothes, and with a tiny hacked digital camera mounted, controlled by the PICAXE.

The bot was programmed to wander around, stop periodically, and take pictures if it saw something interesting, the LDRs acting as a two-pixel motion detection system.


A couple of BEAM-inspired two-motor walkers.

Walker I

My walker design uses a PICAXE-18 project board to emulate the pulse pattern of a BEAM Nv-net quadcore two-motor walker.

From Solarbotics:


A quadcore (with only one process circulating) will only be
operating one motor at a time. Note that the rear motor
“leads” (in terms of the pattern’s phasing), and the front
motor “follows.”

Rear motor CW CCW CW
Front motor CW CCW CW

A walker in action looks amazing, but I had to read that a couple of time to get just how simple the gait is. Despite the lack of the Nv-net’s beautiful feedback technique, it walked surprisingly well and looked very alive. The legs were stiff wire coathangers soldered onto brass blocks from 3A connector block, and the motors were the fabled Mac floppy drive motors; fantastic little DC gearmotors with a ratio I forget at this time of night, but perfect here. Well worth tearing out of old Macs, of which I have an atticful. I used a re-centering spring on the front legs.

The gearmotors received the full 9V from the PP9 (I’ve since seen the light and never use them) while the PICAXE got 5V through a good old LM7805.

I can provide PICAXE code and further details of the mechanical linkages if anyone’s interested.

In an effort to make a more minimal walker, the original being quite weighty, I tried the same legs and mounts on a pair of these 120:1-geared motors and a body made from angled aluminium:

Walker II

The earlier, heavier walker was superior. Although prettier and capable of walking without it’s controller and battery pack, the lighter model didn’t stay on track very well, and would twist itself into a ball of tangled leg when trying to carry it’s brains.


  1. Hi Iain. if you can help, I have a number of 16year olds doing picaxe projects at my school who are having serious problems (AS AM I) getting an 08 chip to see an LDR signal. Used basic to do a readadc but no inputs respond!
    Do you have a program that works?

    Comment by philr — Jun 30 2008 @ 10:51 pm

  2. Phil,

    That’s odd. This should work — but let me know if it doesn’t:

    ‘ LDR on 1; LED on 0
    readadc 1,b1
    if b1 < 50 then flsh
    goto loop

    high 0
    pause 500
    low 0
    goto loop

    Comment by Iain — Jun 30 2008 @ 11:09 pm

Leave a comment

ruld rurd
© 2001-2009 Iain Craig RSS Feeds Entries | Comments