Article: World’s tiniest (and cheapest) webserver?
Sep 13, 2000 — by Rick Lehrbaum — from the LinuxDevices Archive — 14 viewsNetMedia has announced “the world's smallest Ethernet webserver.” It's implemented as a tiny 1.1″ x 0.9″ PC board, and only requires the addition of +5V DC power and an Ethernet connector to function as a standalone webserver. Now, get this: the tiny plug-and-play webserver will be priced at just $39 for a single unit, $30 each for 100, $20 for 100,000 — and, it's just $12 each, if you happen to need a… million of them!
Even at $39, if it's really a functioning webserver, there must be a catch. Right? Well, sort of yes — but sort of no. Let's delve a level deeper into the details.
For starters, here's what the tiny device, called the SitePlayer, looks like:
Looking at the above pictures, you'll notice that the SitePlayer contains just four substantial components: two integrated circuits, an oscillator crystal, and a connector. The two chips are a Philips integrated 8051-based microprocessor and a Realtek Ethernet controller.
That can't run Linux, can it?
If that was the first thought that crossed your mind, you were absolutely right. In order to achieve both its miniscule size and miniscule price tag, the SitePlayer is extremely stingy in its use of resources. So stingy, in fact, that it doesn't contain a conventional operating system at all. Instead, NetMedia created a small system control program that fits within just 5K bytes of memory, which supports the device's internal functions and implements the supported Internet protocols (which currently include ARP, ICMP, BOOTP, UDP, TCP/IP, and HTTP).
As you might have noticed, this little gem is a classic example of another well-known four-letter engineering protocol: KISS (for “Keep it simple, stupid!”).
What's it made of?
From a hardware perspective, the heart of the tiny SitePlayer is a new Philips spin on an old Intel theme — the latest Philips 8051 variant. That processor (a P89C51RD2) includes 64KB of built-in nonvolatile Flash storage memory, plus 1KB of built-in static RAM memory. There's also a built-in serial port and some digital I/O. (A pdf datasheet on the Philips P89C51RD2 is available here). According Jack Schoof, NetMedia's founder and CEO, the P89C51RD2 is so new that there are not more than fifteen of them in the US, right now. (That's probably why he wouldn't lend me his prototype SitePlayer to play with!)
All of the SitePlayer's interface connections are via a single 11-pin connector (visible in the picture, above). The signals on those pins are: Ethernet Tx+, Ethernet Tx-, Ethernet Rx+, Ethernet Rx-, serial TxD, serial RxD, Ethernet Link status LED, +5VDC power, and ground. There's also a 2-pin utility connector which carries a pair of signals, which can be asserted to reset the system or to restore factory default settings in case the system gets into an unrecoverable state.
You may have noticed that there's no onboard RJ45 Ethernet connector. NetMedia left off that connector because adding it to the tiny module would have nearly doubled its size, and because they believe most users of the SitePlayer will want to provide their own RJ45 connectors on an outside edge of their products' enclosure. NetMedia also omitted the Ethernet interface magnetics, because it has become easy to obtain inexpensive RJ45 connectors with built-in magnetics (see this pdf datasheet).
How does it work?
The SitePlayer was designed to be extremely easy to use. According to Schoof, all you need to do is hook it up to a source of power, plug it into the 'net via its Ethernet connection, and begin feeding it data over its two interfaces (Ethernet for web connection; serial port for local host connection). Assuming you follow the unique but supposedly simple protocols, your data will magically show up on the web!
How does the SitePlayer actually operate? Here's a description of how the device works, taken from NetMedia's press release announcing the SitePlayer:
- SitePlayer contains a powerful object system called SiteObjects which allow graphical images, text, music, links, radio buttons, or checkboxes to change based on live data from the device processor without the need for CGI scripts or Java programming. A web page can contain a graphical knob rotated to a position, a switch can be toggled up or down, or a link can change based on a variable in the device processor.
Standard web authoring tools are used to make the pages for SitePlayer. Web pages are downloaded to SitePlayer's flash memory over the Internet. SitePlayer firmware updates are also downloadable, keeping SitePlayer current. A library of graphical knobs, switches, LEDs, and other user interface tools are provided for web page development.
Schoof has a written a detailed whitepaper entitled “Web Enabling Your Products Without Writing Any TCP/IP Code”, which describes the SitePlayer's unique architecture and command protocols. It's available online, here.
What's it good for?
By now, you've certainly figured out that you're not going to be hosting a “normal” website on a SitePlayer. Not with 64KB of Flash storage and 1KB of system memory! Compare that with the dozens of gigabytes of disk storage and hundreds of megabytes of system memory of “normal” webservers.
SitePlayer has a different role in life. As Schoof puts it, he created SitePlayer “to serve in applications like audio equipment, appliances, thermostats, home automation, process control, test equipment, medical devices, vehicles, machine control, and remote monitoring.”
Note that there are few instances where the SitePlayer is a complete embedded systems. Instead, it's meant to be used as an auxiliary subsystem solely focused at serving predefined web pages. It's a “website coprocessor,” which is added to a system that contains some other form of control processor. Accordingly, SitePlayer was designed to be easy to be added to existing systems, to web-enable them, or to be incorporated into new embedded system designs, as a means to offload simple webserver functions from the system's main control processor.
Think of the SitePlayer as a virtual instrument panel. You send it data “objects” over its serial port (at up to a megabit per second), and it converts that data into displayed “objects” that appear on its internal HTML pages. “SitePlayer eliminates expensive physical interfaces such as LCDs, knobs, and switches, thus paying for itself,” claims Schoof. By eliminating those user interface components, it also tends to reduce the system's size and power requirements, resulting in further cost savings.
Incidentally, NetMedia is developing a “high end” SitePlayer, with a slot for Flash memory cards of up to 64 MB capacity. Schoof says he expects that model to compete with traditional servers in many applications, and that NetMedia will offer it in a consumer-oriented version for creating “unhackable home websites.” Its target retail price? $149, including an 8MB Flash card.
Where did it come from?
NetMedia was founded in 1993 by Jack Schoof, who is currently the company's CEO. Schoof had previously founded a company called Artisoft, which was one of the first companies to popularize low cost peer-to-peer networking through its LANtastic networking product, at a time when LANs were still too expensive to be commonplace. Artisoft was instrumental in bringing down the cost of networking — including both hardware AND software — to a level where it could begin to be ubiquitous in small business environments.
Starting in 1993, Schoof's new company (NetMedia) began developing products and technologies for the home automation market. One such invention was a unique video camera that transmit its images over short ranges using low-level TV-band RF signals, allowing them to be received on an ordinary TV. Another product was the BasicX, which Schoof describes as “a Basic Stamp Killer”. The Basic Stamp is a tiny, inexpensive, and very easy-to-use microcontroller board that has become a tremendous hit among students, experimenters, hobbyists, and has also found a home in some commercial projects.
From these products came seeds of the SitePlayer. Schoof attributes the SitePlayer idea to requests from his customers, who were looking for a tiny Internet access device, similar in size to the BasicX, but with just two simple connections (besides power) — an Ethernet port, to connect to the 'net, and a serial port, to receive data from the system needing webserver services. Only primitive webserver functions were required, in order to implement simple remote data acquisition and control.
And the verdict is . . .
After meeting Schoof, eyeballing his (non-operating) SitePlayer, and learning about how it's supposed to work, I must say that I'm highly impressed with both the tiny device and the man behind it. If it works as claimed, and if NetMedia can actually sell SitePlayer profitably in the $25-35 price range, I expect it to be quite successful.
Overall, I'd say the most significant aspect of SitePlayer is its elegantly simple design, looked at from many perspectives — including hardware, software, and overall ease-of-use.
Which leads to the question: Why not develop a SitePlayer-like device based on one of the latest highly integrated ARM core based system-on-chip ICs — with an open architecture, and supported by embedded Linux and open source software? Why not create a universal web-node micro-platform that the growing masses of open source developers can tinker with, add to, and find clever uses for? The day is not far off when billions of networked nodes will be “wired” together on a single extended 'net. The sooner we pool our collective wisdom to create the required solutions, the sooner we'll really get there.
Maybe an ARM-and-embedded-Linux based SitePlayer will be NetMedia's next product? Thanks to Moore's Law, the size and cost of doing it are bound to be affordable sooner than you'd expect!
Do you have a comment or question on this article? talkback here
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.