- Protothreads are extremely lightweight stackless threads
designed for severely memory constrained systems such as deeply
embedded systems or sensor network nodes. Protothreads provides
linear code execution for event-driven systems implemented in
C. Protothreads can be used with or without an underlying
- uIP is the worlds smallest full TCP/IP stack. Intended for
tiny microcontroller systems where code size and RAM are severly
constrained, uIP only requires 4-5 kilobytes of code space and a
few hundred bytes of RAM. uIP has been ported to a wide range of
systems and has found its way into many commercial products.
- Contiki is a tiny, highly portable, operating system for small
devices. Includes full TCP/IP networking through uIP, a graphical
(GUI) subsystem, VNC server, world's smallest web browser,
etc. Ported to a large number of architectures.
- lwIP is a small TCP/IP implementation for embedded
systems. lwIP is larger than uIP, but provides better
throughput. lwIP was initially written by me but is now developed
by a group of developers distributed world-wide. lwIP is used in
many commercial products.
- twIP is a really, really tiny and bare-bones IP stack, written
to fit in a Twitter message. In 128 bytes of source code, the
stack does nothing more than answer to IPv4 pings.
- uVNC is a small (most probably the world's smallest) VNC server for
8-bit microcontrollers. uVNC is now part of Contiki.
- Miniweb is a proof of concept that shows that it is possible
to implement a TCP/IP stack and a web server using only around 30
bytes of RAM.
- phpstack is the only TCP/IP stack and web server ever written
in the PHP scripting
language. It is a quick and dirty hack written in about 3
hours and is not intended for actual use.
- A really tiny BASIC interpreter, written in a few
hours for the fun of it.
- As a hobby project, Peter Eliasson and I built an Ethernet
interface for the Commodore 64 which we called "The Final
Ethernet". To demonstrate our hardware, I wrote a streaming audio
server and web server running on the Commodore 64, on top of
uIP. The streaming audio server was compatible with RealAudio and
streamed 1-bit real-time samples from the Commodore 64 cassette
player over the Internet, directly from the C64. After being
slashdotted, the demo server served 170000 web pages to nearly
50000 visitors during its first week on-line.
- I once made a really simple assembler for 6502, which was used
together with my (unfinished and unreleased but working) 6502 C
compiler and experimental 6502 operating system I wrote as a hobby
project during my first year of undergraduate studies.