musl is a new implementation of the standard library for Linux-based systems. It is lightweight, fast, simple, free, and strives to be correct in the sense of standards-conformance and safety. It includes a wrapper for building programs against musl in place of the system standard library (e.g. glibc), making it possible to immediately evaluate the library and build compact statically linked binaries with it.
MatrixSSL is an embedded SSL and TLS implementation designed for small footprint devices and applications requiring low overhead per connection. The library is less than 50Kb on disk with cipher suites. It includes client and server support through TLS 1.2, mutual authentication, session resumption, and implementations of RSA, ECC, AES, 3DES, ARC4, SHA2, SHA1, and MD5. The source is well documented and contains portability layers for additional operating systems, cipher suites, and cryptography providers.
The CyaSSL embedded SSL library is a lightweight SSL library written in ANSI C and targeted for embedded and RTOS environments, primarily because of its small size, speed, and feature set. It is commonly used in standard operating environments and cloud services as well because of its royalty-free pricing and excellent cross platform support. CyaSSL supports industry standards up to the current TLS 1.2 and DTLS 1.2 levels, is up to 20 times smaller than OpenSSL, and offers progressive ciphers such as HC-128, RABBIT, and NTRU.
Embedthis Appweb is a fast, little embedded Web server. It is unmatched in efficiency and serves pages at native speed, using an event-driven, non-blocking core to serve multiple requests using minimal resources. It has integrated caching and the Embedded Server Pages C-Language Web framework. Without compromising performance, it has extensive security controls and a rigorous security sandbox that helps protect the server and mitigate denial-of-service attacks. It is one of the most widely deployed embedded Web servers and is used in networking equipment, telephony, mobile devices, industrial control, and consumer and office equipment, and in high-performance Web services.
execline is a very light, non-interactive scripting language, which is similar to a shell. Simple shell scripts can be easily rewritten in the execline language, improving performance and memory usage. execline was designed for use in embedded systems, but works on most Unix flavors.
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.
Nuttx is a real-time embedded operating system (RTOS). It has a small footprint that is usable in micro-controller environments. It is fully scalable from tiny (8-bit) to moderate embedded (32-bit) systems. It also aims to be fully compliant to standards, to be fully real time, and to be totally open.
catnip is a tiny network packet mirroring tool. The server (source) is not based on libpcap and, when compiled and stripped, makes the binary smaller than 20kiB. This makes it very suitable for embedded environments where a libpcap-based tool, typically 100kiB for just libpcap and 500kiB for tcpdump, would be simply too large. What makes catnip stand out from other small packet capturing tools is that it presents the remote systems interface as a local TUN/TAP interface, but additionally can apply a BPF filter at the remote end to send to you only the traffic you are interested in.
QP is a family of lightweight software frameworks for building responsive and modular real-time embedded applications as systems of cooperating, event-driven active objects (actors). The QP family consists of QP/C, QP/C++, and QP-nano frameworks, which are all strictly quality controlled, superbly documented, and commercially licensable. The behavior of active objects is specified in QP by means of hierarchical state machines (UML statecharts). The frameworks support manual coding of UML state machines in C or C++ as well as automatic code generation by means of the free QM modeling tool. All QP frameworks can run on bare-metal MCUs, completely replacing a traditional RTOS. Ports and ready-to-use examples are provided for all major CPUs, such as ARM Cortex-M, ARM7/9, MSP430, C28x, C55x, RX, R8C, AVR32, AVRMega, PIC24/dsPIC, as well as Arduino and mbed. QP/C and QP/C++ can also work with a traditional OS/RTOS, such as: POSIX (Linux, QNX), Windows, VxWorks, ThreadX, and uC/OS.
yaSSL is a C++ based SSL library for embedded and RTOS environments, designed for individuals who prefer to use the C++ language. For a C-based solution, please see CyaSSL. yaSSL supports the industry standards up to TLS 1.2, and also includes an OpenSSL compatibility interface.