29 open-source projects similar to libopencm3/libopencm3, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Libopencm3 alternative.
acados provides fast and embedded solvers for nonlinear optimal control, specifically designed for real-time applications and embedded systems. It is written in C and offers interfaces to the programming languages Python, MATLAB and Octave.
A collection of Yocto layers used to build balenaOS images
Contiki is an operating system designed for resource-constrained embedded devices and the Internet of Things. It provides a lightweight, event-driven kernel that enables multitasking and low-power wireless network connectivity on hardware with extremely limited memory and processing power. The system distinguishes itself through a stackless threading model that allows for a blocking-style programming interface while maintaining a minimal memory footprint. It supports dynamic module and firmware management, enabling the loading and linking of relocatable binary code at runtime to update applic
Jetson Containers is a container management system that builds and runs GPU-accelerated Docker images for machine learning workloads on ARM64 edge hardware. It functions as a CUDA container orchestrator, automatically detecting the host's CUDA toolkit version and GPU capabilities to ensure container compatibility at runtime, while selecting the correct container image by matching the host's JetPack or L4T version at launch time. The project delivers pre-configured containers for executing quantized large language models and retrieval-augmented generation pipelines optimized for edge devices,
FreeRTOS is a real-time operating system for embedded devices that provides a kernel for predictable task execution. It utilizes priority-based preemptive scheduling and deterministic timing to manage simultaneous hardware tasks. The project includes a symmetric multiprocessing kernel that distributes processing workloads across multiple CPU cores using a shared memory architecture. It also provides a thread-safe TCP/IP networking stack for managing internet protocol traffic and IPv6 connectivity on embedded processors. The system incorporates an embedded memory manager with fixed-size alloc
FreeRTOS-Kernel is a real-time operating system kernel for microcontrollers. It provides a multitasking environment through a priority-based task scheduler, an embedded memory manager, and an inter-process communication framework to ensure time-critical tasks meet their deadlines. The kernel includes a software timer engine for executing functions at predefined intervals or after set delays. It supports a minimal model of concurrent tasks and lightweight co-routine execution for systems with limited memory resources. The project covers a broad surface of embedded resource management, includi
libusb is a cross-platform user-space library that provides a consistent C API for discovering, configuring, and communicating with USB devices from applications. It abstracts operating-system-specific USB driver details behind a single interface that works on Linux, macOS, Windows, and other platforms, enabling developers to write portable USB code without platform-specific knowledge. The library supports both synchronous and asynchronous I/O models for USB transfers. Synchronous operations block the calling thread until a transfer completes, offering a straightforward sequential programming
NVIDIA container runtime
Package manager and build abstraction tool for FPGA/ASIC development
The official bitbake Git is at https://git.openembedded.org/bitbake/. Do not open issues or file pull requests here.
TinyWebServer is a lightweight HTTP web server written in C++ for Linux. It is designed to handle HTTP requests and serve static content using low-level Linux system calls for network connection management. The server utilizes a state machine to parse GET and POST data from network sockets. It incorporates a MySQL database connection pool to manage reusable links and reduce the overhead of opening and closing sessions. The project covers static media streaming for images and video files, user authentication workflows for registration and login, and system activity logging via both synchronou
This project is a reference library of firmware examples and a development framework for creating embedded C applications on the RP2040 microcontroller. It provides a collection of hardware peripheral drivers and foundational patterns for managing system resources in resource-constrained environments. The library features reference implementations for programmable I/O state machines, allowing for the creation of custom hardware-level protocols. It also provides a multicore embedded framework to distribute computational workloads across multiple processor cores using symmetric processing. The
Software for ROS Embedded board (a.k.a. OpenCR). OpenCR means Open-source Control Module for ROS.
A ROS client library for small, embedded devices, such as Arduino. See: http://wiki.ros.org/rosserial
Linux-based partitioning hypervisor
This repo allows for usage of the NVIDIA JetPack SDK within a docker container for download, flashing, and install. Specifically the use is shown for the Jetson TX2
Build system to automate the build of VxWorks 7 and ROS2
Xilinx's fork of Quick EMUlator (QEMU) with improved support and modelling for the Xilinx platforms.
Zephyr is a real-time operating system and cross-platform embedded framework designed for resource-constrained hardware architectures. It provides an embedded kernel that manages memory, power consumption, and hardware peripherals across multiple microcontroller architectures. The project utilizes a hardware abstraction layer to decouple high-level kernel services from physical hardware through standardized driver interfaces. It employs a device tree hardware description format and a hierarchical configuration system to optimize binaries and feature sets for specific hardware constraints. Th