The picoweb is an embedded webserver
manufactured by Lightner Engineering
. It is based on an Atmel
but also includes a ethernet
interface and a 16 or 32 kilobit serial eeprom
depending on the model. The picoweb is very small, its main claim to fame. About the size of a business card
, although thicker. On one end is an RJ-45
connector for the ethernet and on the other there is a power connector (regulated on-board) and a DB-25
. The DB-25 is used, through a special cable, either to load firmware
or to connect the picoweb to any serial device using the Atmel's built in UART
The picoweb has 4 memories, or more if you count the ethernet buffers. The Atmel has a 4 kilobyte flash memory,a 512 byte eeprom, and 512 bytes of SRAM. Externally, there is a 16 or 32 kilobyte serial eeprom.
The picoweb has its own firmware which includes a kernel, support for various network protocols (TCP/IP, HTTP, ARP, ICMP, BOOTP, etc), and a pcode interpereter. pcode is a custom assembly-type language in which a developer can write custom cgi routines for the picoweb. Generally, the base firmware goes in the flash memory, web-pages and pcode go in the serial eeprom, the on-board eeprom holds configuration like the ip address, and the sram is used, well, as working memory.
Say you have a weather monitoring device that communicates via a serial port and you want to make its information available on the web. Using a picoweb you would create a web-page which would include special tags to call pcode cgis. These cgis would be written to communicate with the weather device and return the information in a readable format. The cgis and web-pages would be loaded onto the picoweb. Thus, your serial device becomes a webserver.
Sounds great, but...
I'm sure some of your heads are swirling with all the cool stuff you could do with one of these. Unfortuantely they're not perfect. It seems apparent that the picoweb was originally designed just as a cool hack and turned into a commercial product afterwards. The documentation is severely lacking and bugs abound. I am currently working, or should be working rather than noding, on a fairly sophisticated application for my employer, and, believe me, it can be frustrating. One warning I will give you now: when reading or writing from seeprom, don't cross and 64-byte boundries in a single operation. Trust me.
For more information see http://www.picoweb.net or feel free to /msg me.