uIP is probably the smallest implementation of the TCP/IP protocol stack ever written in a high level language; the code footprint is on the order of a few kilobytes and RAM usage is on the order of a few hundred bytes. uIP is intended to be used in embedded systems running low end 8- and 16-bit microcontrollers.