MV-Linuxbot
The Idea: Turn this webcam into a nice little robot on tank tracks, running embedded linux, and communicating via 802.11b wireless LAN.

Why?

This webcam with built in modem was for a job I'm doing and, for one reason or another, turned out not to be suitable. Obviously it begged to be dismantled and put to a good use. Once the nice solid die cast case was open, it turns out that the camera is based around a PC104 486sx with 4Mb of RAM from DSP Design, running QNX, and complete with two PCMCIA slots. The camera module is a Sony unit, as yet unidentified...

Only one thing for it. Put Number-5 style tank tracks on the bottom, replace QNX with linux, beef up the Flash, give it wireless LAN and turn it into a little beast of a robot...

I'll post the progress and anything that might be interesting or useful here, but due to nigh-on-zero budget, a young family and a proper job, I wouldn't hold your breath.

Oh, the webcam that actually got used is on top of a beach bar here at Kololi Beach Club in The Gambia. Go there. It's all good.
Update: The webcam got hit by lightning, so it's a bit poorly....

For those who enjoy the illicit thrill of naked electronics, some pics... (Click for a closer look)

           


News

November 05

Told you not to hold you breath, didn't I? I've not forgotten this, just life kind of overtook things and it ended up as another project on my bench that I don't have time to work on. Recently I was contracted to do some embedded Linux and Perl work that fitted in quite nicely with working on the bot, so I've managed to adapt the OS I built for that for use with the new PC/104 board. It has become a bit of a personal challenge to do this and spend no money whatsoever!

Anyway, I have a new linux 2.6 based system up and running off CF, the wireless is working with an old D-Link 802.11b card connected to an antenna salvaged from a dead Linksys access point. Took a while messing with solder jumpers to get the PCMCIA slots recognised by the kernel. The 128Mb DoC is also working with the newer MTD stuff in the 2.6 kernel and seems reliable, and I have some GPIO going using the parallel port. I've got an old RC tank to cannibalise, so I'll hopefully get something rolling in another couple of years ;-) I'll take some snaps when I get the chance.

I've not managed to get the weird Active Imaging camera card to work - the chips on it are a Philips SAA7110 and a custom rom, so I may ditch this in favour of some cheap usb webcams and a USB PCMCIA card.

August 03

Yehay! - linux boots on the bot!
Now have linux booting on the original 486sx PC/104 board, I need to save up for a PC/104 VGA adapter to get the new board set up - A display would also help immensely with the groping-in-the-dark style debugging that is all that is possible using a console on the serial port.
It refuses to correctly recognise the 128Mb DiskOnChip, but works perfectly with a smaller 4Mb unit. This may be that my kernel source is a bit out of date, I'll try an update, but it could be that the DSP board is incompatible with the larger DOCs - the datasheet states that only 1Mb, 2Mb and 4Mb modules are supported, but when it was written, this was all that was available.
Would be good to use a JFFS2 filesystem on the DOC, rather than DOS...


You can download a floppy image of the basic Linux 2.4.20 system here
The kernel configuration is here. It is based on nanobox with all the networking stuff stripped out, and fs tools in its place.

Features:
  • Uses uClibc and busybox to create a small system that will fit on a 1Mb EPROM, such as the M27C801 used in the bot
  • Supports DiskOnChip 2000 (plus other flash devices, but this is untested)
  • Boots with a console on the serial port
  • Includes disk tools fdisk and mkdosfs for partitioning and creating DOS disks


  • July 03

    Been moving house, so not much progress, but I managed to pick up a much more powerful PC104 board on eBay at a snip, one of these. AMD 5x86 @ 133Mhz, IDE and Ethernet, so getting set up will be a lot less fiddly, and the possibility of adding an onboard HDD + more processing power and memory are more than welcome. Cheers Tony.

    June 03

    Have prepared the bare-bones linux system to get the DiskOnChip formatted and mounted. Boots on the test machine, an ageing IBM PS/1 486sx with 4Mb of RAM, and puts a console on the serial port, but no joy on the bot yet...

    The kernel and root filesystem fit into the 1Mb EPROM (M27C801) and include the busybox basics along with fdisk, mkdosfs, etc. to (hopefully) set up and mount the DiskOnChip. Once this is done, with the nice juicy 128Mb of filesystem on the DiskOnChip and a new kernel on the EPROM the fun can begin on getting PCMCIA and the wireless networking up and going.

    Concerned about negative effects on the eventual range of the bot caused by the WiFi card being inside the metal case, combined with the sudden need to take something apart, I a took a look inside the Netgear MA401 card, and lo and behold, there are the solder pads for an SMA connector, so an external antenna won't be a problem...



               

    March 03

    Been looking at possibilities for the tracks and running gear for the beast, I thinking of using the guts from a 1/16 Tamiya M4 Sherman RC tank like this with metal tracks like these from these guys at Mark-1-Tank. They look like they know what they're doing, but first things first, like getting the cam running linux and the basic electronics going before being tempted into splashing any cash...

    Resources

    Linux - http://www.kernel.org
    Busybox - http://www.busybox.net/
    uClibc - http://www.uclibc.org/
    Memory Technology Devices (MTD) Subsystem for Linux - http://www.linux-mtd.infradead.org/
    Syslinux - http://syslinux.zytor.com/

    Linux, BusyBox and Syslinux are released by their copyright holders under the GNU Public Licence . uClibC is released under the GNU Library GPL