Embedded designer Paul Thomas is showcasing a tiny, open-sourced computer at LinuxWorld in San Francisco this week. Would-be “Linuxstamp” enthusiasts can obtain pre-built boards for the hefty sum of $120 directly from Thomas, or they can download the design for free and build it themselves.
The Linuxstamp is an extremely simple hardware design, consisting of six integrated circuits (processor, flash, RAM, serial-to-USB, ethernet PHY, and power conversion) plus a bunch of passives.
The Linuxstamp is built from just six ICs
(Click to enlarge)
Thomas demonstrated the Linuxstamp in the “Garage” area of Linuxworld. The most eye-catching of his demos was a home-made robotic car, constructed with legos and moved around by a couple of wheels controlled by the Linuxstamp (see photos below). In this demo, the Linuxstamp operated untethered, thanks to wireless capability supplied by a USB/WiFi adapter plugged into the board’s USB host port.
Wireless Linuxstamp-powered robot demo at LinuxWorld
(Click each image to enlarge)
Despite its simplicity, the Linuxstamp’s features include:
- Atmel AT91RM9200 processor (ARM9 core, includes MMU)
- 32MB SDRAM
- 8MB SPI flash memory
- 10/100 Ethernet (supplied by the Atmel processor)
- USB host port (supplied by the Atmel processor)
- USB device port (generated by a serial/USB converter)
- SD card slot
- USB debug port (via the USB device port)
- JTAG port
- Can be powered via POE
The board’s processor, a 180 MHz Atmel AT91RM9200 system-on-chip, integrates an ARM9 CPU core (with MMU) along with controllers for USB host and device ports, 10/100 Ethernet, MMC/SD card interface, sync/async serial ports, SPI (serial peripheral interface), and more.
Thomas was careful to keep the Linuxstamp’s design simple enough to allow for a two-layer PCB design, which minimizes costs and simplifies homebrew construction.
Another example of keeping things simple is the inclusion of a USB-based serial debug port, implemented via a serial/USB converter chip. Thanks to this feature, users of the board most likely won’t need to use the board’s JTAG debug port, according to Thomas.
Even initialization of the board’s low-level bootstrap loader is easy, Thomas adds, since the Atmel processor includes an innovative, built-in hardware bootstrap function that automatically attempts to load the onboard SPI flash via the serial debug port when a newly built board powers up for the first time.
Bootstrap loaders and Linux OS
Thomas notes that there are two levels of bootstrap loader: a tiny loader provided by Atmel initializes the processor and its interfaces, and then loads U-boot, which does the rest. This process is described in detail on the Linuxstamp’s wiki site.
As its name implies, the Linuxstamp runs Linux. At least two distributions are currently available: a minimal filesystem that boots and runs entirely from within the Linuxstamp’s 8MB flash and 32MB RAM memory; and a more complete, debian-based filesystem that requires an SD card to supplement the board’s on-board flash. In addition to the linux kernel, the minimal filesystem includes BusyBox and DropBear SSH (a small SSH client/server), among other basic system functions. The minimal system system allocates about 2MB of the 8MB available flash to linux and the boot-loaders, with the rest for the filesystem, according to Thomas.
Both OSes are based on kernel sources obtained from kernel.org and compiled specifically for the board’s hardware, Thomas says. The filesystem images, a cross compiler, bootstrap loader images, and sources are available from the Linuxstamp’s ftp site.
To purchase a ready-made Linuxstamp (priced at $120 plus shipping, as of this writing), visit TheLinuxStamp.com. For more technical details on the Linuxstamp and to obtain its “open source” design (it’s released under the GNU GPLv2), visit the Linuxstamp’s wiki.