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.
JCPP is a complete, compliant, standalone, pure Java implementation of the C preprocessor. It is intended to be of use to people writing C-style compilers in Java using tools like sablecc, antlr, JLex, CUP, and so forth. It has been used to successfully preprocess much of the source code of the GNU C library.
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.
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.
Protothreads are a type of extremely lightweight, stackless threads written in 100% portable C. While protothreads were originally designed for severely memory-constrained systems such as deeply embedded systems, they have found a number of uses as a general purpose portable library as well.
DIY Zoning is a set of tools and instructions for controlling a state-of-the-art HVAC (Heating, Ventilation, and Air Conditioning) system. It covers airflow balancing, temperature control and zoning, energy conservation measures, remote access, 1-wire devices, and home automation.
PolarSSL is a light-weight cryptographic and SSL/TLS library written in C. PolarSSL makes it easy for developers to include cryptographic and SSL/TLS capabilities in their (embedded) applications with as little hassle as possible. Loose coupling of the components inside the library means that it is easy to separate the parts that are needed, without needing to include the total library. PolarSSL is written with embedded systems in mind and has been ported on a number of architectures, including ARM, PowerPC, MIPS, and Motorola 68000. The source is written to have very loose coupling, enabling easy integration of parts in other software projects. Very loosely coupled cryptographic algorithms for MD2, MD4, MD5, SHA1, SHA-256, SHA-512, AES, Camellia, DES, Triple DES, ARC3, and RSA are included.