Phase01 of the robot project and some history.

I started playing with microcontrollers in 2005 and now almost 6 years later I've completed the first phase (which doesn't even include a microcontroller).

OOPIC, 2005

The first microcontroller, oopic, that turned out to be a really restricted product:
OOPIC board

Here's one non-functional prototype from 2005:
oopic proto with meccano mechanics

16fxx, 2006

After the oopic I switched to 16f628 microcontrollers with a small devboard (I did get help with the schemas and soldering):
First 16f88 devboard

In 2007 I had a 16f88 and a more featured microcontroller board for driving the motors. An iPAQ was used to provide e.g. wireless connectivity. For the mechanics I bought a cheap Nikko RC car and ripped of the electronics in it:
Nikko RC card with an iPAQ

Gumstix Verdex, 2008

Next thing was to get Linux in the picture so I bought a Gumstix Verdex and started to learn more about electronics, like i2c:
Verdex and i2c setup

Gumstix Overo, Phase01, 2010

After several planning iterations and code rewrites I ended up using Qt both on the Gumstix and on the GUI controller. I decided that trying to optimize everything from the memory and CPU consumption to the network bandwidth just isn't worth the time spent in implementing it. Using Qt framework with self made simple protocol over UDP I got the Phase01 code implemented quite quickly compared to my previous efforts. The protocol allows low priority packets (like periodic statistics and video stream) to be lost and guarantees the passing of high priority packets (control commands etc.). Also only the latest control command of each type is retransmitted, i.e. an old packet is not retransmitted if a new overriding command has been given already.

The controller GUI shows the states the slave sends, like motor speeds, WLAN signal strength, CPU load average and some protocol statistics like round trip time and the number of retransmissions.

Currently the motors are controlled using the a,s,d,w keys in 10% steps and the camera is controlled dragging the mouse left button pressed on top of the video window.

Here's a video (direct link) of the Phase01. You need HTML5 video capable browser with Ogg Theora/Vorbis codecs.

<video src="/blogstuff/pleco-phase01.ogg" width="768" height="576" controls></video>

oopic.jpg - OOPIC board (230 kB) Tuomas Kulve, 03/27/2011 11:43 am

nikko-ipaq.jpg - Nikko RC card with an iPAQ (180.1 kB) Tuomas Kulve, 03/27/2011 11:43 am

gumstix-verdex-i2c.jpg - Verdex and i2c setup (176 kB) Tuomas Kulve, 03/27/2011 11:43 am

oopic-proto.jpg - oopic proto with meccano mechanics (231.8 kB) Tuomas Kulve, 03/27/2011 11:44 am

16f88-devboard.jpg - First 16f88 devboard (243.7 kB) Tuomas Kulve, 03/28/2011 09:49 am