Skip to content

A ranked list of awesome Rust crates and projects suitable for the embedded Linux/Unix domain.

License

Notifications You must be signed in to change notification settings

fkromer/best-of-rust-on-embedded-linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

best-of-rust-on-embedded-linux

🏆  A ranked list of awesome projects. Updated weekly.

This curated list contains 62 awesome open-source projects with a total of 76K stars grouped into 26 categories. All projects are ranked by a project-quality score, which is calculated based on various metrics automatically collected from GitHub and different package managers. If you like to add or update projects, feel free to open an issue, submit a pull request, or directly edit the projects.yaml. Contributions are very welcome!

🧙‍♂️ Discover other best-of lists or create your own.

Contents

Explanation

  • 🥇🥈🥉  Combined project-quality score
  • ⭐️  Star count from GitHub
  • 🐣  New project (less than 6 months old)
  • 💤  Inactive project (6 months no activity)
  • 💀  Dead project (12 months no activity)
  • 📈📉  Project is trending up or down
  • ➕  Project was recently added
  • ❗️  Warning (e.g. missing/risky license)
  • 👨‍💻  Contributors count from GitHub
  • 🔀  Fork count from GitHub
  • 📋  Issue count from GitHub
  • ⏱️  Last update timestamp on package manager
  • 📥  Download count from package manager
  • 📦  Number of dependent projects

OTA Integration

Back to top

Show 1 hidden projects...
  • memfault-linux-sdk (🥇7 · ⭐ 36) - Memfault SDK for embedded Linux systems... ❗Unlicensed

User Interfaces

Back to top

Show 1 hidden projects...
  • slint (🥇34 · ⭐ 19K) - Slint is an open-source declarative GUI toolkit to build native user.. ❗Unlicensed

Home Automation Protocols

Back to top

rs-matter (🥇18 · ⭐ 390) - Rust implementation of the Matter protocol. Status: Experimental. Apache-2
  • GitHub (👨‍💻 27 · 🔀 47 · 📦 7 · 📋 65 - 35% open · ⏱️ 16.06.2025):

     git clone https://github.com/project-chip/rs-matter
    
Show 2 hidden projects...
  • knxkit (🥉5 · ⭐ 4 · 🐣) - EPL-2.0
  • knx-rust (🥉3 · ⭐ 3 · 💀) - Library implementing the KNXNet/Ip protocol. ❗Unlicensed

Smart Grid Protocols

Back to top

Show 7 hidden projects...
  • rust-ocpp (🥇17 · ⭐ 89) - Libraries for ocpp 1.6, 2.0.1 and 2.1. Apache-2
  • openleadr-rs (🥈12 · ⭐ 41) - OpenADR 3.0 VTN and VEN implementation in Rust. ❗Unlicensed
  • sunspec_rs (🥈8) - MIT
  • sunspec (🥉6 · ⭐ 8) - Rust crate for accessing SunSpec compliant devices in a safe and.. Apache-2
  • tokio-sunspec (🥉6 · ⭐ 5 · 💀) - A tokio-based SunSpec library. Apache-2
  • eebus-rust (🥉4 · ⭐ 3 · 💀) - Very basic EEBUS protocol implementation in Rust. MIT
  • libmburs (🥉3 · ⭐ 1) - For when you want to talk to an m-bus device but dont want to use C. ❗️EUPL-1.2

Industrial Control System Protocols

Back to top

opcua (🥇18 · ⭐ 550 · 💤) - A client and server implementation of the OPC UA specification.. MPL-2.0
  • GitHub (👨‍💻 31 · 🔀 140 · 📦 53 · 📋 240 - 46% open · ⏱️ 08.10.2024):

     git clone https://github.com/locka99/opcua
    

Network Monitoring Protocols

Back to top


Robotics

Back to top

ros2_rust (🥇19 · ⭐ 1.1K) - Rust bindings for ROS 2. Apache-2
  • GitHub (👨‍💻 48 · 🔀 160 · 📋 180 - 31% open · ⏱️ 08.06.2025):

     git clone https://github.com/ros2-rust/ros2_rust
    
