136 Repositories
Rust embedded-tests 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
A simple, opinionated way to run containers for tests in your Rust project.
rustainers rustainers is a simple, opinionated way to run containers for tests. TLDR More information about this crate can be found in the crate docum
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
Superfast Solana Tests for Node.js
Bankrun Bankrun is a superfast, powerful and lightweight framework for testing Solana programs in NodeJS. While people often use solana-test-validator
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
Assure that your tests are there, and well written.
cargo-is-tested [ 🇪🇸 ] El libro contiene instrucciones e información detallada en Español. cargo-is-tested is a way to check which of your items are
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
A Rust doubly-linked intrusive list with Miri tests
Intrusive stack-allocated doubly-linked list example Quickstart cargo test Or to run the tests under Miri: rustup toolchain install nightly # if y
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
Parser and test runner for testing compatable common Ethereum full node tests against Polygon Zero's EVM.
EVM Test Parses and runs compatible common Ethereum tests from ethereum/tests against Polygon Zero's EVM. Note: This repo is currently very early in d
A CPU emulator for running unit tests on Game Boy code.
evunit This is a unit testing application for Game Boy roms. It includes a CPU emulator, and loads test configurations from TOML files. Configuring a
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
Tests + experiments that aim to answer questions of optimisation + what's possible w/ Rust.
rust-experiments Resources TheDevMethod: Rust YT tutorials Introduction to Rust - Part 15: Futures How to use Mutex and Atomically Reference Counted A
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 tool to calculate mean and standard deviation from multiple tests using PageSpeed Insights API.
psi-sample PSI Test tool is an open source tool to assist web developers that runs Page Speed Insight test manually! Installing To install the psi-tes
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 pretty, sensible logger for Rust - ideal for running examples and tests on a crate of choice
sensible-env-logger A pretty, sensible logger for Rust - ideal for running examples and tests on a crate of choice. This is a thin wrapper around pret
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
insta: a snapshot testing library for Rust
insta: a snapshot testing library for Rust Introduction Snapshots tests (also sometimes called approval tests) are tests that assert values against a
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
Nextest is a next-generation test runner for Rust.
nextest Nextest is a next-generation test runner for Rust. For more, check out the website. This repository contains the source code for: cargo-nextes
⚙️ 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
Port path module (and tests) of nodejs to rust using the same algorithms.
rusty_nodejs_path Port path module (and tests) of nodejs to rust using the same algorithms. crates.io Documents Progress posix path.basename(path[, ex
Black-box integration tests for your REST API using the Rust and its test framework
restest Black-box integration test for REST APIs in Rust. This crate provides the [assert_api] macro that allows to declaratively test, given a certai
[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:
Tests a wide variety of N64 features, from common to hardware quirks. Written in Rust. Executes quickly.
n64-systemtest Tests a wide variety of N64 features, from common to hardware quirks. Written in Rust. Executes quickly. n64-systemtest is a test rom t
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.
A bunch of commented Anchor programs and JavaScript tests, to help me learn Anchor.
learning-anchor A bunch of commented Anchor programs and JavaScript tests, to help me learn Anchor.
A template with cookie cutter CLI, Program and Integration tests for Solana blockchain
About solana-cli-program template is a sample app demonstrating the creation of a minimal CLI application written in Rust to interact with Solana and
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
Snapshot testing for a herd of CLI tests
trycmd Snapshot testing for a herd of CLI tests trycmd aims to simplify the process for running a large collection of end-to-end CLI test cases, takin
`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
Android Device Pool - A tool to run device tests against a pool of devices.
adp (Android Device Pool) What is this? A tool to run device tests against a pool of devices. It will 'checkout' a device to run your tests against an
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