166 Repositories
Rust embedded-hal-driver Libraries
Definitions from the Virtual I/O Device (VIRTIO) specification.
virtio-spec-rs This crate contains the Rust equivalents of the definitions from the Virtual I/O Device (VIRTIO) Specification. This crate aims to be u
The PC-based component of a two-part Linux driver for using a TI calculator as an external keyboard
Introduction i68apollo is the computer-based component of the two-part i68 (*I*nput from Motorola *68*000[fn:4]-based calculator) prototype userspace
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
rust-gpu CLI driver
rust-gpu-driver Experiment to make rust-gpu more accessible as a GPU shading language in various projects. DISCLAIMER: This is an unstable experiment
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
auto-epp-rs is a program that manages the energy performance preferences (EPP) of your AMD CPU using the AMD-Pstate driver.
auto-epp-rs is a program that manages the energy performance preferences (EPP) of your AMD CPU using the AMD-Pstate driver. It adjusts the EPP settings based on whether your system is running on AC power or battery power, helping optimize power consumption and performance. This project is a rewrite of the original Python version jothi-prasath/auto-epp in Rust, aiming to improve memory efficiency and overall performance.
Master Rust programming with this comprehensive roadmap
🚀 Master Rust programming with this comprehensive roadmap! Explore fundamental and advanced concepts, code examples, and resources.
HAL for the CH58x family of microcontrollers. BLE 5.3, RISC-V Qingke V4.
ch58x-hal HAL for the CH58x RISC-V BLE microcotrollers from WCH. This crate is under random and active development. DO NOT USE in production. This sho
🚀 JavaScript driver for ScyllaDB, harnessing Rust's power through napi-rs for top performance. Pre-release stage. 🧪🔧
🚀 JavaScript driver for ScyllaDB. Pre-release stage. 🧪🔧 ⚠️ Disclaimer ⚠️ This repository and the associated npm package are currently in a 🐣 pre-r
Platform that enables Windows driver development in Rust. Developed by Surface.
windows-drivers-rs This repo is a collection of Rust crates that enable developers to develop Windows Drivers in Rust. It is the intention to support
Rust port of the official Windows Driver Samples on Github. Leverages windows-drivers-rs
Rust Driver Samples This is a Rust port of the driver samples from the original Windows Driver Samples on Github. The repository provides examples and
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
A Windows virtual display driver written in Rust (works with VR, etc)
Virtual Display Driver This is a Windows driver made in Rust which creates a virtual desktop. It has many uses, such as: A private virtual desktop for
A filesystem driver that allows you to view your Blackboard course contents as if they were normal files and folders on your system!
BlackboardFS Blackboard: noun A website so bad that it might as well be a network drive. BlackboardFS is a filesystem driver that allows you to view y
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
The frequency-perfect synthesizer for a PC-speaker
🎵 BeeSynth Project The frequency-perfect synthesizer for a PC speaker ✔️ Features Written in Rust 🦀 Support playing MP3, WAV, FLAC, tracker music an
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
ESC/POS driver for Rust 🦀
recibo - ESC/POS driver for Rust This project provides an implementation for a subset of Epson's ESC/POS protocol used by compatible receipt printers.
Rust crate for interacting with the Windows Packet Filter driver.
NDISAPI-RS NDISAPI-RS is a Rust crate for interacting with the Windows Packet Filter driver. It provides an easy-to-use, safe, and efficient interface
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
ENC28J60 Linux network driver written in Rust.
enc28j60rs ENC28J60 Linux ethernet driver written in Rust. Tested with Raspberry Pi 4 Model B + Linux kernel 6.2.8 + Raspberry Pi OS AArch64. Kernel T
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 Rust driver for the Arm Generic Interrupt Controller version 3 or 4 (GICv3 and GICv4).
Arm Generic Interrupt Controller driver This crate provides a Rust driver for the Arm Generic Interrupt Controller version 3 or 4 (GICv3 and GICv4). C
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
Wojak quits his job at McDonalds and becomes a Takeaway driver.
DeliveryGuy 🚴 Summary This repo is a crypto cross-exchange arbitrage implementation in Rust. work for Binance | OKX | Bybit | GateIO | Kucoin How to
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
esp-serial-dbg - debugging of esp-hal based applications via serial
esp-serial-dbg - debugging of esp-hal based applications via serial About This is still work in progress! At least the contained examples should work
A Rust port of Pimoroni's uc8151 driver
uc8151-rs - a no-std Rust library for the UC8151(IL0373) e-ink display This is a Rust port of the Pimoroni UC8151 library. UC8151 is also sometimes re
An unofficial Logitech HID++2.0 driver based on the original logiops by PixlOne
ruhroh An unofficial Logitech HID++2.0 driver based on the original logiops by PixlOne Configuration Refer to the docs for details. The default locat
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
Easy to use rust driver for arangoDB
arangors arangors is an intuitive rust client for ArangoDB, inspired by pyArango. arangors enables you to connect with ArangoDB server, access to data
High-level async Cassandra client written in 100% Rust.
CDRS tokio CDRS is production-ready Apache Cassandra driver written in pure Rust. Focuses on providing high level of configurability to suit most use
Rusty Rootkit: Windows Kernel Driver in Rust for Red Teamers
Windows Kernel Driver in Rust (Rusty Rootkit) for Red Teamers Features (Development in progress) Protect / unprotect process (Done) Elevate to NT AUTH
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
A minimal esp-hal application template for use with cargo-generate
{{ project-name }} A minimalist template for use with cargo-generate to create no_std applications targeting Espressif's line of SoCs and modules. At
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
WIP, POC of node js driver for pulsar backed by rust
WIP not ready at all, POC for node js rurt based pulsar driver pulsar-node-rust-client This project was bootstrapped by create-neon. Installing pulsar
This is an Oracle database driver for Rust based on ODPI-C
Rust-oracle This is an Oracle database driver for Rust based on ODPI-C. Change Log See ChangeLog.md. Build-time Requirements C compiler. See Compile-t
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
State of the art "build your own engine" kit powered by gfx-hal
A rendering engine based on gfx-hal, which mimics the Vulkan API. Building This library requires standard build tools for the target platforms, except
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
This is superseded by the official MongoDB Rust Driver
This Repository is NOT a supported MongoDB product MongoDB Rust Driver Prototype NOTE: This driver is superseded by the official MongoDB Rust driver,
cogo rust coroutine database driver (Mysql,Postgres,Sqlite)
cdbc Coroutine Database driver Connectivity.based on cogo High concurrency,based on coroutine No Future'q,Output=*,No async fn, No .await , no Poll*
This is a maintained rust project that exposes the cpp driver at cpp-driver in a somewhat-sane crate.
cassandra-rs This is a maintained rust project that exposes the cpp driver at https://github.com/datastax/cpp-driver/ in a somewhat-sane crate. For th
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
e-paper/e-ink monitor linux driver
Ardoise: e-paper/e-ink monitor Goal: Create a e-paper/e-ink monitorfor linux. My personal use is a typewriter. Written in Rust Latency is 0,2s when th
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