Tcl provides a portable scripting environment for Unix, Windows, and Macintosh that supports string processing and pattern matching, native file system access, shell-like control over other programs, TCP/IP networking, timers, and event-driven I/O. Tcl has traditional programming constructs like variables, loops, procedures, namespaces, error handling, script packages, and dynamic loading of DLLs. Tk provides portable GUIs on UNIX, Windows, and Macintosh. A powerful widget set and the concise scripting interface to Tk make it a breeze to develop sophisticated user interfaces.
TinyLogin is a suite of tiny UNIX utilities for handling logins, user authentication, changing passwords, and otherwise maintaining users and groups on an embedded system. It also provides shadow password support to enhance system security. TinyLogin is, as the name implies, very small, and makes an excellent addition to an embedded system.
DirectFB is a thin library that provides developers with hardware graphics acceleration, input device handling and abstraction, an integrated windowing system with support for translucent windows and multiple display layers on top of the Linux framebuffer device. It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware.
Onyx is a powerful stack-based, multi-threaded, interpreted, general purpose programming language similar to PostScript and Forth. It can be embedded as an extension language into other applications, and was designed to have a small memory footprint. It is among the smallest embeddable interpreters available.
Originally named Sync4j, the Funambol Mobile Application server includes a suite of tools to develop, deploy, and manage mobile projects. It includes push email functionality and is a certified implementation of SyncML (OMA DS/DM standard). It includes a mobile application server with connectors to SQL relational databases, Microsoft Exchange, Lotus Domino, and SugarCRM, applications for Outlook, Windows Mobile PocketPC, BlackBerry, Palm, and iPod for synchronizing address books and calendars, and a gateway for supporting mobile email. An SDK and an OMA DM server for remotely managing mobile devices are also included.
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.
Seminole Webserver is a portable Web server designed to be used in embedded systems, where memory space is at a premium. It is written in C++, and has a mechanism to direct requests to application-specific code, complete with the decoding of "CGI" parameters. It also includes a "filesystem" that can package up Web content (and optionally compress it) and store it in a ROM or other "flat" device. It comes with a simple example to make it a standalone Webserver under POSIX platforms for evaluation and testing.
uClibc (µClibc) is a C library for developing embedded Linux systems. It is much smaller then the GNU C Library, but nearly all applications supported by glibc also work perfectly with uClibc. Porting applications from glibc to uClibc typically involves just recompiling the source code. uClibc even supports shared libraries and threading. It currently runs on standard Linux and MMU-less Linux (also known as µClinux) systems with support for ARM, i386, h8300, m68k, MIPS, mipsel, PowerPC, SH, SPARC, and v850 processors.
PicoGUI aims to be a complete GUI environment for handheld computers and other embedded systems. It uses a client/server model, like the X window system, but while an X server is given raw drawing commands, the PicoGUI server integrates a widget set, making PicoGUI clients small and efficient. PicoGUI also has the goal of allowing client/server connections over a variety of mechanisms. It is most commonly used with Linux, but is designed to be portable to any OS. PicoGUI has a variety of video and input drivers which allow it to interface with the Linux framebuffer device, SDL, the X window system, and several other devices.