PicoWeb Frequently
Asked Questions (FAQ)
So, who really has the World's Smallest Web Server?
Good question! We believe that today it may be us, if you're talking about
a full-function, stand-alone Web server with an Ethernet connection. Our PicoWeb
server PCB is smaller than a standard business card, and only has components on one single
side. We could make it substantially smaller, but that would drive up the
assembly and parts costs. It's a sure bet that we are going to see even smaller
Web-enabled devices in the future. It's our bet that we will be able to capture and
keep the "low ground" in terms of cost with our unique, resource limiting
networking algorithms.
Why do you call it a $25 Web server when it sells for much more than that?
The $25 amount originated as the total parts cost of the original PicoWeb "breadboard
project" as described in our Circuit Cellar Online
article. Many people scattered around the world have built their own $25 PicoWeb
"breadboard" using our schematic and firmware. The $25 number also is an
accurate bill-of-materials cost for moderate quantities of the PCB version of the
PicoWeb server. However, we are a for-profit operation, so what the public pays for
PicoWeb servers manufactured by us is a bit more.
How can I use the PicoWeb Server to Web-enable an existing product?
If your product already has an RS-232 serial port which can be used to control/access the
device, then the engineering effort required to make that device accessible via a Web
browser can be minimal.
Can I do UDP and TCP with the PicoWeb Server?
Yes. The PicoWeb server is not limited to use only by Web browsers. The
supplied PicoWeb firmware also supports custom programming using UDP and TCP. With
the latest release of the PicoWeb firmware (v2.xx), application code can initiate short
outbound TCP/IP sessions with remote host computers by using special firmware
routines. Normally, the PicoWeb is restricted to servicing inbound TCP/IP sessions
only. UDP-based communication is also possible using the PicoWeb firmware.
Can I design and/or build my own hardware and still expect to make use of the
PicoWeb server firmware?
Yes. Lightner Engineering is actively seeking partners to develop products using the
PicoWeb server technology. We are equipped to do turn-key product design
engineering, or we can leave the design engineering completely in your hands, using
information we would supply. Or, we can share the engineering duties...the choice is
yours. Our PicoWeb server product was created primarily as a development and
engineering proof-of-concept tool. Most likely the PicoWeb technology will need to
be tightly integrated into your product to make it cost effective. We are
at your service to help make that happen.
Why doesn't the PicoWeb Server use a PIC microcontroller from Microchip?
We chose an Atmel microcontroller for the PicoWeb server primarily because of it's use of
flash-based program and data memory. This helps make firmware development quick and
easy. Nevertheless, the PicoWeb firmware could be ported to any of many other
microcontrollers from a number of different vendors. If you have a favorite one,
Lightner Engineering would be happy to discuss such a project.
Is the PicoWeb server firmware available for license and how much does it
cost?
Yes. The firmware can be licensed for commercial use. A single right-to-use
license is included with the purchase of a PicoWeb server from Lightner Engineering.
A single right-to-use license for hardware of one's own construction may be
purchased for under $10. Please contact Lightner Engineering for quantity licensing
information.
Where can I get the firmware source code for the PicoWeb
server?
Sources for the "breadboard version" can be downloaded
from the PicoWeb Web site. This firmware can be used for non-commercial purposes at
no cost under the terms of the license agreement.
Source code for the PCB version of the PicoWeb server is supplied as part of the
PicoWeb firmware development environment which can be purchased from Lightner Engineering.
The use of this firmware for commercial purposes on hardware other than that
supplied by Lightner Engineering is subject to a licensing agreement and fee.
Where can I get the development environment for the PicoWeb
server?
A complete development version for the "breadboard version" can be downloaded from the PicoWeb Web site. This firmware can
only be used for non-commercial purposes under the terms of the license agreement. Lightner Engineering also offers
a complete firmware development environment for its PicoWeb server
product line.
How can it get updates to my PicoWeb server development
environment?
If you are an existing customer you can find what you need on our technical
support Web page.
Why is some of the PicoWeb server firmware source code in binary form?
Certain networking software algorithms used by the PicoWeb server are in a patent pending
state. Until such time that these patents are granted, the algorithms must be
treated as proprietary information and cannot be disclosed in source code form without a
strict non-disclosure agreement in place. With the proper agreements in place, full
PicoWeb server source code can be made available to third parties.
Where can I find latest copies of PicoWeb articles, white-papers, software, and
errata information?
Please visit our downloads page.
Where can I buy the Atmel microcontroller for the PicoWeb server
"breadboard project"?
You can buy Atmel 8515 microcontroller parts in small quantities from the AVR Forum or from Iguana Labs. (For all the
other parts you may need, we suggest you take a look at Digi-Key.)
Where can I find information about assembly language programming of the PicoWeb
server?
The Atmel Web site has a document titled 8-Bit AVR
Microcontroller with 4K/8K bytes In-System Programmable Flashwhich describes the AT90S8515 microcontroller, including
information on programming it in its AVR assembly language.
Where can I find information about PicoWeb firmware/Web page development?
Our Web site's downloads page has a PDF document titled How to
Build a PicoWeb Project which describes the steps required to
create Web pages and/or firmware for download into the PicoWeb server.
Where can I find information about programming of the PicoWeb server using
"pcode"?
Our Web site's downloads page has a PDF document titledPicoWeb
Pcode Interpreter which describes PicoWeb pcode.
Do you accept payment via credit cards?
We accept both
domestic and international orders via credit card (Visa, MasterCard, AMerican Express and
Discover). Details can be found on our ordering
information page.
Suddenly I can no longer download new firmware into my PicoWeb
Server. What's wrong?
We have had reports from the field of the Atmel microcontroller
occasionally entering a "confused" state when a PicoWeb Server is power-cycled
with the programming cable attached to a PC. Once in this state the Atmel microcontroller
will repeatedly fail to download new firmware. To correct this problem, unplug all
of the cables from the PicoWeb server, wait a few seconds, re-apply DC power to the
PicoWeb Server, then re-attach the other cables. The source of this problem appears to be
"leakage" current, supplied to the PicoWeb via the cables attached to the PC,
preventing a "clean" power-up sequence, as required by the Atmel flash
programming circuitry.
I can't seem to use Javascript in my PicoWeb Web pages?
PicoWeb firmware releases prior to 12/2/99 had a problem with the
interpretation of { }'s in any HTML pages downloaded to the PicoWeb server. This
problem has been fixed. Please contact Lightner Engineering at lightner@lightner.net for an updated version of the
PicoWeb firmware source code file "lib\url.asm".
When I'm building PicoWeb projects something is accessing the
floppy drive?
You are probably using McAfee's virus protection program with the older
version of the PicoWeb development system (i.e., version before v2.00). For reasons
we don't understand this causes drive A: to be accessed each time Atmel's AVR assembler
(AVRASM.EXE) is run. Either turn off the virus protection program's "file
check when Run, Create, Rename etc..." feature under "system
analysis", or make sure a formatted floppy disk is in drive A:.
I sometimes see random corruption of the microcontroller's EEPROM bytes?
Certain PicoWeb servers built prior to hardware revision level v4.1 are subject to
infrequent random corruption of the Atmel processors on-chip EEPROM during PicoWeb
power-cycling. This is the result of a power "brown-out" problem descovered by
Atmel and documented in one of it's errata sheets on the Atmel AT90S8515 microcontroller.
Because the PicoWebs Ethernet address and IP addresses are usually stored in
on-chip EEPROM, the symptom of this EEPROM corruption event typically is an inability to
contact the PicoWeb server over the Ethernet until the PicoWebg firmware is downloaded
again. Newer PicoWeb servers (v4.1 and later) include a reset controller
chip which holds the Atmel microcontroller in reset during these power
brown-out conditions.
Do you support development/download under Windows NT and Windows 2000?
Yes. However, you may need special user privileges (typically reserved for
"Adminstrators") in order to make use of the PC parallel port under Windows NT
and/or Windows 2000.
Do you support development/download under Linux?
No. Today we only support firmware development and download under Microsoft WIndows.
However, we expect this to change in the future. We have just switched our
development tools over the "public domain" GNU software tools, including the GNU
AVR assembler, linker and AVR C-compiler (gcc). The GNU tools also run on Linux,
althogh a bit of work is needed to port our other software to Linux. One of the
biggest problems with these operating systems is our need to access the PC parallel port
for the purposes of downloading firmware into the PicoWeb's microcontroller.
Special drivers for Linux are one way to solve this problem. However, do have a
"hardware fix" working in our lab. With a special cable, one PicoWeb
server can be used to download a second PicoWeb server over the Ethernet. This
option does not make use of a PC parallel port. Please stand by for announcements
regarding this new option.
Can I program the PicoWeb Server using C?
Yes. The new GNU-based PicoWeb development system (v2.xx) is compatible with a
version of the GNU C-compiler which targets AVR machine code (in program memory).
However, because there is a limited amount of unused program memory in a PicoWeb server
(i.e., ~2K bytes), only a limited amount of application code can be written in C.
Complex PicoWeb applications will have to continue to rely on PicoWeb pcode in order to be
able to execute out of the much larger 32 Kbyte "code space" offered by the
PicoWeb's serial EEPROM chip.
Can I send e-mail with the PicoWeb Server?
Yes. The latest release of the PicoWeb firmware (v2.xx) allows application code to
initiate short outbound TCP/IP sessions with remote host computers. One of
the sample PicoWeb projects shows how to send a short e-mail message to an SMTP mail
server using this feature.
Why do firmware downloads fail with parallel ports on certain PCs?
If when attempting to download firmware into a PicoWeb server you get repeated errors of
the form "Chip can not be enabled" then you need to check your PC's parallel
port. Verify that the parallel port is "enabled", that it is properly
configured, and that it is not being used (and/or shared) by another program. On
some PC's, the parallel port must be taken out of "bi-directional mode"
(sometimes called ECP or EPP mode) and placed in "compatibility" mode.
Note also that certain programs and/or Windows drivers can interfere with the PicoWeb
programmer. Iomega Zip drives and external CD-ROM drives which use the PC parallel
port have been known to cause problems of this kind. One way to quickly
"disable" any such installed drivers is to press the F8 function key during
Windows 9x boot and then select "safe mode".
Why does the PicoWeb project "build" process hang-up my PC?
Certain versions of Norton Anti-Virus 2000 are known to cause the PC to hang-up (or
sometimes abort the GNU assembler) during PicoWeb project builds (i.e.,
"pwbuild"). This happens repeatedly when the GNU assembler (avr-as.exe)
runs, a "plain-vanilla", console-mode, 32-bit Windows C-program. This is
clearly a bug in the anti-virus software. On some PC's this error requires the PC to
be re-booted. The work-around we recommend is to disable anti-virus
"auto-protect" when running PicoWeb project builds. (Also, we suggest that
you report this bug to Symantec!)