Unix in your palm
In my continuing desire for smaller and more portable Unix systems I have bought a Casio E-105 palm sized PC with the sole intention of running Unix (through the LinuxCE project). The Casio E-105 runs a MIPS Vr4121 at 131MHz, has 32M RAM, 320x240 16bit color screen, audio i/o, serial, infrared and compact flash slot. Its dimensions are 84x131x20mm (3.3x5.1x0.8in) and weights 255g (9oz), and runs from a Li-ion battery. My previous attempts of Unix on small machines using the IBM PC110 palmtop although successful made me want a even smaller more portable device, and importantly faster and with better audio so I might have a platform for my speech synthesis research and other speech technology work I'm involved in.
Due to (I hope temporary) hardware fault on the E-105, I've also bought a Casio E15 (no color, only 16M memory, and mono sound, but substantiall cheaper)
For a handheld to be useful its got to be there all the time, my experiences with the IBM PC110 palmtop a small full 486SX based PC showed this. It also has to have enough battery power and speed for the applications you need. I've been watching the hand-held market for sometime looking for something that is better than the IBM PC110. By better I mean something smaller (easier to carry), longer battery life (IBM PC110 has about 2hrs), a faster processor (I want to run speech synthesis and maybe even recognition of the device), and better quality audio (for synthesis). It also must have an open development environment.
The first option I considered was the PalmPilot. Its very small and does have an open development environment. It is the most popular palm computer around. Also it interestingly has a Linux port. However although there are some interesting hardware hacks for it: there was an audio output hack but it wasn't practical. I did look at trying to find sound device that use the serial line and it did look possible it wasn't going to be easy. Also I reckon that the PalmPilot is actually too small for what I want, its basically not designed for that sort of work.
The second option was to build my own. Small PCs on a single board are available, Vaughan Pratt's tiny matchbox sized web server inspired me to start searching again for new hardware and a possible design. Also the uCLinux project seemed to offer details on building similar devices.
I also looked at the PSION 5, and more interesting at the Geofox (now defunct) which had more memory. But Psion were very reluctant to release their development kit without paying a few hundred pounds. It wasn't the cost more the principle, and their environment ran under Windows only, which I don't have access to. There was a port of Linux to the Geofox with the help of internal developers which looked promising but with Geofox going out of business it looked like not a strong option.
There was another possibility, the Itsy, its not available for sale but since my move to CMU I find there are two on campus and the group using them is interested in adding speech capability. Its Linux based and has audio i/o. I'm not ruling that out but it doesn't look likely I'll be able to get one though it is possible I'll be able to use it for a synthesis platform.
Then I saw the Casio E-100/E-105. This looked promising, it had a substantially faster processor, more memory, a compact flash slot (it can take the IBM microdrive which has been talked about for ages but now seems actually available). It had sound. This looked promising. But, its a Windows CE device. That's not good, getting hardware internals of the machine wont be easy to get a Unix port. I looked for Unix (gcc) based development environments for WinCE ( http://www.innonet.at/~wisi/index.html). It looked possible but not very good. Then later this summer I saw that there was LinuxCE project and that they had made signigicant steps forward (and booting kernel to a single user shell). True, there was not yet any audio support, communciation was through the serial line, and it really wasn't yet a practical solution, but it did have interest and there was a group actually working on it.
I should note there a few specific reasons why a Casio E-105 is not the best buy. The E-105 is sometimes reported to be slower than the E-100, and under WinCE you can't actually use the whole 32M for programs. It is perhaps rightly suggested that you should buy a E-100 and spend the saved money on a larger CF disk. However the larger memory can be used usefully by Linux so it is worth it for me. A second argument against Casio is that WinCE sucks and PalmOS is better. Again that isn't relevant if I'm buying for use with Linux. The third is that the Casio E-105 isn't readily available, the backlog from on-line stores seems to be as much as months. See the next section for my more-money-than-sense answer. The fourth argument I have seen is that the Casio screen is difficult to see in sunlight. Well, I'm Scottish, and a geek, so I consider this to be a useful feature. If I can't see the screen because of bright lights it is obvious I'm in an exposed place and must immediately head to dark and dingy places where I feel at home.
When my E-105 failed, it just stopped, full resets make no difference, though it may work for a few minutes before it hangs again, I ordered an E15. This has a slower processor (67MHz) 16M memory, mono audio, but only $200.
Once I decided to buy one I found it wasn't as easy as I hoped. Lots of on-line dealers have them listed but as far as I could tell they were all out of stock. The E-100 and E-15 were available but as I reckon I'm going to be pushing this machine to its limit the extra memory (32M) is important even if the color screen isn't.
I found out that CompUSA has them in stock but they are about $70 more than what the on-line advertisers had. So not feeling particularly poor I arranged with an equally techno-geek friend to get a ride out to their store just outside Pittsburgh. I bought the E-105 ($620) and a Viking 80M CompactFlash with PCMCIA adator ($228) coming to just over $900 with tax. I noted that my last computer purchase, for a machine to co-host at an ISP, cost about half that.
When withdrawl symptoms hit, when my E-105 died (I was about to download the new kernel to test CF support). I quickly searched the web for an alternative. I bought a Casio E15 from Egghead for $199.99, as is will allow me to continue playing with LinuxCE until my E105 is fixed.
Why put up with a proprietary operating systems when you can have a free, open, stable operating systems that is the same as that on your desktop. Note LinuxCE is still in development and is only recommend for the adventurous. It will eventually settle into a realistic alternative but at present it has a number of basic issues outstanding.
There are people working on making small Linux machines without the hassle of reverse engineering proprietary systems. However these are not available for purchase yet.