Starting with some internet control code posted by @BDub, I was able to blink some LEDs, then run a robotic arm, then eventually integrate the Spark Core into a small internet-controlled rover. This project will never really be done. It’s always having parts replaced or upgraded, because its real purpose is to help me learn more about circuit design and programming. This is what it looks like after about 8 months of messing around and replacing stuff (in between other projects).
The wheels are powered by four metal-geared servos modified for continous rotation, with the control circuitry removed for more power. Right now, I’m testing two new wheel designs. The rear are PVC end caps, and the front are 7.5 ounce tuna cans, both with cheap RC tires stretched over them. The tuna cans are best, because they put less stress on the servo bearings. They’re covered with cling-wrap because they get too much traction on carpet, and the rover can’t turn (it steers like a tank).
The First Person View camera is a Tenvis JPT3815 wireless IP camera. It’s a 350mA power hog, partly responsible for the very heavy 8xAA battery banks; one for motors, and one for microprocessors (reduced to 5VDC with switching regulators). Pan/tilt/zoom is not currently being controlled. I’ve controlled it by directly patching in to the stepper motors, then I replaced them with micro servos that aren’t wired in yet. I never did sort out the camera’s native cgi controls.
The arm is an OWI-535 toy robotic arm for about $40, removed from the base, and mounted on the aluminum robot chassis. The Spark Core is running the arm’s motor control H-bridges directly, taking up 10 of my IO pins, so I’m working on a solution for that (custom motor controller has a yet-unprogrammed ATTiny84 which will take over). Position feedback potentiometers are installed, but not yet integrated.
I can post the slightly messy code if anybody wants a starting point to work on something similar.