Displaying 1 to 20 from 52 results

inih - Simple .INI file parser in C, good for embedded systems

  •    C

inih (INI Not Invented Here) is a simple .INI file parser written in C. It's only a couple of pages of code, and it was designed to be small and simple, so it's good for embedded systems. It's also more or less compatible with Python's ConfigParser style of .INI files, including RFC 822-style multi-line syntax and name: value entries. To use it, just give ini_parse() an INI file, and it will call a callback for every name=value pair parsed, giving you strings for the section, name, and value. It's done this way ("SAX style") because it works well on low-memory embedded systems, but also because it makes for a KISS implementation.

RT-Thread - A Tiny and Elegant IoT Operating System

  •    C

RT-Thread (Real-Time Thread) is an open source embedded real-time operating system. It has a strong scalability: from a nano kernel running on a tiny MCU, for example ARM Cortex-M0, or Cortex-M¾/7, to a rich feature system running on MIPS32, ARM Cortex-A, even the emerging open source RISC-V architecture is supported. RT-Thread can run either on single-core systems or on symmetric multi-core processors(SMP) systems.

ferret - Ferret is a free software lisp implementation for real time embedded control systems.

  •    Makefile

Ferret is a free software lisp implementation designed to be used in real time embedded control systems. Ferret lisp compiles down to self contained C++11. Generated code is portable between any Operating System and/or Microcontroller that supports a C++11 compliant compiler. It has been verified to run on architectures ranging from embedded systems with as little as 2KB of RAM to general purpose computers running Linux/Mac OS X/Windows. A program that sums the first 5 positive numbers.




libuavcan - Portable reference implementation of the UAVCAN protocol stack in C++ for embedded systems and Linux

  •    C

WARNING libuavcan v1 is not yet complete. This is a work-in-progress. Portable reference implementation of the UAVCAN protocol stack in C++ for embedded systems, Linux, and POSIX-compliant RTOSs.

flutter-embedded-linux - Embedded Linux embedding for Flutter

  •    C++

This project was created to develop non-official embedded Linux embeddings of Flutter. This embedder is focusing on embedded Linux system use cases. It is also implemented based on Flutter desktop for Windows and has some unique features to use it in embedded systems. Our objective is to use Flutter in embedded systems. We're developing this embedder to use Flutter in embedded products. Ultimately we would like to propose and contribute this software to the mainline of Flutter Engine, which means we would like to add an embedded systems version into the Flutter repo for all embedded developers. Please note that this is just our ideal, not the official opinion of the Flutter community.

bo - The Swiss army knife of data examination and manipulation

  •    C

The Swiss army knife of data examination and manipulation. This is the tool to use when you need to visualize or convert data in different formats.

libonnx - A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support

  •    C

A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support. The library's .c and .h files can be dropped into a project and compiled along with it. Before use, should be allocated struct onnx_context_t * and you can pass an array of struct resolver_t * for hardware acceleration.


libhydrogen - A lightweight, secure, easy-to-use crypto library suitable for constrained environments

  •    C

The Hydrogen library is a small, easy-to-use, hard-to-misuse cryptographic library. The documentation is maintained in the libhydrogen wiki.

fwup - Configurable embedded Linux firmware update creator and runner

  •    C

fwup is a configurable image-based software update utility for embedded Linux-based systems. It primarily supports software upgrade strategies that update entire root filesystem images at once. This includes strategies like swapping back and forth between A and B partitions, recovery partitions, and various trial update/failback scenarios. All software update information is combined into a ZIP archive that may optionally be cryptographically signed. fwup has minimal dependencies and runtime requirements. Scripts are intentionally limited to make failure scenarios easier to reason about. Distribution of software update archives is not a feature. Users can call out to fwup to run upgrades from external media, stream them from the network, or script them using a tool like Ansible if so desired. Uses standard ZIP archives to make debugging and transmission simple.

mini-snmpd - Mini SNMPd is a minimal implementation targeted at small or embedded UNIX systems with limited resources

  •    C

The Mini SNMP daemon is a minimal implementation of an SNMP daemon. It is targeted at embedded systems with limited disk and memory resources. All configuration is done using command line arguments. It supports basic CPU, memory, disk, and network interface statistics. mini-snmpd is not as flexibible as, and does not support the same features as, the de-facto standard net-snmp, but this also means it does not have the same footprint and overhead.

