114 Repositories
Rust embedded Libraries
Rust virtual machine.
EtherVM A lightweight, efficient virtual machine implementation in Rust, designed for educational purposes and as a foundation for more complex emulat
Open-source Rust Runtime for the VEX V5 Platform
vexide Work in progress high level bindings for the V5 Brain VEX SDK. Unlike other libraries for the V5 Brain, vexide doesn't use an RTOS. Instead, ve
An embedded, in-memory, immutable, copy-on-write, key-value database engine
An embedded, in-memory, immutable, copy-on-write, key-value database engine. Features In-memory database Multi-version concurrency control Rich transa
A very elaborate embedded Valentine's day gift
Morse Gadget An overly-complicated Valentine's day gift (worth it). PCB design and code have been entirely done by me. SPECS: Custom hand-held pcb des
Hello Embedded!
Hello Embedded! 👋 This repository contains a sketch of an embedded API described in Wit, and a simple example Wasm application that builds with it th
A reactive runtime for embedded systems.
Actuate Examples A reactive diagram for robotics and control systems. Actuate leverages Rust's type system to create an efficient diagram that connect
Embedded demo based on esp32-c3
wot-esp-demo Demo Hygro-Thermometer based on the esp-rust-board. http version based on std-training Deploy Rust prerequisites Install espflash, ldprox
An implementation of the SMP protocol as used in zephyr, mcuboot, mcumgr, and more.
SMP An implementation of the SMP protocol in pure Rust. This repository contains: ./mcumgr-smp: A SMP library implementation to be used in your own pr
Master Rust programming with this comprehensive roadmap
🚀 Master Rust programming with this comprehensive roadmap! Explore fundamental and advanced concepts, code examples, and resources.
A lightweight, embedded key-value database for mobile clients (i.e., iOS, Android), written in Rust.
A lightweight, embedded key-value database for mobile clients (i.e., iOS, Android), written in Rust. ⚠️ Still in testing, not yet ready for production
A rust-based mechanical keyboard firmware
rumcake A rust-based mechanical keyboard firmware that aims to be decentralized, featureful, and easy to configure. ⚠ rumcake is still a work in progr
12600+ icons pack for embedded graphics!
📦 embedded-icon 12600+ 🖼 icons for embedded-graphics. 🚀 Features 📦 Support to multiple icon packs - Easy to add support to! 🎨 Multiple resolution
Super-lightweight Immediate-mode Embedded GUI framework, based on the awesome embedded-graphics library. Written in Rust.
Kolibri - A GUI framework made to be as lightweight as its namesake What is Kolibri? Kolibri is an embedded Immediate Mode GUI mini-framework very str
A no_std GIF library for embedded applications(embedded-graphics)
tinygif A tiny gif decoder written in no_std Rust. This crate requires about 20kB of memory to decode a gif. basic decoding frame iterator interlace s
A tiny embedded database built in Rust.
TinyBase TinyBase is an in-memory database built with Rust, based on the sled embedded key-value store. It supports indexing and constraints, allowing
Drop-in embedded database
Struct DB 🔧 🔩 Provides a drop-in, fast, and embedded database solution, focusing on maintaining coherence between Rust types and stored data with mi
dedock is a container runtime, with a particular focus on enabling embedded software development across all platforms
dedock is a container runtime, with a particular focus on enabling embedded software development across all platforms. It supports native "containers" on both Linux and macOS.
Using embedded database modeled off SQLite - in Rust
Rust-SQLite (SQLRite) Rust-SQLite, aka SQLRite , is a simple embedded database modeled off SQLite, but developed with Rust. The goal is get a better u
Rust + Flutter Embedder
rustyflutter About: A Rust + Flutter Embedder Fast 🚀 Easy to use 😀 Installation: soon Contributions: rustyflutter is an open-source project and in
A no-std esp32 Wifi Lamp
Nostd-wifi-lamp A Wi-Fi controllable lamp written in Rust for the ESP32 using esp-hal. This was created for a blog post you can read here. Usage Sadly
μLA: Micro Logic Analyzer for RP2040
μLA: Micro Logic Analyzer SUMP/OLS compatible logic analyzer firmware for RP2040 based boards. Features 16 channels 100 MHz sampling rate, 1 sample pe
Simple Secure Static (HTTPS) File Server with embedded certificate
Secure Static File Server Static Files HTTPs server with self signed embedded certificate Installation Install using cargo: cargo install ssfs Or buil
A minimal, allocation-free Prometheus/OpenMetrics metrics implementation for `no-std` and embedded Rust.
tinymetrics a minimal, allocation-free Prometheus/OpenMetrics metrics implementation for no-std and embedded projects. why should you use it? you may
Port of the fantastic Iconoir Icon Pack to Rust embedded devices, with a focus on speed, usability, and completeness.
embedded-iconoir - Icons for every device, ever. What is embedded-iconor? embedded-iconoir is a library that allows you to use Iconoir on embedded dev
Ryan: a configuration language for the practical programmer
Ryan: a configuration language for the practical programmer Say hello to Ryan! Ryan is a minimal programming language that produces JSON (and therefor
Embedded-hal simulator.
hal-sim - embedded-hal Simulator (WIP - UNFINISHED) This crate simulates a small portion of the embedded-hal traits. Namely: GPIO ADC Additionally, it
An embedded-hal driver for the TT21100 multi-touch touchscreen controller
tt21100 An embedded-hal driver for the TT21100 multi-touch touchscreen controller. If there is a feature which has not yet been implemented and which
Low-level CPU and register abstractions for the N64 console
Description This crate is a low-level abstraction (aka a Peripheral Access Crate) over the CPU and memory-mapped registers available on the Nintendo 6
A general-purpose, transactional, relational database that uses Datalog and focuses on graph data and algorithms
cozo A general-purpose, transactional, relational database that uses Datalog for query and focuses on graph data and algorithms. Features Relational d
A plugin system for the Rhai embedded scripting language.
Rhai Dylib This crate exposes a simple API to load dylib Rust crates in a Rhai engine using Rhai modules. 🚧 This is a work in progress, the API is su
OpenEMC: open embedded management controller
OpenEMC OpenEMC is an open-source firmware implementing an embedded management controller (EMC) on an STM32F1 microcontroller. It consists of a bootlo
Key-value store for embedded systems, for raw NOR flash, using an LSM-Tree.
ekv Key-value store for embedded systems, for raw NOR flash, using an LSM-Tree. Features None yet TODO Everything Minimum supported Rust version (MSRV
Simple image transforms for embedded-graphics
Embedded graphics transformations This crate provides generic implementations of simple transformations - rotate by 90 degree increments, mirroring an
A text renderer for Rust's embedded-graphics crate, based on U8g2
u8g2-fonts This crate is a pure Rust reimplementation of the font subsystem of U8g2. It is intended for the embedded-graphics ecosystem. Licensing Whi
Ector is an open source async, no-alloc actor framework for embedded devices
Ector is an open source async, no-alloc actor framework for embedded devices. Ector is an open source async, no-alloc actor framework for embedded dev
A canvas on which you can draw anything with ease before drawing the pixels on your small hardware display.
embedded-canvas canvas - a piece of cloth backed or framed as a surface for a painting NOTE: This crate is still in development and may have breaki
Embedded Rust on Espressif training material.
Embedded Rust Trainings for Espressif This repository contains Training Material for learning to use Embedded Rust with the Espressif ESP32-C3. We sug
An embeddable dynamic programming language for Rust.
rune Visit the site 🌐 - Read the book 📖 An embeddable dynamic programming language for Rust. Contributing If you want to help out, there should be a
Convert an MCU register description from the EDC format to the SVD format
edc2svd Convert an MCU register description from the EDC format to the SVD format EDC files are used to describe the special function registers of PIC
A Rust command line tool to simplify embedded development and deployment.
Bobbin-CLI bobbin-cli is a tool designed to make it easy to build, deploy, test and debug embedded devices using a unified CLI. bobbin-cli understands
TI LDC1312/LDC1314/LDC1612/LDC1614 inductance-to-digital converter driver for Rust embedded-hal
ldc1x1x Rust embedded-hal 1.x driver for Texas Instruments (TI) I²C inductance-to-digital converters (LDC): LDC1312/LDC1314, LDC1612/LDC1614. Includes
chain nats.io servers with transformation & processing pipelines
NATS proxy service Simple tool to forward specific topics from one nats.io cluster to the same server or another. Provides support to process messages
Lightweight graphs (sparklines) for use with Embedded Rust
Sparklines for Rust's Embedded-graphics Sparklines are small, high resolution graphics embedded in a context of words, numbers or images". Edward Tuft
Garden monitoring system using m328p Arduino Uno boards. 100% Rust [no_std] using the avr hardware abstraction layer (avr-hal)
uno-revive-rs References Arduino Garden Controller Roadmap uno-revive-rs: roadmap Components & Controllers 1-2 Uno R3 m328p Soil moisture sensor: m328
Garden monitoring system using m328p and m2560 Arduino Uno boards
Garden monitoring system using m328p and m2560 Arduino Uno boards. 100% Rust [no_std] using the avr hardware abstraction layer (avr-hal)
A Real Time Operating System in Rust for Cortex M3 embedded systems
A Real Time Operating System in Rust for Cortex M3 embedded systems
diff successive buffers with embedded ansi codes in rust, outputting a minimal change
ansi-diff diff successive buffers with embedded ansi codes in rust, outputting a minimal change You can use this crate to build command-line interface
Generic framebuffer implementation in Rust for use with embedded-graphics library
Fraramebuffer implementation for Rust's Embedded-graphics Framebuffer approach helps to deal with display flickering when you update multiple parts of
A simple embedded key-value store written in rust as a learning project
A simple embedded key-value store written in rust as a learning project
RisingLight is an OLAP database system for educational purpose.
RisingLight RisingLight is an OLAP database system for educational purpose. It is still in rapid development, and should not be used in production. Qu
⚙️ Crate to discover embedded programming with uno r3 project
⚙️ Crate to discover embedded programming with uno r3 project
Rust embedded-HAL driver for the AHT20 temperature and humidity sensor.
AHT20-driver Rust embedded-HAL driver for the AHT20 temperature and humidity sensor. You can read my blog post AHT20 thermometer driver which details
Rust crate for embedding, manipulating and retrieving data embedded in binaries using linker sections
linkstore is a library that allows you to define global variables in your final compiled binary that can be modified post-compilation.
Rust scaffold system with Lua embedded applets.
brickpack-2022 Demo Powered by Github Actions CI/CD (Heroku) https://demo-1642622230.herokuapp.com/#/users Frontent Runner Rendered sample code (Lua 5
Adds a uf2 header Microsofts HID Flashing Format (UF2) for copying over to UF2 bootloader mass storage devices
uf2conv Adds a uf2 header Microsofts HID Flashing Format (UF2) for copying over to UF2 bootloader mass storage devices. UF2 is factory programmed exte
probe-run is a custom Cargo runner that transparently runs Rust firmware on an embedded device
probe-run Runs embedded programs just like native ones probe-run is a custom Cargo runner that transparently runs Rust firmware on an embedded device.
defmt is a highly efficient logging framework that targets resource-constrained devices, like microcontrollers
defmt defmt ("de format", short for "deferred formatting") is a highly efficient logging framework that targets resource-constrained devices, like mic
Adds zero-cost stack overflow protection to your embedded programs
flip-link adds zero-cost stack overflow protection to your embedded programs The problem Bare metal Rust programs may not be memory safe in presence o
Quickly set up a `probe-run` + `defmt` + `flip-link` embedded project
app-template Quickly set up a probe-run + defmt + flip-link embedded project Dependencies 1. flip-link: $ cargo install flip-link 2. probe-run: $ # ma
a test harness for embedded devices
defmt-test a test harness for embedded devices This crate has been moved to the defmt repository Support defmt-test is part of the Knurling project, F
A compatibility layer to smooth the transition between different versions of embedded-hal
Embedded HAL Compatibility Layer A compatibility layer to smooth the transition between different versions of embedded-hal (specifically 0.2.x and 1.0
This project is based on code from freertos.rs and some additions to simplify the usage of FreeRTOS in embedded applications written in Rust
FreeRTOS-rust This project is based on code from freertos.rs and some additions to simplify the usage of FreeRTOS in embedded applications written in
Bevy plugin for an AssetServer that can load embedded resources, or use other AssetServers based on the path.
Bevy-Embasset Embed your asset folder inside your binary. bevy-embasset adds support for loading assets embedded into the binary. Furthermore, it can
Embedded Distributed Encrypted Database (Research).
EDED Embedded Distributed Encrypted Database. Research projects to support ESSE. WIP Distributed design features Adapt to personal distributed usecase
Embedded Rust arithmetic, 2D/3D vector, and statistics library
Embedded-friendly (i.e. no_std) Rust math library featuring fast, safe floating point approximations for common arithmetic operations, trigonometry, 2D/3D vector types, statistical analysis, and quaternions.
Sled - the champagne of beta embedded databases
key value buy a coffee for us to convert into databases documentation chat about databases with us sled - it's all downhill from here!!! An embedded d
Moca-hcho - Bluetooth 5 BLE formaldehyde/temperature/humidity sensor beacon
moca-hcho: Bluetooth 5 BLE formaldehyde/temperature/humidity sensor beacon moca-hcho is a simple Bluetooth Low Energy sensor beacon that uses a Sensir
Freebsd-embedded-hal - Like linux-embedded-hal but FreeBSD
freebsd-embedded-hal Implementation of embedded-hal traits for FreeBSD devices: gpio: using libgpio, with stateful and toggleable support, with suppor
A library for extracting #[no_mangle] pub extern "C" functions (https://docs.rust-embedded.org/book/interoperability/rust-with-c.html#no_mangle)
A library for extracting #[no_mangle] pub extern "C" functions In order to expose a function with C binary interface for interoperability with other p
Simple DHCP client for the Wiznet W5500 internet offload chip.
w5500-dhcp Simple DHCP client for the Wiznet W5500 SPI internet offload chip. Warning Please proceed with caution, and review the code before use in a
An asynchronous Hardware Abstraction Layer (HAL) for embedded systems
embedded-hal-async An asynchronous Hardware Abstraction Layer (HAL) for embedded systems. This crate contains asynchronous versions of the embedded-ha
An embedded key-value storage for learning purpose, which is based on the idea of SSTable / LSM-tree.
Nouzdb An embedded key-value storage for learning purpose, which is based on the idea of SSTable / LSM-tree. Plan Implement a memtable. Implement the
Register access crate for AVR microcontrollers
avr-device Auto-generated wrappers around registers for AVR microcontrollers. Usage Add the following to Cargo.toml: [dependencies.avr-device] version
Low level access to ATmega32U4 registers in Rust
Deprecation Note: This crate will soon be deprecated in favor of avr-device. The approach of generating the svd from hand-written register definitions
Hardware Abstraction Layer for ATmega32U4
Deprecation Note: This crate will soon be deprecated in favor of avr-hal. avr-hal is a new approach to writing the HAL crate, that was designed with s
OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.
OpenSK This repository contains a Rust implementation of a FIDO2 authenticator. We developed OpenSK as a Tock OS application. We intend to bring a ful
[Proof of Concept] Embedded functional scripting language with YAML ¯\_(ツ)_/¯
[YAML, fun] Just an experimental project implementing embedded functional scripting language based on YAML syntax. API docs for the standard library:
C API to SpringQL (for embedded mode)
SpringQL C Client This repository is a C client for SpringQL and provides it provides: springql.h: C header file. libspringql_client.{so,dylib}: Share
Hubris is a microcontroller operating environment designed for deeply-embedded systems
A lightweight, memory-protected, message-passing kernel for deeply embedded systems.
cargo extension for flashing embedded rust programs via dfu based on jacobrosenthals cargo-hf2
cargo-dfu This crate provides a cargo subcommand to flash ELF binaries via dfu Most STM chips will probably work with this, although you might need to
`fugit` provides a comprehensive library of `Duration` and `Instant` for the handling of time in embedded systems, doing all it can at compile time.
fugit fugit provides a comprehensive library of Duration and Instant for the handling of time in embedded systems, doing all it can at compile time. T
Rust driver for the Blues.io Notecard
Rust driver for notecard This is a rust driver for the blues.io notecard based on embedded-hal. use notecard::Note; let mut note = Note::new(i2c); no
Scalable and encrypted embedded database with 3-tier caching
Infinitree is a versioned, embedded database that uses uniform, encrypted blobs to store data.
Source code for our paper "Higher-order finite elements for embedded simulation"
Higher-order Finite Elements for Embedded Simulation This repository contains the source code used to produce the results for our paper: Longva, A., L
Crate of GitHub’s collection of gitignores, embedded, automatically updated
Gitignores GitHub’s collection of gitignores, embedded, automatically updated. API documentation. Public Domain via CC0-1.0 (same as source data). MSR
Embedded graph database
CQLite An embedded graph database implemented in Rust. This is currently a pre-release. It has not been extensively tested with 'real-world work-loads
Embedded graph database
CQLite An embedded graph database implemented in Rust. This is currently a pre-release. It has not been extensively tested with 'real-world work-loads
Learn to write an embedded OS in Rust
Operating System development tutorials in Rust on the Raspberry Pi
DSP algorithms for embedded. Often integer math.
This crate contains some tuned DSP algorithms for general and especially embedded use.
RedisLess is a fast, lightweight, embedded and scalable in-memory Key/Value store library compatible with the Redis API.
RedisLess is a fast, lightweight, embedded and scalable in-memory Key/Value store library compatible with the Redis API.
OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.
OpenSK This repository contains a Rust implementation of a FIDO2 authenticator. We developed this as a Tock OS application and it has been successfull
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++ or JavaScript.
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++ or JavaScript.
A Simple debugger for embedded rust.
This is a debugger for embedded rust code. It is in an early state so it doesn't work for a lot of different microcontrollers.
VSCode debug extension for probe-rs. It uses the MS DAP protocol to communicate directly with the probe (via probe-rs), and supports basic command line debugging in addition to VSCode UI.
VSCode debug extension for probe-rs. It uses the MS DAP protocol to communicate directly with the probe (via probe-rs), and supports basic command line debugging in addition to VSCode UI.
QEMU platform SBI support implementation, using RustSBI
QEMU support using RustSBI Compile and run with: cargo qemu When running cargo qemu, the test kernel will build and run. Expected output should be: xt
A single-threaded polling-based Rust async executor suitable for use in games, embedded systems or WASM.
simple async local executor An Enlightware® software. Overview A single-threaded polling-based executor suitable for use in games, embedded systems or
A library that makes it VERY easy to run Holochain as a library, from your own binary, with great defaults
embedded-holochain-runner A library that makes it VERY easy to run Holochain as a library, from your own binary, with great defaults How it will work
Cassette A simple, single-future, non-blocking executor intended for building state machines.
Cassette A simple, single-future, non-blocking executor intended for building state machines. Designed to be no-std and embedded friendly. This execut
Compile-time creation of neural networks
Mushin: Compile-time creation of neural networks Mushin is a Japanese term used in martial arts that refers to the state of mind obtained by practice.
Rhai - An embedded scripting language for Rust.
Rhai is an embedded scripting language and evaluation engine for Rust that gives a safe and easy way to add scripting to any application.