The Qws Embedded Web Server

Quinapalus Home :: Things Technical :: The Qws Embedded Web Server


  • stateful TCP/IP stack
  • up to six simultaneous connections
  • HTTP (hypertext transfer protocol)
  • both GET and HEAD methods supported
  • ARP (address resolution protocol)
  • responds to ICMP ‘ping’ messages
  • anti-spoofing sequence number scrambler
  • 10BaseT Ethernet interface
  • LCD status display
  • high speed: roughly as fast as a 500 MHz Linux PC-based server (as measured by ApacheBench)
  • low power: less than 200 mW, including Ethernet interface and LCD
  • low cost

The Qws embedded web server consists of a PIC16F877 microcontroller connected to a standard ISA Ethernet interface card. The total cost of the project was approximately six pounds (about ten US dollars), thanks largely to the kind donation of the Ethernet card.

The microcontroller offers 14 kbytes of FLASH program memory (organised as 8192 14-bit words) and 368 bytes of data RAM. The server code occupies about 1800 words of the program memory, the remainder being used as a filing system to store the web pages to be served. Approximately 270 bytes of data RAM are used.

The processor clock runs at 20 MHz, giving an instruction rate of 5 MHz.

The server supports the address resolution protocol (ARP) and ‘ping’, and, of course, the hypertext transfer protocol (HTTP). Unlike many embedded web servers, however, the implementation is ‘stateful’: it can service requests on up to six separate connections simultaneously.

The prototype server sometimes hosts the website. Note that this is for demonstration purposes only, and the site may be unavailable for extended periods while development work is being carried out.

If you’d like to know more about this project, please e-mail me.

This page most recently updated Sat 16 Sep 16:09:15 BST 2017
Word Matcher

Type a pattern, e.g.
into the box and click ‘Go!’ to see a list of matching words. More...

Qxw screen
Qxw is a free (GPL) crossword construction program. Answer treatments, circular and hex grids, jumbled entries, more besides. Release 20140331 for both Linux and Windows. More...

Practical Signal Processing front cover
My book, ‘Practical Signal Processing’, is published by Cambridge University Press. You can order it directly from them, or via or Paperback edition now also available. Browse before you buy at Google Books. Wydanie polskie.

If you find this site useful or diverting, please consider a donation to NASS (a UK registered charity), to KickAS (in the US), or to a similar body in your own country.

Copyright ©2004–17.
All trademarks used are hereby acknowledged.