Today I create a turtle robot, programmable, drawing lines on paper. It use ballpoint-pen-refill (like this , http://bricksafe.com/files/ruf/leogo/pen_refill_op.jpg , it is very cheap), the pen is bound to pen-control-arm with rubber belt. You can download leogo.ldr from http://bricksafe.com/files/ruf/leogo/leogo.ldr , and open it in LDView and surfing with step-by-step. You need one set of 8547/NXT to build this robot.
And I create a python module named 'leogo.py', to provide the basic operations. e.g. fd() for forward, bk() for backward, lt() for turning left, rt() for turning right, and pd()/pu()/goto(x,y) . you can download the module from http://bricksafe.com/files/ruf/leogo/leogo.py .
Before it works, please install python, nxt-python (from http://code.google.com/p/nxt-python/ ), nbc/nxc (from http://bricxcc.sourceforge.net/nbc/ )，and pyBluez(if you are using Windows and wish the bluetooth works, install from https://code.google.com/p/pybluez/ ).
And start with this simple program:
from leogo import *
for i in range(0,4):
fd(300) // forward for 300mm
rt(90) // turn right 90 degrees
(updated 2014-05-28: rewrite leogo.ldr to leogo.mpd, add two functions into leogo.py, 'goto(x,y)' and 'line(x1,y1,x2,y2)' )