ntpclient - Fork of Larry Doolittle's ntpclient with added damon, syslog, and IPv6 support

  •    C

ntpclient is an NTP client for UNIX-like systems, RFC 1305 and RFC 4330. Its functionality is a small subset of ntpd, chrony, OpenNTPd, and xntpd. Since it is much smaller, it is also more relevant for embedded systems in need for only a client. The goal of ntpclient is not only to set your computer's clock right once, but keep it there.

ibutterfree - IButterFree is a lightweight embedded library for displays and touchscreens providing everything required to build a fully featured embedded GUI

  •    C

IButterFree is a lightweight embedded library for displays and touchscreens providing everything required to build a fully featured embedded GUI. The IButterFree library has been designed to be the smallest, fastest and most advanced embedded library for display and touchscreen solutions. For more information, access the official website. IButterFree may be modified and distributed under the terms of the MIT license. See the LICENSE file for details.

embb - Embedded Multicore Building Blocks (EMB²): Library for parallel programming of embedded systems

  •    C++

The Embedded Multicore Building Blocks (EMB²) are an easy to use yet powerful and efficient C/C++ library for the development of parallel applications. EMB² has been specifically designed for embedded systems and the typical requirements that accompany them, such as real-time capability and constraints on memory consumption. As a major advantage, low-level operations are hidden in the library which relieves software developers from the burden of thread management and synchronization. This not only improves productivity of parallel software development, but also results in increased reliability and performance of the applications. EMB² is independent of the hardware architecture (x86, ARM, ...) and runs on various platforms, from small devices to large systems containing numerous processor cores. It builds on MTAPI, a standardized programming interface for leveraging task parallelism in embedded systems containing symmetric or asymmetric (heterogeneous) multicore processors. A core feature of MTAPI is low-overhead scheduling of fine-grained tasks among the available cores during runtime. Unlike existing libraries, EMB² supports task priorities and affinities, which allows the creation of soft real-time systems. Additionally, the scheduling strategy can be optimized for non-functional requirements such as minimal latency and fairness.

printf - Tiny, fast, non-dependent and fully loaded printf implementation for embedded systems

  •    C

This is a tiny but fully loaded printf, sprintf and (v)snprintf implementation. Primarily designed for usage in embedded systems, where printf is not available due to memory issues or in avoidance of linking against libc. Using the standard libc printf may pull a lot of unwanted library stuff and can bloat code size about 20k or is not 100% thread safe. In this cases the following implementation can be used. Absolutely NO dependencies are required, printf.c brings all necessary routines, even its own fast ftoa (float), ntoa (decimal) conversion. If memory footprint is really a critical issue, floating point and 'long long' support and can be turned off via the PRINTF_SUPPORT_FLOAT and PRINTF_SUPPORT_LONG_LONG compiler switches. When using printf (instead of sprintf/snprintf) you have to provide your own _putchar() low level function as console/serial output.

TinyCog - Small Robot, Toy Robot platform

  •    C++

A collection of speech, vision, and movement functionalities aimed at small or toy robots on embedded systems, such as the Raspberry Pi computer. High level reasoning, language understanding, language gneration and movement planning is provided by OpenCog. The current hardware platform requires an RPI3 computer, a Pi Camera V2 and a USB Microphone; other sensor/detector components are planned.

gnu-eprog - Embedded Programming with the GNU Toolchain

  •    XSLT

This is a short tutorial on using the GNU toolchain for bare metal programming. The tutorial uses Qemu to simulate an ARM board, and provides instructions to test programs within the simulated machine. The following topics will be covered. The tutorial is written in asciidoc. The asciidoc source is converted to DocBook and then rendered to HTML.

EasyGUI - Easy GUI for microcontrollers

  •    C

EasyGUI is lightweight, in general platform independent but highly optimized for STM32 Chrom-ART DMA2D peripherals for drawing operations.

ESP_AT_Lib - Communicate with ESP8266 from host MCU using AT parser library

  •    C

ESP-AT Library commands parser is a generic, platform independent, library for communicating with ESP8266 Wi-Fi module using AT commands. Module is written in C99 and is independent from used platform. Its main targets are embedded system devices like ARM Cortex-M, AVR, PIC and others, but can easily work under Windows, Linux or MAC environments.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.