rosrust (🥇19 · ⭐ 760) - Pure Rust implementation of a ROS client library. MIT
  • GitHub (👨‍💻 19 · 🔀 77 · 📦 230 · 📋 120 - 40% open · ⏱️ 03.02.2025):

     git clone https://github.com/adnanademovic/rosrust
    
Show 1 hidden projects...
  • r2r (🥉15 · ⭐ 370) - Minimal ROS 2 Rust bindings. ❗Unlicensed

Graphics

Back to top

rust-skia (🥇23 · ⭐ 1.6K) - Rust Bindings for the Skia Graphics Library. MIT
  • GitHub (👨‍💻 61 · 🔀 150 · 📥 330 · 📦 9 · 📋 360 - 14% open · ⏱️ 06.06.2025):

     git clone https://github.com/rust-skia/rust-skia
    

AI Engines

Back to top

ort (🥇26 · ⭐ 1.4K) - Fast ML inference & training for ONNX models in Rust. Apache-2
  • GitHub (👨‍💻 44 · 🔀 140 · 📦 3.2K · 📋 270 - 0% open · ⏱️ 18.06.2025):

     git clone https://github.com/pykeio/ort
    
Show 1 hidden projects...
  • onnxruntime (🥉15 · ⭐ 300 · 💀) - Rust wrapper for Microsofts ONNX Runtime (version 1.8). Apache-2

Network Management

Back to top

Show 1 hidden projects...

Inter Service Communication

Back to top

tonic (🥇33 · ⭐ 11K) - A native gRPC client & server implementation with async/await support. MIT
  • GitHub (👨‍💻 280 · 🔀 1.1K · 📦 45K · 📋 920 - 32% open · ⏱️ 19.06.2025):

     git clone https://github.com/hyperium/tonic
    

Inter Process Communication

Back to top

Show 6 hidden projects...
  • zbus (🥇25 · ⭐ 510) - Rust D-Bus crate. ❗Unlicensed
  • dbus-rs (🥈15 · ⭐ 620) - D-Bus binding for the Rust language. ❗Unlicensed
  • rustbus (🥈15 · ⭐ 59 · 💤) - Dbus transport in pure rust. MIT
  • dbus-pure (🥉6 · ⭐ 13) - Pure Rust implementation of a D-Bus client. Apache-2
  • dbus-bytestream (🥉6 · ⭐ 6 · 💀) - Native D-Bus implementation for Rust. ❗️LGPL-2.1
  • async-rustbus (🥉2 · ⭐ 2 · 💀) - An asynchronous implementation of the DBus protocol.. ❗Unlicensed

Finite State Machines

Back to top

statig (🥇16 · ⭐ 680) - Hierarchical state machines for designing event-driven systems. MIT
  • GitHub (👨‍💻 13 · 🔀 29 · 📦 38 · 📋 36 - 16% open · ⏱️ 09.06.2025):

     git clone https://github.com/mdeloof/statig
    
rust-fsm (🥈15 · ⭐ 210 · 💤) - Finite state machine framework for Rust with readable specifications. MIT
  • GitHub (👨‍💻 6 · 🔀 22 · 📦 160 · 📋 6 - 16% open · ⏱️ 13.06.2024):

     git clone https://github.com/eugene-babichenko/rust-fsm
    
Show 2 hidden projects...
  • finny (🥉8 · ⭐ 73 · 💀) - Finite State Machines for Rust. ❗Unlicensed
  • rust-extfsm (🥉8 · ⭐ 49 · 💀) - Extended Finite State Machine library in Rust with internal.. Apache-2

Hardware Abstraction Layer (HAL)

Back to top

linux-embedded-hal (🥇21 · ⭐ 260) - Implementation of the `embedded-hal` traits for Linux.. Apache-2
  • GitHub (👨‍💻 29 · 🔀 46 · 📦 1.5K · 📋 42 - 50% open · ⏱️ 07.02.2025):

     git clone https://github.com/rust-embedded/linux-embedded-hal
    
