135 Resources
C/C++ embedded Libraries
C++ embedded memory database
ShadowDB 一个C++嵌入式内存数据库 语法极简风 支持自定义索引、复合条件查询('','=','==','=','','!=',&&,||) 能够快速fork出一份数据副本 // ShadowDB简单示例 // ShadowDB是一个可以创建索引、能够快速fork出一份数据分支的C+
GCC/gcov code coverage data extraction from the actual embedded system, without requiring a file system, or an operating system, or standard C libraries.
GCC/gcov code coverage data extraction from the actual embedded system, without requiring a file system, or an operating system, or standard C libraries.
Embedded Systems Project -HAE912E-
Embedded Systems Project -HAE912E- BENALI Abderrahmane BELLILA Ahmed Nassim BOUZIT Zakaria exercice 1 - Configuration First of all, we need to configu
General purpose power controller, capable of driving soldering irons using different voltages and probe types.
All-purpose Power Micro Controller This general purpose power micro controller features: Wheatstone Bridge front-end New Texas Instruments INA823 inst
Lightweight date, time & cron utilities for embedded systems
Lightweight Date, Time & Cron Platform independent Date, Time & Cron Utility library Read first: Documentation Features Written in ANSI C99 Platform i
MFAT is a minimal I/O library for FAT (File Allocation Table) volumes.
MFAT MFAT is a minimal I/O library for FAT (File Allocation Table) volumes. The library has been designed for embedded systems, and its small code and
C++ open hierarchy RTTI framework for embedded projects
Open-hierarchy custom RTTI for C++17 and up with support for multiple inheritance and dynamic casting.
Embed read-only filesystems into any C++11 program w. a single header, zero dependencies and zero modifications to your code
c-embed Embed read-only filesystems into any C++11 program w. a single header, zero dependencies and zero modifications to your code. Usage c-embed al
The Little Kernel Embedded Operating System
The Little Kernel Embedded Operating System The LK kernel is an SMP-aware kernel designed for small systems ported to a variety of platforms and cpu a
The purpose of this project is to create a modern C++17 header-only interface to the FreeRTOS kernel API
FreeRTOS-Cpp The purpose of this project is to create a modern C++17 header-only interface to the FreeRTOS kernel API. Goals of this project include:
An Embedded NoSQL, Transactional Database Engine
UnQLite - Transactional Embedded Database Engine
Embedded JavaScript engine for C/C++
mJS: Restricted JavaScript engine Overview mJS is designed for microcontrollers with limited resources. Main design goals are: small footprint and sim
Real time eye tracking for embedded and mobile devices.
drishti Real time eye tracking for embedded and mobile devices in C++11. NEWS (2018/08/10) Native iOS, Android, and "desktop" variants of the real-tim
All the firmware for MSXV!
Midnight Sun XV Firmware This repository contains all firmware for the University of Waterloo's Midnight Sun Solar Rayce Car team's car #15. Known Iss
Examples, tutorials and applications for the LVGL embedded GUI library
Examples, tutorials and applications for the LVGL embedded GUI library
🚀 The fastest WebAssembly interpreter, and the most universal runtime
Wasm3 The fastest WebAssembly interpreter, and the most universal runtime. Based on CoreMark 1.0 and independent benchmarks. Your mileage may vary. Ge
Project Etnaviv is an open source user-space driver for the Vivante GCxxx series of embedded GPUs.
Introduction Project Etnaviv is an open source user-space driver for the Vivante GCxxx series of embedded GPUs. This repository contains reverse-engin
Companion repository to the "Modern Embedded Systems Programming" video course.
What is it? This repository is a companion to the "Modern Embedded Systems Programming" video course, which consists of focused, fast-paced, hands-on
🎮 Cross platform development kit for Z80 and SM83 based consoles.
cdk 🎮 Cross platform development kit for Z80 and SM83 based consoles. Platform We planned to support the following consoles: Nintendo Game Boy Ninten
SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications
SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++, and JavaScript.
libmdbx is an extremely fast, compact, powerful, embedded, transactional key-value database, with permissive license
One of the fastest embeddable key-value ACID database without WAL. libmdbx surpasses the legendary LMDB in terms of reliability, features and performance.
A very fast lightweight embedded database engine with a built-in query language.
upscaledb 2.2.1 Fr 10. Mär 21:33:03 CET 2017 (C) Christoph Rupp, [email protected]; http://www.upscaledb.com This is t
An example of Pyston embedded in a C++ program.
EmbeddedPyston About This repository holds an example of the Pyston interpreter embedded within a C++ program. This repository is available as a GitHu
CS140E: embedded operating systems
CS140E: embedded operating systems (Engler, Winter, 2022) This is a lab-based class with no explicit lectures. We will do two three-to-five hour labs
Generic embedded C driver to work with Sensirion's SEN5x environmental sensor modules via I2C
Sensirion Embedded I2C SEN5x Driver This is a generic embedded driver for the Sensirion SEN5x sensor modules. It enables developers to communicate wit
C++11 wrapper for the LMDB embedded B+ tree database library.
lmdb++: a C++11 wrapper for LMDB This is a comprehensive C++ wrapper for the LMDB embedded database library, offering both an error-checked procedural
Hyelicht is an IoT/embedded project for home decoration/automation.
Hyelicht is an IoT/embedded project for home decoration/automation. Its software allows you to do colorful painting and animations on a LED-b
EOgmaNeo is Ogma Corp's embedded and event based version of OgmaNeo
EOgmaNeo is Ogma Corp's embedded and event based version of OgmaNeo
Cranium - 🤖 A portable, header-only, artificial neural network library written in C99
Cranium is a portable, header-only, feedforward artificial neural network library written in vanilla C99. It supports fully-connected networks of arbi
Microshell - a lightweight pure C implementation of shell emulator dedicated for embedded bare-metal systems.
MicroShell Lightweight pure C implementation of virtual shell, compatible with VT100 terminal. Support root tree, run-time mounting paths, global comm
Tau - A Micro (1k lines of code) Unit Test Framework for C/C++
Tau τ A Micro Unit Testing Framework for C11/C++11 projects, with the promise of always being tiny - about 1k lines of code. This framework is a much
This is a project from my Embedded Systems Lab course. It's made using C and intended for the MSP430FG461 microcontroller.
This is a project from my Embedded Systems Lab course. It's made using C and intended for the MSP430FG461 microcontroller.
Minimal, modern embedded V8 for Python.
Welcome to knight_v8 👋 Minimal, modern embedded V8 for Python. 🏠 Homepage Install pip install knight_v8 or: git clone https://github.com/Esbiya/knig
A repo containing examples of embedded systems based on the STM32 micro-controller.
STM32 Embedded Development A repo containing examples of embedded systems based on the STM32 micro-controller. I use a Nucleo-F446RE and the STM32Cube
Embedded UI for the aREST framework
aREST_UI Version 1.1.1 Overview aREST UI is an embedded UI for the aREST framework. Currently works with the Arduino Mega & Arduino Due with the CC300
OCaml bytecode running on the nRF52840 board, using the standard OCaml runtime with RIOT OS.
ocaml-riot-nrf52 This project gets OCaml bytecode running on the nRF52840 board. It uses the standard OCaml runtime, and RIOT OS for the base layer be
DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU servers.
Project DeepSpeech DeepSpeech is an open-source Speech-To-Text engine, using a model trained by machine learning techniques based on Baidu's Deep Spee
Edf is an event-driven framework for embedded system (e.g. FreeRTOS) with state machine and subscriber-publisher pattern.
Edf means event-driven framework. Event-driven programming is a common pattern in embedded systems. However, if you develop software directly on top o
OCaml bytecode running on the nRF52840 board, using the OMicroB runtime with RIOT OS.
omicrob-riot-nrf52 This project gets OCaml bytecode running on the nRF52840 board. It uses OMicroB for the runtime and bytecode optimisation, and RIOT
An embedded CAN bus sniffer which is able to monitor any of the vehicle internal CAN bus and perform some action by triggering new CAN messages.
An embedded CAN bus sniffer which is able to monitor any of the vehicle internal CAN bus and perform some action by triggering new CAN messages. In this way certain vehicle functionality can be triggered by responding to custom steering wheel button events, or use the vehicle virtual cockpit to display OBD-PIDs values instead of relying on an external display to present new information to the user
very simple matrix library, int addition to a recreation of DCM attitude estimation in the form of matrix of C.
matrix very simple matrix library, int addition to a recreation of DCM attitude estimation in the form of matrix of C. the lib include matrix inversio
Yet another abstraction layer - a general purpose C++ library.
Yet Another Abstraction Layer What yaal is a cross platform, general purpose C++ library. This library provides unified, high level, C++ interfaces an
Run statically-compiled WebAssembly apps on any embedded platform
embedded-wasm-apps Run native, statically-compiled apps on any platform, using WebAssembly. Examples include AssemblyScript, Rust, C/C++, TinyGo, Zig,
The near bare metal multi-container supervisor and OS management system.
Pantavisor What is Pantavisor? Pantavisor is the easiest way to build and manage embedded Linux projects with lightweight containers. Put your Linux d
Generic single-file implementations of AVL tree in C and C++ suitable for deeply embedded systems
Cavl Generic single-file implementation of AVL tree suitable for deeply embedded systems. Simply copy cavl.h or cavl.hpp (depending on which language
A CANopen protocol for all systems such as embedded, PC, etc.
Easy CANopen Easy CANopen is a protocol for shaping the CAN-bus message in a specific way that suits industrail automation. CANopen is a very difficul
Run statically-compiled WebAssembly apps on any embedded platform
embedded-wasm-apps Run native, statically-compiled AssemblyScript, Rust, C/C++, TinyGo, Zig, etc. apps on any platform How it works The approach is si
A Proof-of-concept of embedding Qt widgets into QML.
QQuickWidgetContainer It helps you embed Qt widgets into QML. Limitations and Disclaimer This is a proof-concept of bridging QWidget-based window syst
Chromium Embedded Framework with OpenGL Core or SDL2
Chromium Embedded Framework's cefsimple Off-Screen Rendering I needed to use a modifed version of cefsimple using either SDL or OpenGL Core. I tried t
A work-in-progress C++20/23 header-only maths library for game development, embedded, kernel and general-purpose that works in constant context.
kMath /kmæθ/ A work-in-progress general-purpose C++20/23 header-only maths library that works in constant context Abstract The kMath Project aims to p
PikaScript is an ultra-lightweight Python engine with zero dependencies and zero-configuration, that can run with 4KB of RAM (such as STM32G030C8 and STM32F103C8), and is very easy to deploy and expand.
PikaScript 中文页| Star please~ 1. Abstract PikaScript is an ultra-lightweight Python engine with zero dependencies and zero-configuration, that can run
The foundation for many embedded graphical display implementations
Ubuntu Frame Description The foundation for many embedded graphical display implementations. ubuntu-frame is a simple fullscreen shell (based on Wayla
agent-less and lightweight communication library compatible with rclcpp for embedded devices
mros2 mros2 (formally mROS 2) realizes an agent-less and lightweight runtime environment compatible with ROS 2 for embedded devices. It consists of ba
Boilerplate to create a project with: STM32 + Ethernet + micro-ROS + FreeRTOS + Arduino + PlatformIO
micro_ros_stm32_template Boilerplate to create a project with: STM32 + Ethernet + micro-ROS + FreeRTOS + Arduino + PlatformIO Default config STM32F407
Final Assignment for Embedded Real Time Operating Systems at UCSD Extension.
Final Assignment for Embedded Real Time Operating Systems at UCSD Extension. This program is for a certificate in Embedded Software Engineering at UCSD. We used FreeRTOS running on a STM32L475G Microcontroller.
A small RTOS for ARM Cortex-M3/M4 based Microcontrollers.
A tiny RTOS for ARM Cortex-M3/M4 based Microcontrollers. Explore the docs » View Demo · Report Bug · Request Feature Table of Contents About The Proje
This is for interfacing rasberry-pi's (2 cards) with an arduino for sending raw data to form the close loop system to avoid motor heating by acting on a given temperature.
This is for interfacing rasberry-pi's (2 cards) with an arduino for sending raw data to form the close loop system to avoid motor heating by acting on a given temperature. Interface is explained through a master slave approach and client server approach. another camera is used with OPEN-CV platform to interface and collect data aswell.
C++11 wrapper for the LMDB embedded B+ tree database library.
lmdb++: a C++11 wrapper for LMDB This is a comprehensive C++ wrapper for the LMDB embedded database library, offering both an error-checked procedural
F Graphics Library (FGL) is a small graphics C++ portable library for LCD displays on embedded systems
F Graphics Library (FGL) Full documentation: fgl.docsforge.com (By Filipe Chagas) F Graphics Library is a C++ library that I created for use in embedd
File table expansion for The Legend of Zelda: Ocarina of Time.
z64ext z64.me SYNOPSIS z64ext is a file table expansion patch for The Legend of Zelda: Ocarina of Time. It is meant to be used in tandem
Set of examples how to use CLion with various unsupported compilers using Custom Defined Compiler feature
About This repository contains: Set of examples how to use CLion with various unsupported compilers using Custom Defined Compiler feature Public set o
qpSWIFT is a light-weight sparse quadratic programming solver
qpSWIFT Light-weight sparse Quadratic Programming Solver Introduction qpSWIFT is light-weight sparse Quadratic Programming solver targetted for embedd
this is all about the EE222 course project
Embedded_System course project (Folder) 嵌入式 contains all details about EE222 include some code in the project and some homework in this class. (Folder
WTD is a python tool for replacing values with the C preprocessor macro which defined them.
Where's That Define WTD is a python tool for replacing values with the C preprocessor macro which defined them. An example of this is when trying to u
Newlib for Xuantie RISC-V CPU, a lightweight C library for embedded systems.
README for GNU development tools This directory contains various GNU compilers, assemblers, linkers, debuggers, etc., plus their support routines, d
Source Code and Embedded Design of Our Factory Robot at AUTCup 2015 Competitions
AUTCup 2015 @Factory Robot This repository contains the source code and embedded design of our @Factory robot at AUTCup 2015 competitions. The robot w
Lab2: using a physical embedded systems to interact with virtual embedded systems.
Lab2: dotDevice EmSys Autumn 2021 In this lab you will use your TinyPico to interact with a virtual embedded system. Current Virtual Lab URL: [http://
A realtime/embedded-friendly C++11 variant type which is never empty and prevents undesirable implicit conversions
strict variant Do you use boost::variant or one of the many open-source C++11 implementations of a "tagged union" or variant type in your C++ projects
LVGL - Light and Versatile Graphics Library
Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).
Simple and lightweight pathname parser for C. This module helps to parse dirname, basename, filename and file extension .
Path Module For C File name and extension parsing functionality are removed because it's difficult to distinguish between a hidden dir (ex: .git) and
Linux HWMON sensors driver for ASUS motherboards to get sensor readings from the embedded controller
asus-wmi-ec-sensors Linux HWMON sensors driver for ASUS motherboards to read sensors from the embedded controller Many ASUS motherboards do not publis
FMT Autopilot Embedded Software
中文页 | Overview Firmament (FMT) is an advanced autopilot system which is developed for Model-Based Design (MBD), which can be used to quickly build con
WebSockets in C for Embedded Applications
WebSockets in C WIC is a C99 implementation of rfc6455 websockets designed for embedded applications. WIC decouples the websocket protocol from the tr
Embox is a configurable RTOS designed for resource constrained and embedded systems
Embox is a configurable RTOS designed for resource constrained and embedded systems. Embox main idea is using Linux software without Linux.
Toolkit for software engineers to Deploy AI Systems Yourself (DAISY). DaisyKit SDK is the core of models and algorithms, which can be used to develop wrappers and applications for different platforms: mobile, embedded or web browsers.
Daisykit SDK DaisyKit SDK is the core of models and algorithms, which can be used to develop wrappers and applications for different platforms: mobile
Embedded Flutter runtime targeting Embedded Linux with Wayland
ivi-homescreen IVI Homescreen for Wayland Strongly Typed (C++) Lightweight Clang 11 Release Stripped = 151k GCC 9.3 Release Stripped = 168k Source run
Serial Data Monitor is a multiplatform (Windows, Linux, Mac, ...) tool to interactively receive/edit/monitor data and send commands to an embedded system via the serial bus
See wiki for full documentation Serial Data Monitor Description Serial Data Monitor is a multiplatform (Windows, Linux, Mac, ...) tool to interactivel
C++ Parallel Computing and Asynchronous Networking Engine
As Sogou`s C++ server engine, Sogou C++ Workflow supports almost all back-end C++ online services of Sogou, including all search services, cloud input method,online advertisements, etc., handling more than 10 billion requests every day
A ROS robot supporting voice control, autonomous navigation and robot arm motion.
ROS Service Robot Project Due to the GitLab restrictions, only screenshot is displayed here. Warehouse Overview robot: The development source code is
✔️The smallest header-only GUI library(4 KLOC) for all platforms
Welcome to GUI-lite The smallest header-only GUI library (4 KLOC) for all platforms. 中文 Lightweight ✂️ Small: 4,000+ lines of C++ code, zero dependenc
SAE J1939 protocol free to use for embedded systems or PC with CAN-bus
Open SAE J1939 SAE J1939 is a protocol for shaping the CAN-bus message in a specific way that suits industrial vehicles such as tractors, machinery, t
Flutter plugins for embedded Linux (eLinux)
Flutter plugins for Embedded Linux (eLinux) This repo is a companion repo to the flutter-elinux. It contains the source code for Flutter plugins for e
An 'embedded-friendly' (aka Arduino) JPEG image encoding library
Starting in the late 80's I wrote my own imaging codecs for the existing standards (CCITT G3/G4 was the first). I soon added GIF, JPEG and not long after that, the PNG specification was ratified. All of this code was "clean room" - written just from the specification. I used my imaging library in many projects and products over the years and recently decided that some of my codecs could get a new lease on life as open source, embedded-friendly libraries for microcontrollers.
Zephyr Tutorial for Beginners
Zephyr: Tutorial for Beginners This repository contains a step-by-step guide that teaches you how to use Zephyr RTOS. It assumes: no previous experien
AREG IoT SDK (or AREG SDK) is a real-time asynchronous communication framework written in C++ for embedded development that enables thin servers run on connected Things and provide device specific services at the edge of IoT network.
AREG IoT SDK to simplify multitasking programming Bring your product to live service enabled Introduction AREG IoT SDK (or AREG SDK) is an Object Remo
Common utilities useful for embedded systems that are often not included in an RTOS or the standard C library.
Welcome to Fitterbap, the Firmware toolkit to enable reliable best architecture practices! Fitterbap provides common utilities useful for embedded systems that are often not included in an RTOS or the standard C library.
Tilck is an educational monolithic x86 kernel designed to be Linux-compatible at binary leve
A Tiny Linux-Compatible Kernel
CppSerdes is a serialization/deserialization library designed with embedded systems in mind
A C++ serialization/deserialization library designed with embedded systems in mind
LwSHELL is lightweight, platform independent, command line shell for embedded systems.
LwSHELL is lightweight, platform independent, command line shell for embedded systems. It targets communication with embedded systems from remote terminal to quickly send commands and the retrieve data from the device.
An embedded system for displaying current number of followers on bilibili. A reproduction of eInkBoard v1. 一个能显示哔哩哔哩账号实时粉丝数的嵌入式系统,eInkBoard v1 的复刻版。
eInkBoard v2 An embedded system for displaying current number of followers on bilibili. A reproduction of eInkBoard v1 (this page is in Chinese). 一个能显
Backtrace support for Rust `no_std` and embedded programs.
mini-backtrace This crate provides backtrace support for no_std and embedded programs. This is done through by compiling LLVM's libunwind with certain
An embedded-friendly library for decompressing files from zip archives
An 'embedded-friendly' (aka Arduino) library to extract and decompress files from ZIP archives
Let any device connect to HomeKit.
homekit-bridge Introduction A HomeKit gateway specially designed for embedded devices, it allows you to connect non-HomeKit devices to HomeKit through
A ring buffer designed to work with embedded devices, does not use heap allocations.
Embedded Ring Buffer This is a header only ring buffer that is designed to work on embedded devices, it is able to handle non-blocking ISR spooling
A place to collaborate on code for the Embedded.fm book club. Currently reading "STM32 ARM Programming for Embedded Systems".
Welcome to the Book Club Code site! This is a place for the Embedded.fm book club to collaborate and learn together. Repo Structure Guide Top-level fo
Elk is a tiny embeddable JavaScript engine that implements a small but usable subset of ES6
Elk is a tiny embeddable JavaScript engine that implements a small but usable subset of ES6. It is designed for microcontroller development. Instead of writing firmware code in C/C++, Elk allows to develop in JavaScript. Another use case is providing customers with a secure, protected scripting environment for product customisation.
Lightweight Embedded Audio Framework
LEAF (Lightweight Embedded Audio Framework) is a C library for audio synthesis and processing created by Jeff Snyder, Mike Mulshine, and Matt Wang at Princeton University's New Instrument Research Lab. It was originally called OOPS when we started writing it in 2017, so you may see references to it under that name as well.
📟 JSON library for Arduino and embedded C++. Simple and efficient.
ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). Features JSON deserialization Optionally decodes UTF-16 escape sequences t
DuckDB is an in-process SQL OLAP Database Management System
DuckDB is an in-process SQL OLAP Database Management System