uIP TCP/IP stack provide TCP/IP connectivity to tiny embedded 8-bit microcontrollers.
uIP is an implementation of the TCP/IP protocol stack intended for small 8-bit and 16-bit microcontrollers.
uIP project provides the necessary protocols for Internet communication, with a very small code footprint and RAM requirements - the uIP code size is on the order of a few kilobytes and RAM usage is on the order of a few hundred bytes.
uIP is open source software written in the C programming language and the documentation and source code is free to use and distribute for both commercial and non-commercial use as long as proper credit is given (the full BSD-style license is here). It has been ported a wide range of 8-bit microcontrollers and is used in a large number of embedded products and projects (see the Links page for a few examples).
Here are some key features of "uIP":
· Well documented and well commented source code - nearly every other code line is a comment.
· Very small code size.
· Very low RAM usage, configurable at compile time.
· ARP, SLIP, IP, UDP, ICMP (ping) and TCP protocols.
· Includes a set of example applications: web server, web client, e-mail sender (SMTP client), Telnet server, DNS hostname resolver.
· Any number of concurrently active TCP connections, maxium amount configurable at compile time.
· Any number of passively listening (server) TCP connections, maximum amount configurable at compile time.
· Free for both commercial and non-commercial use.
· RFC compliant TCP and IP protocol implementations, including flow control, fragment reassembly and retransmission time-out estimation.
What's New in This Release:
· A new socket-like API, protosockets, was added.
· uIP now has rudimentary IPv6 support.
· A DHCP client was added and the Web server was rewritten with protosockets.
· Device driver structure was simplified.
· Many bugfixes were made in the TCP code.
· A uIP mailing list was started.