|
|
I have had a mini-itx PC kicking around for a while that I
use to play mp3s at parties. Now I have space in
Mr Stick Legs for it to fit I will be putting a sensible operating system on
it, making it fit in the smallest space possible, and attempting to reduce power
consumption.

The board is a mini-itx
EPIA 800 which is only 17cm square, it has a fan for cooling but is very low
power. It's only second from bottom of range - the lowest spec is the EPIA 5000
board which has no fan for cooling and runs at 500Mhz.
I plan to install Damn
Small Linux on the PC which will boot from a USB key or compact flash drive
as it only requires 128Mb of space to operate. Here's the PC in it's plastic box
which I biught from Maplin:

Currently everything is inside including a 2.5" laptop hard disk and a 60W PSU
which takes an external 12V mains adapter rated at 5A to power it from the
mains:

The board itself uses a VIA chipset and processor which is very low power. I
measured the current it drew with a multimeter, it peaked at 1.9amps when it was
booting, but when idle it ran at only 800mA, even with the hard disk connected
(the meter is on the 10A range and in series with one power rail on the 12V
side):

This means it's only using 9.6 watts idle and 22.8 watts with disk activity. I
didn't try playing a DVD or anything to see how CPU performance affected power
consumption but I don't plan to make it do anything very taxing anyway. The
power required should be much less without the hard disk - just using a flash
drive to run linux.
The plan now is:
-Take it out of the existing box and mount it on a 'layered chassis' so that the
whole thing is square with the power supply on a mounting layer on top/below the
board.
-Get a special mini-itx USB connecter for the extra ports so that the USB key
doesn't stick out from the edge.
-Find a Wi-Fi card that works with
Damn Small Linux.
There is one PCI slot on the board so this shouldn't be too hard.
-Sort out the power on Mr Stick legs to run it, 12V shouldn't be too hard to
find.
-Mount it somehow to resist shock, although there will be no disk/moving parts
it's still going to get shaken around a bit by the android walking.
The Wi-Fi network will probably end up as an alternative to the 'IR remote
control extender' that I described in the android head article.
I have now made the PC boot from a USB key running
Damn Small Linux
and put it on the network. Here it is running, the current consumption is about
850mA:

However, after playing with
Damn Small Linux I
have drawn the following conclusions and done these things:
-Damn Small Linux
is fine for USB booting provided you don't need to make too many system changes
to the image. You can save data and settings to a separate partition but users
accounts seem to get lost(?)
-The alternative is to do a 'Frugal' install although I couldn't get this to
boot from the USB key in either Grub or iLo mode.
-I tried a straight HD install to the USB key, this worked but wouldn't boot
even with the BIOS set to USB-HDD.
-So, I tried making a actual hard disk partition of 256Mb to match my USB key to
see if it would fit on there along with
Python which is required to
program the robot. It doesn't, as well as there being no C compiler to build the
Python source.
-So, it looks like 512Mb would be the minimum size partition to use it for what I
want. It is possible to get an IDE-Flash drive from
mini-itx.com which
is seen by the system as a hard disk but is solid state. These come up to 1Gb in
size.
Next steps
I would like to get the Pc working from a solid state storage device to save
wrecking the harddisk by moving it around with it powered on. However, I already
have Vector Linux
installed on the 2.5" hard disk currently in the PC...
This is another light distro of Linux but really requires more space. It does
however boot more quickly from hard disk than Damn Small Linux boots from USB
pen-drive. I already have Python installed on it and it's pretty easy to use.
So, as the disk is small and light I'll probably just use that for now and
investigate flash drives at a later date (when I have ?99 spare).
Mr Stick Legs is powered by the mains anyway so the extra power isn't really
an issue for now.
So anyway, time to get on with the layered chassis, here's the actual board
itself at just 17cm square:

The bottom layer will hold the board, the top layer will hold the power supply
and hard disk until I swap it for compact flash:

They are spaced apart about 4.5cm with 4mm threaded rod which fits through the
mounting holes of the motherboard:

An that's pretty much it, it will be covered by a cardboard or plastic shell if
I can find something suitable. I'll cover it with aluminium foil to screen it,
or just screen the stomach of Mr Stick Legs. It will be mounted on it's end in the android like this:

For now I'll be using the onboard conventional network card, although I'll
switch to Wi-Fi when I get a wireless base station as the Wi-Fi USB adapters are
only about ?20...
The PC is now fitted into Mr Stick Legs and powered from the mains power supply already on his back. I
have also added a Belkin USB to Serial adapter which worked first time. It can
be seen by typing 'lsusb':

It can be addressed as '/dev/ttyUSB0', the device can be seen in the hardware
roundup by typing 'dmesg':

I have SSH server running on the PC so I can SSH to it with
Putty or another SSH client. Startup daemons (services) can be set to start
automatically using the 'vasm' config utility.
Next will be getting IP/Sockets communication from the remote 'AI' and vision
processing PC which I will detail in another article along with the majority of
the programming.