Well optimized web server under AVR

ATmega16 microcontroller is limited by RAM which is 1K. For a decent embedded webserver this is very little. But it seems to be possible as Andrew project shows. As part of his taken course on Internet Embedded Systems he decided to muck around and build a small web server with some smart ass features. His setup consists of Atmega16 development board with relays and ENC28J60 based Ethernet controller. First of all he squeezed his server response in to 700 bytes. With this chunk of data he was able to display optimized AVR logo image, HTML, JavaScript and CSS. In webpage there is uptime counter which updates dynamically. Also there is total HTTP requests counter and lastly relay control. He plans this initial template to use in to his next project where he could control fume extract system from webpage. Not bad for old school Atmega16. Continue reading