UPDATE: better instructions are linked from Shonkbot’s github page

It was the journey home from MakerFaire UK, and Matt Venn, Richard Sewell and Anton Bowers were plotting about cheap robots, that were easy and cheap to build but also could do something interesting.

Richard has since made a shonky robot, designed to be made for as little money as possible. It writes its own name using a pen, and currently costs about £7 – we’re hoping to reduce that.

He donated a couple of stepper motors to me so I could try and make one myself. It was easy…esque. I don’t have a gluegun and that seems to have given it an extra level of shonkiness. But it’s a start. So here are some notes for later.




Step 1: Assemble the components


  • An arduino nano or clone
  • Some 20cm cable ties
  • A three x ‘AA’ battery box like this one
  • On old CD
  • A little breadboard
  • 2 stepper motors like these
  • wheels to fit the motors
  • O-rings or elastic bands to fit the wheels
  • glue (not UHU though. a gluegun works best, or failing that, some superglue)
  • 14 male to female jumper wires
  • 3 ‘AA’ batteries
  • A sharpie

You’ll also need a laptop and a mini (not micro) USB cable to connect the nano.

Step 2: Glue the wheels onto the CD


The wheels need to have some sort of grip on them. 50mm length rubber bands (measured like this) would work for these ones.

Step 3: Glue the supports onto the CD

Richard’s top tip: bend the cable tie a little about an inch from the latch. Mine: make the loop as big as you can.


My pen-holder cable ties just wouldn’t stick (with superglue), so I tried something else (see later). The loops were ok though.

Step 4: Programme the Arduino and try the stepper motors powered from the USB

Here’s Richard’s code. You need this stepper motor library from here on github.

Connecting it up is easy:

  • board 1: wire arduino pin D2 to driver board IN1, D3 to IN2, D4 to IN3, D5 to IN4
  • board 2: wire arduino pin D6 to driver board IN1, D7 to IN2, D8 to IN3, D9 to IN4

Then you just add ground and 5v from the arduino to the motor boards, and then connect up the battery pack to the mini breadboard.


I had to get new drivers for the cheapo Arduino clone (CH340G chip) I was using.

On Mac Yosemite, I had to use the Arduino IDE 1.6 rather than the old 1.0 I had installed.

Step 5: Glue or fasten the boards, breadboard and battery pack onto the top of the CD

Gluedots seem to work well. Or even rubber bands – they don’t need to be very firmly stuck. If you put the stepper boards at the front the LEDs will light up satisfyingly. The battery pack is relatively heavy so needs to be more or less centred to stop it falling backwards. Make sure you leave the CD hole free for the pen.

Step 6: Add the sharpie


Here I connected my sharpie to two cable ties with a rubber band, pushed through the underside of the CD and then wrapped a bit of wire round it to secure it – ideally it should stay as vertical as possible. Richard did it differently:


Step 7: Connect up the batteries and place on A3 paper

Place about half way up the short side of the piece of paper, with the front facing towards the centre of the paper.

This is the best I’ve managed:


Mine is a bit weird because its wheels are slightly too big because of the velcro padding I needed to attach my too-big rubber bands – this can be fixed as a parameter in the code though.

Here’s what it ought to look like:


Of course there’s lots of other things that could be done with it.