If you follow this blog, you may remember that I’ve mentioned RISC OS, the OS used on ARM-based computers made by Acorn Computers. The OS has a very loyal following, and as an “outsider,” I found it (and the hardware, for that matter) interesting.
However, as Acorn pulled out of the personal computer market in 1998, the community has had trouble obtaining hardware since. Many users still use circa 1997 RiscPCs with 200 or 233 MHz StrongARM CPUs, which just don’t cut it today. While there were a few clones made after the fall of Acorn, most notably the Iyonix (with a 600 MHz XScale,) and the A9home (with a 400 MHz Samsung ARM9-based system on chip,) these machines are expensive for what they are, and the Iyonix is no longer in production. It’s proven to be difficult to make custom hardware specifically for this market, as the RISC OS community can’t afford custom chips designed for RISC OS machines, so they’re required to use embedded chips that provide suboptimal performance, and the low volume causes extremely high hardware prices to make up for development and tooling costs.
But, ARM is now pushing their architecture into the netbook and nettop spaces, countering Intel’s attempt to move into ARM’s traditional smartphone and embedded spaces. This means that there’s now PC-class ARM hardware. And, the best part is, someone else is paying for the development, and ARM wants the volume to be huge.
Not only that, but Castle Technology, the company that makes the Iyonix, has released their version of RISC OS under a shared source license, to RISC OS Open. This has allowed developers to take advantage of the new ARM platforms. Right now, there’s a port to the Beagle Board, although it’s arguably not well suited towards desktop applications, due to its lack of any form of ATA support, and poor 2D graphics capabilities – the OMAP3530 chip that it’s based on is essentially a cell phone chip. Also, it’s a developer board, so there’s no good case for it. But, there’s an ARM platform that’s low-cost, commercially available, and does offer SATA, good 2D graphics, and a case.
That platform comes from an unlikely source, HP.
HP makes a line of thin clients running their “ThinPro” operating system (a variant of Debian,) designed to plug into a network, and connect to servers running such systems such as Citrix, Microsoft Terminal Services, or VNC. However, they also have sufficient processing power to run applications such as web browsers.
While most of these models have used various embedded x86 processors, HP recently released a model that uses a Marvell Kirkwood ARM system on chip, the t5325.
I did a video unboxing and quick review of it:
There’s not too much info about the t5325 out there, so this blog post is mainly documenting it, and what needs to be done to make it suitable for a self-sufficient desktop.
So, here’s a quick run-down of what you get for your $200 (what they sell for in the US – sometimes less, sometimes more):
1.2 GHz Marvell 88F6281 Kirkwood SoC – this is a single-issue, in-order core, compliant with ARMv5TE. Linux actually identifies it as an ARM926EJ-S.
XGI Volari Z11 GPU – I believe this is just a PCIe version of the Z9, for which an open source driver exists. Output is via a DVI-I port, and it can do 1600×1200 at 24bpp.
512 MiB DDR2 RAM
512 MiB SATA-attached (but soldered, so no, you’re not unplugging it to plug in a hard drive) flash – only 463.6 MiB is available, due to the controller keeping spare blocks.
Stereo sound input and output
4x USB 2.0 host ports
A rubber dome keyboard and a scroll mouse
But, what about what isn’t documented?
Well, to find that out, first you need to open it up.
You’ll notice a screw on the rear, to the right. Unscrew it, and then the back panel slides to the left. After you do that, you can slide the lid towards the rear, opening the device.
Now, what’s under the lid?
(I disassembled the device further than I had to before getting that shot.)
The interesting things are on the right side, one to the rear (bottom of photo) of the board, two to the front (top of photo) of the board.
The most easily noticeable of them is in the right rear, oriented vertically in this photo. Solder pads for a SATA port. I believe the part that goes here is a Tyco Electronics part. More on SATA later.
At the right front, there is a small 4-pin connector, labeled COMA on the motherboard. This is a 3.3V TTL serial port. From the point of view shown in that photo (that is, the rear of the motherboard facing you,) the pinout of this port is:
GND RXD TXD 3V3
Also, there are solder pads for an SD connector, if you wish to add that. You will need to cut a hole in the case for an SD card to fit through, though.
Now, back to SATA drives. You’ll notice that this is a 22-pin connector, perfect for using with a 2.5″ drive. Unfortunately, the way the case is shaped, there’s not enough room anywhere in the case for a 2.5″ drive. I tried.
However, there should be just enough room for a CF to SATA adapter. Combine that with a short 22-pin SATA extension cable, and you’ve got mass storage that fits in the case (albeit without a good way to secure it to the case, at least as of right now, I haven’t looked too closely into it.)
Once this stuff is added, you can pretty much run whatever you want on there, as long as it supports this hardware. As it’s Debian-based, you can shuffle packages around, and eventually get a full system of any Debian-based distribution that supports ARM EABI.
Add in the serial cable, bring some programming experience to the table, and then you can port stuff that supports ARMv5TE to this hardware. Such as RISC OS, for an example. If you are interested in doing such a port, the outputs of dmesg and U-Boot would probably be useful, too.