The microVNC project came from an idea that in a networked home, small, inexpensive processors and LCD screens could be used throughout the home for display of data or remote control of the computer. VNC (Virtual Network Computing) is a protocol used to serve frames (screen captures) from one computer for display on another, and is used to work on a PC remotely.
The purpose of this project is to see the capability of using a small 8-bit microcontroller with existing VNC servers, communicating with TCP/IP over Ethernet and displaying frames on an LCD screen. At the end of this project, it will be seen whether a small 8-bit microcontroller can handle TCP and the VNC frames and update the screen at a fast enough rate to be considered useable as a remote display unit.
Example Use of a Remote Display:
Take for example a kitchen computer. This could be used to view recipes in the kitchen, create a shopping list or inventory, or set timers for cooking time. In isolation, this device would require storage for recipes, a keyboard for entering recipes, and creating a shopping list or inventory would be useless unless there was removable storage or a printer. The device would cost more than most people would consider it worth, and it would not find a place in many homes
If a network is present in the home, and a computer capable of serving out graphics exists, none of the above requirements of storage or keyboard are required, and the computer can be used for printing out a shopping list. The kitchen computer would require a small microcontroller, network interface (wired or wireless), LCD display, and an input device, either a touch screen or push buttons. Development of applications for this device is not limited to someone specialized in embedded systems. Because actual frames are served from the PC, the application could be made in something as simple as Visual Basic, Flash, or as a web page. In addition, the same display could be used with other applications, just by changing the focus of the remote display to another application on the computer.