embedded-hal-mock (🥉17 · ⭐ 130) - Mocks for testing embedded-hal based drivers without.. Apache-2
  • GitHub (👨‍💻 24 · 🔀 25 · 📦 980 · 📋 32 - 31% open · ⏱️ 26.04.2025):

     git clone https://github.com/dbrgn/embedded-hal-mock
    

Chip Drivers

Back to top

Show 1 hidden projects...
  • ftdi-embedded-hal (🥇15 · ⭐ 40) - Implementation of Rust Embedded HAL traits for FTDI devices. MIT

Trusted Platform Module

Back to top

Show 1 hidden projects...
  • tss2-fapi-rs (🥇6 · ⭐ 9) - Rust wrapper for the TSS 2.0 FAPI. ❗Unlicensed

Character Device Drivers

Back to top

rust-i2cdev (🥇20 · ⭐ 220) - Rust library for interfacing with i2c devices under Linux. Apache-2
  • GitHub (👨‍💻 29 · 🔀 54 · 📦 1K · 📋 32 - 18% open · ⏱️ 04.03.2025):

     git clone https://github.com/rust-embedded/rust-i2cdev
    
rust-spidev (🥉17 · ⭐ 130) - Rust library providing access to spidev devices under Linux. Apache-2
  • GitHub (👨‍💻 16 · 🔀 32 · 📦 820 · 📋 11 - 9% open · ⏱️ 04.03.2025):

     git clone https://github.com/rust-embedded/rust-spidev
    
Show 1 hidden projects...
  • gpio-cdev (🥉17 · ⭐ 220 · 💀) - Rust interface to the Linux GPIO Character Device API.. Apache-2

Industrial I/O subsystem

Back to top

Show 1 hidden projects...

Platform Management

Back to top

Show 1 hidden projects...
  • mctp-rs (🥇10 · ⭐ 8) - Rust crates for MCTP protocol support, on Linux and embedded. Apache-2

Continous Integration

Back to top

actions-rust-cross (🥇18 · ⭐ 170) - GitHub Action to compile Rust with cross. Apache-2
  • GitHub (👨‍💻 7 · 🔀 20 · 📦 1.1K · 📋 36 - 13% open · ⏱️ 12.04.2025):

     git clone https://github.com/houseabsolute/actions-rust-cross
    

Yocto Layers

Back to top

meta-rust (🥇15 · ⭐ 220) - OpenEmbedded/Yocto layer for Rust and Cargo. MIT
  • GitHub (👨‍💻 64 · 🔀 130 · 📋 160 - 38% open · ⏱️ 24.05.2025):

     git clone https://github.com/meta-rust/meta-rust
    
Show 3 hidden projects...
  • meta-rust-bin (🥈12 · ⭐ 120) - Yocto layer for installing Rust toolchain from pre-built.. ❗Unlicensed
  • meta-slint (🥉9 · ⭐ 16 · 📉) - A Yocto layer with recipes for building Slint. MIT
  • meta-rugix (🥉5 · 🐣) - Yocto layers for Rugix. Apache-2

Yocto

Back to top

kas (🥇21 · ⭐ 460) - Setup tool for bitbake based projects. MIT
  • GitHub (👨‍💻 79 · 🔀 180 · 📦 93 · 📋 120 - 21% open · ⏱️ 16.06.2025):

     git clone https://github.com/siemens/kas
    

Cross Compilation

Back to top

cross (🥇30 · ⭐ 7.4K) - Zero setup cross compilation and cross testing of Rust crates. Apache-2
  • GitHub (👨‍💻 140 · 🔀 400 · 📥 2.3M · 📦 350 · 📋 810 - 24% open · ⏱️ 24.05.2025):

     git clone https://github.com/cross-rs/cross
    
cargo-zigbuild (🥉25 · ⭐ 2K) - Compile Cargo project with zig as linker. MIT
  • GitHub (👨‍💻 31 · 🔀 70 · 📥 210K · 📦 140 · 📋 150 - 21% open · ⏱️ 30.05.2025):

     git clone https://github.com/rust-cross/cargo-zigbuild
    

Time Synchronization

Back to top

Show 3 hidden projects...
  • ntpd-rs (🥇22 · ⭐ 890 · 📈) - A full-featured implementation of the Network Time Protocol,.. ❗Unlicensed
  • statime (🥉18 · ⭐ 240) - Implementation of the Precision Time Protocol (PTP) in Rust. ❗Unlicensed
  • pps-time (🥉2 · ⭐ 2 · 🐣) - A Rust interface for PPS devices. ❗Unlicensed

Testing

Back to top

insta (🥇30 · ⭐ 2.5K) - A snapshot testing library for rust. Apache-2
  • GitHub (👨‍💻 60 · 🔀 120 · 📥 200K · 📦 13K · 📋 310 - 17% open · ⏱️ 18.06.2025):

     git clone https://github.com/mitsuhiko/insta
    
proptest (🥉27 · ⭐ 1.9K) - Hypothesis-like property testing for Rust. Apache-2
  • GitHub (👨‍💻 81 · 🔀 180 · 📦 43K · 📋 290 - 44% open · ⏱️ 14.06.2025):

     git clone https://github.com/proptest-rs/proptest
    
Show 1 hidden projects...
  • mockalloc (🥉2 · ⭐ 13 · 💀) - Rust library for testing code relying on the global allocator. ❗Unlicensed

Tools

Back to top

miri (🥈25 · ⭐ 5.2K) - An interpreter for Rusts mid-level intermediate representation. Apache-2
  • GitHub (👨‍💻 320 · 🔀 380 · 📋 1.1K - 13% open · ⏱️ 19.06.2025):

     git clone https://github.com/rust-lang/miri
    
divan (🥈19 · ⭐ 1.2K) - Fast and simple benchmarking for Rust projects. Apache-2
  • GitHub (👨‍💻 9 · 🔀 33 · 📦 1.1K · 📋 49 - 73% open · ⏱️ 14.04.2025):

     git clone https://github.com/nvzqz/divan
    
cargo-call-stack (🥉12 · ⭐ 630 · 💤) - Whole program static stack analysis. Apache-2
  • GitHub (👨‍💻 11 · 🔀 51 · 📦 1 · 📋 60 - 61% open · ⏱️ 28.10.2024):

     git clone https://github.com/japaric/cargo-call-stack
    
Show 3 hidden projects...
  • clippy (🥇28 · ⭐ 12K) - A bunch of lints to catch common mistakes and improve your Rust.. ❗Unlicensed
  • rugix (🥉16 · ⭐ 83) - A suite of open-source tools to build and deploy reliable embedded Linux.. Apache-2
  • duvet (🥉10 · ⭐ 76) - A requirements traceability tool. Apache-2

Others

Back to top

Show 2 hidden projects...
  • snmp2 (🥇8 · ⭐ 35 · 🐣) - Dependency-free basic SNMP v1/v2/v3 client in Rust. Apache-2
  • snmp_mp (🥉5 · ⭐ 27 · 💤) - A pure-Rust library for SNMPv3. Apache-2

Books

  • Comprehensive Rust: This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust.
  • The Rust Fuzzing Book: Guides and tutorials on how to fuzz Rust code.

Related Resources

  • Best-of lists: Discover other best-of lists with awesome open-source projects on all kinds of topics.
  • Rust for Linux: Adding support for the Rust language to the Linux kernel.
  • Awesome Embedded Rust: List of resources related to rather low-end/MCU target embedded software (like ARM Cortex-M) in the Rust programming language.

Contribution

Contributions are encouraged and always welcome! If you like to add or update projects, choose one of the following ways:

  • Open an issue by selecting one of the provided categories from the issue page and fill in the requested information.
  • Modify the projects.yaml with your additions or changes, and submit a pull request. This can also be done directly via the Github UI.

If you like to contribute to or share suggestions regarding the project metadata collection or markdown generation, please refer to the best-of-generator repository. If you like to create your own best-of list, we recommend to follow this guide.

For more information on how to add or update projects, please read the contribution guidelines. By participating in this project, you agree to abide by its Code of Conduct.

License

CC0

About

A ranked list of awesome Rust crates and projects suitable for the embedded Linux/Unix domain.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •