151 Repositories
Rust embedded-devices Libraries
Govee2MQTT: Connect Govee lights and devices to Home Assistant
Govee to MQTT bridge for Home Assistant This repo provides a govee executable whose primary purpose is to act as a bridge between Govee devices and Ho
Devices can use this SDK to connect to the Spotflow IoT Platform. Supported languages: Rust, Python, C.
Device SDK for Spotflow IoT Platform Languages | Features | Architecture | Building and Testing | License Devices can use this SDK to connect to the S
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
π TUI for managing bluetooth devices
TUI for managing bluetooth devices π‘ Prerequisites A Linux based OS with bluez installed. π Installation π₯ Binary release You can download the pre-
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
πΎ Run WebAssembly (WASM-4) games on small devices (like PyBadge)
πΎ gamgee Run WebAssembly (WASM-4) games on small devices. Gamgee is a WASM-4 games emulator written in Rust and designed to be executed on devices wi
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
Cross-platform file sharig application for desktop and mobile devices
Skylite Description Getting Started Dependencies Installing Executing program License Acknowledgments Description Cross platform file sharing applicat
A new pure-Rust library for cross-platform low-level access to USB devices.
nusb A new pure-Rust library for cross-platform low-level access to USB devices. Documentation Compared to rusb and libusb Pure Rust, no dependency on
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
Tool and framework for securely reading untrusted USB mass storage devices.
usbsas is a free and open source (GPLv3) tool and framework for securely reading untrusted USB mass storage devices. Description Following the concept
Narrowlink securely connects devices and services together, even when both nodes are behind separate NAT
Narrowlink Narrowlink is a self-hosted platform that allows you to establish secure remote connections between devices within a network that may be hi
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
Revolutionize handheld gaming with adaptive game settings. Optimize graphics and gameplay experience based on real-time system metrics. Open-source project empowering developers to enhance games on portable devices
Welcome to the server-side application for the HarmonyLink project. This innovative software is developed with the Rust programming language and is ai
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
Share files between devices using your Wi-Fi network.
swift_file Rust implementation of transferring files between devices over Wi-Fi network using a QR code. Tool is inspired by claudiodangelis/qrcp. How
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 command-line tool for extensible LED matrix control with Raspberry Pi devices.
Matricks "Teach an old matrix new tricks..." Matricks is a WASM-based extensible LED matrix control tool intended for use on Raspberry Pi devices. LED
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
This code features a viper-client, which can connect to a viper-server, a custom interface made for Comelit devices.
Viper Client π· (WIP) This is code for my intercom; specifically for the Comelit Mini Wi-Fi MSFV. This features a ViperClient which can talk to the Co
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
A cross-platform library for retrieving information about connected devices.
Devices devices is a cross-platform library for retrieving information about connected devices. Combined with a library like sysinfo, a more or less c
Bitcoin PSBT signer, descriptor exporter and more for offline devices.
KeeChain Description KeeChain is a Bitcoin application to transform your offline computer in an AirGap Signing Device (aka Hardware Wallet). Getting s
Captures packets and streams them to other devices. Built for home network analysis and A&D CTFs.
π© shiny-donut shiny-donut is a packet capture app that supports streaming packets from a remote system to another device. The main use for this is to
Hot-plug devices into a Docker container as they are plugged.
container-hotplug Hot-plug (and unplug) devices into a Docker container as they are (un)plugged. Description Docker provides the --device flag to give
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
Simple utility to backup/sync data between devices to the cloud
RSink Simple utility to backup/sync data between devices to the cloud Features π Blazingly Fast β½ Lightweight π Cross-platform, runs everywhere π S
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
Rust Library for controlling divoom devices that support REST APIs, such as pixoo-64.
Divoom Rust Library for controlling divoom devices that support REST APIs, such as pixoo-64 (and from how divoom's api/doc organizes, maybe more in th
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
Left To My Own Devices - NT hash tools
ntcrack Left To My Own Devices - NT cracker A full writeup of how it works is available at the SensePost blog Invocation ./ntcrack input hashlist w
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
Easily sync your clipboard between devices. This is a work in progress app.
Clipboard Sync Description Easily sync your clipboard between devices. This is a work in progress app. Stack Frontend: React Tauri isomorphic-ws TSX,
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
Software for managing Stream Deck devices with folders and actions
Streamduck Software for managing Stream Deck devices with folders and actions Project that will perhaps be better than streamdeck-ui Currently still i
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
Many modbus devices support only one or very few clients
Modbus TCP proxy Many modbus devices support only one or very few clients. This proxy acts as a bridge between the client and the modbus device. It ca
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
Easy WiFi setup for Linux devices from your mobile phone or laptop
Easy WiFi setup for Linux devices from your mobile phone or laptop WiFi Connect is a utility for dynamically setting the WiFi configuration on a Linux
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: