An open API service indexing awesome lists of open source software.

https://github.com/fkromer/best-of-rust-on-embedded-linux

A ranked list of awesome Rust crates and projects suitable for the embedded Linux/Unix domain.
https://github.com/fkromer/best-of-rust-on-embedded-linux

embedded-linux rust

Last synced: 12 months ago
JSON representation

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

Awesome Lists containing this project

README

          


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 79K 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](https://github.com/fkromer/best-of-rust-on-embedded-linux/issues/new/choose), submit a [pull request](https://github.com/fkromer/best-of-rust-on-embedded-linux/pulls), or directly edit the [projects.yaml](https://github.com/fkromer/best-of-rust-on-embedded-linux/edit/main/projects.yaml). Contributions are very welcome!

> 🧙‍♂️ Discover other [best-of lists](https://best-of.org) or [create your own](https://github.com/best-of-lists/best-of/blob/main/create-best-of-list.md).

## Contents

- [OTA Integration](#ota-integration) _1 projects_
- [User Interfaces](#user-interfaces) _1 projects_
- [Home Automation Protocols](#home-automation-protocols) _3 projects_
- [Smart Grid Protocols](#smart-grid-protocols) _7 projects_
- [Industrial Control System Protocols](#industrial-control-system-protocols) _1 projects_
- [Network Monitoring Protocols](#network-monitoring-protocols) _0 projects_
- [Robotics](#robotics) _3 projects_
- [Graphics](#graphics) _1 projects_
- [AI Engines](#ai-engines) _2 projects_
- [Network Management](#network-management) _1 projects_
- [Inter Service Communication](#inter-service-communication) _1 projects_
- [Inter Process Communication](#inter-process-communication) _6 projects_
- [Finite State Machines](#finite-state-machines) _4 projects_
- [Hardware Abstraction Layer (HAL)](#hardware-abstraction-layer-hal) _2 projects_
- [Chip Drivers](#chip-drivers) _1 projects_
- [Trusted Platform Module](#trusted-platform-module) _1 projects_
- [Character Device Drivers](#character-device-drivers) _3 projects_
- [Industrial I/O subsystem](#industrial-io-subsystem) _1 projects_
- [Platform Management](#platform-management) _1 projects_
- [Continous Integration](#continous-integration) _1 projects_
- [Yocto Layers](#yocto-layers) _4 projects_
- [Yocto](#yocto) _1 projects_
- [Cross Compilation](#cross-compilation) _2 projects_
- [Time Synchronization](#time-synchronization) _3 projects_
- [Testing](#testing) _3 projects_
- [Tools](#tools) _6 projects_
- [Others](#others) _2 projects_

## 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 (🥇6 · ⭐ 40) - Memfault SDK for embedded Linux systems... ❗Unlicensed


## User Interfaces

Back to top

Show 1 hidden projects...

- slint (🥇34 · ⭐ 20K) - Slint is an open-source declarative GUI toolkit to build native user.. ❗Unlicensed


## Home Automation Protocols

Back to top

rs-matter (🥇17 · ⭐ 430) - Rust implementation of the Matter protocol. Status: Experimental. Apache-2

- [GitHub](https://github.com/project-chip/rs-matter) (👨‍💻 28 · 🔀 51 · 📦 7 · 📋 88 - 38% open · ⏱️ 24.09.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 (🥇16 · ⭐ 92) - Libraries for ocpp 1.6, 2.0.1 and 2.1. Apache-2
- openleadr-rs (🥈13 · ⭐ 56) - OpenADR 3.0 VTN and VEN implementation in Rust. ❗Unlicensed
- 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
- sunspec_rs (🥉5 · ⭐ 2) - MIT
- 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 (🥇17 · ⭐ 560 · 💤) - A client and server implementation of the OPC UA specification.. MPL-2.0

- [GitHub](https://github.com/locka99/opcua) (👨‍💻 31 · 🔀 150 · 📦 54 · 📋 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 (🥇21 · ⭐ 1.2K) - Rust bindings for ROS 2. Apache-2

- [GitHub](https://github.com/ros2-rust/ros2_rust) (👨‍💻 49 · 🔀 170 · 📋 190 - 29% open · ⏱️ 02.09.2025):

```
git clone https://github.com/ros2-rust/ros2_rust
```

rosrust (🥉19 · ⭐ 770 · 💤) - Pure Rust implementation of a ROS client library. MIT

- [GitHub](https://github.com/adnanademovic/rosrust) (👨‍💻 19 · 🔀 77 · 📦 240 · 📋 120 - 40% open · ⏱️ 03.02.2025):

```
git clone https://github.com/adnanademovic/rosrust
```

Show 1 hidden projects...

- r2r (🥉14 · ⭐ 380) - Minimal ROS 2 Rust bindings. ❗Unlicensed


## Graphics

Back to top

rust-skia (🥇23 · ⭐ 1.6K) - Rust Bindings for the Skia Graphics Library. MIT

- [GitHub](https://github.com/rust-skia/rust-skia) (👨‍💻 65 · 🔀 160 · 📥 300 · 📦 9 · 📋 380 - 14% open · ⏱️ 25.09.2025):

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


## AI Engines

Back to top

ort (🥇27 · ⭐ 1.6K) - Fast ML inference & training for ONNX models in Rust. Apache-2

- [GitHub](https://github.com/pykeio/ort) (👨‍💻 56 · 🔀 160 · 📦 3.3K · 📋 300 - 1% open · ⏱️ 02.10.2025):

```
git clone https://github.com/pykeio/ort
```

Show 1 hidden projects...

- onnxruntime (🥉15 · ⭐ 310 · 💀) - Rust wrapper for Microsofts ONNX Runtime (version 1.8). Apache-2


## Network Management

Back to top

Show 1 hidden projects...

- connman-rs (🥇4 · ⭐ 5 · 💀) - ConnMan D-Bus bindings in Rust. Apache-2


## Inter Service Communication

Back to top

tonic (🥇34 · ⭐ 11K) - A native gRPC client & server implementation with async/await support. MIT

- [GitHub](https://github.com/hyperium/tonic) (👨‍💻 290 · 🔀 1.1K · 📦 47K · 📋 920 - 31% open · ⏱️ 20.09.2025):

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


## Inter Process Communication

Back to top

Show 6 hidden projects...

- zbus (🥇25 · ⭐ 560) - Rust D-Bus crate. ❗Unlicensed
- dbus-rs (🥈15 · ⭐ 640) - D-Bus binding for the Rust language. ❗Unlicensed
- rustbus (🥈15 · ⭐ 60 · 💀) - Dbus transport in pure rust. MIT
- dbus-bytestream (🥉6 · ⭐ 6 · 💀) - Native D-Bus implementation for Rust. ❗️LGPL-2.1
- dbus-pure (🥉5 · ⭐ 13 · 📈) - Pure Rust implementation of a D-Bus client. Apache-2
- async-rustbus (🥉2 · ⭐ 2 · 💀) - An asynchronous implementation of the DBus protocol.. ❗Unlicensed


## Finite State Machines

Back to top

rust-fsm (🥇16 · ⭐ 230 · 📉) - Finite state machine framework for Rust with readable specifications. MIT

- [GitHub](https://github.com/eugene-babichenko/rust-fsm) (👨‍💻 7 · 🔀 25 · 📦 160 · 📋 6 - 16% open · ⏱️ 21.07.2025):

```
git clone https://github.com/eugene-babichenko/rust-fsm
```

statig (🥈15 · ⭐ 720) - Hierarchical state machines for designing event-driven systems. MIT

- [GitHub](https://github.com/mdeloof/statig) (👨‍💻 14 · 🔀 33 · 📦 44 · 📋 39 - 10% open · ⏱️ 05.07.2025):

```
git clone https://github.com/mdeloof/statig
```

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 · ⭐ 280 · 💤) - Implementation of the `embedded-hal` traits for Linux.. Apache-2

- [GitHub](https://github.com/rust-embedded/linux-embedded-hal) (👨‍💻 29 · 🔀 48 · 📦 1.5K · 📋 43 - 51% open · ⏱️ 07.02.2025):

```
git clone https://github.com/rust-embedded/linux-embedded-hal
```

embedded-hal-mock (🥉17 · ⭐ 140) - Mocks for testing embedded-hal based drivers without.. Apache-2

- [GitHub](https://github.com/dbrgn/embedded-hal-mock) (👨‍💻 24 · 🔀 25 · 📦 1.1K · 📋 32 - 31% open · ⏱️ 26.08.2025):

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


## Chip Drivers

Back to top

Show 1 hidden projects...

- ftdi-embedded-hal (🥇16 · ⭐ 40) - Implementation of Rust Embedded HAL traits for FTDI devices. MIT


## Trusted Platform Module

Back to top

Show 1 hidden projects...

- tss2-fapi-rs (🥇3 · ⭐ 10) - 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](https://github.com/rust-embedded/rust-i2cdev) (👨‍💻 30 · 🔀 55 · 📦 1.1K · 📋 32 - 18% open · ⏱️ 30.07.2025):

```
git clone https://github.com/rust-embedded/rust-i2cdev
```

gpio-cdev (🥉17 · ⭐ 230 · 📉) - Rust interface to the Linux GPIO Character Device API.. Apache-2

- [GitHub](https://github.com/rust-embedded/gpio-cdev) (👨‍💻 18 · 🔀 39 · 📦 510 · 📋 36 - 27% open · ⏱️ 03.07.2025):

```
git clone https://github.com/rust-embedded/gpio-cdev
```

rust-spidev (🥉16 · ⭐ 140 · 💤) - Rust library providing access to spidev devices under Linux. Apache-2

- [GitHub](https://github.com/rust-embedded/rust-spidev) (👨‍💻 16 · 🔀 32 · 📦 820 · 📋 11 - 9% open · ⏱️ 04.03.2025):

```
git clone https://github.com/rust-embedded/rust-spidev
```


## Industrial I/O subsystem

Back to top

Show 1 hidden projects...

- rust-industrial-io (🥇15 · ⭐ 52) - Rust interface to the Linux Industrial I/O subsystem. MIT


## Platform Management

Back to top

Show 1 hidden projects...

- mctp-rs (🥇11 · ⭐ 12) - Rust crates for MCTP protocol support, on Linux and embedded. Apache-2


## Continous Integration

Back to top

actions-rust-cross (🥇17 · ⭐ 190 · 📉) - GitHub Action to compile Rust with cross. Apache-2

- [GitHub](https://github.com/houseabsolute/actions-rust-cross) (👨‍💻 7 · 🔀 21 · 📦 1.2K · 📋 37 - 13% open · ⏱️ 20.07.2025):

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


## Yocto Layers

Back to top

meta-rust (🥇15 · ⭐ 230) - OpenEmbedded/Yocto layer for Rust and Cargo. MIT

- [GitHub](https://github.com/meta-rust/meta-rust) (👨‍💻 66 · 🔀 130 · 📋 170 - 37% open · ⏱️ 30.09.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 (🥉10 · ⭐ 16) - A Yocto layer with recipes for building Slint. MIT
- meta-rugix (🥉4 · ⭐ 3 · 🐣) - Yocto layers for Rugix. Apache-2


## Yocto

Back to top

kas (🥇21 · ⭐ 490) - Setup tool for bitbake based projects. MIT

- [GitHub](https://github.com/siemens/kas) (👨‍💻 81 · 🔀 180 · 📦 97 · 📋 120 - 18% open · ⏱️ 19.09.2025):

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


## Cross Compilation

Back to top

cross (🥇29 · ⭐ 7.7K) - Zero setup cross compilation and cross testing of Rust crates. Apache-2

- [GitHub](https://github.com/cross-rs/cross) (👨‍💻 140 · 🔀 420 · 📥 2.6M · 📦 360 · 📋 820 - 24% open · ⏱️ 26.09.2025):

```
git clone https://github.com/cross-rs/cross
```

cargo-zigbuild (🥉24 · ⭐ 2.1K) - Compile Cargo project with zig as linker. MIT

- [GitHub](https://github.com/rust-cross/cargo-zigbuild) (👨‍💻 34 · 🔀 74 · 📥 270K · 📦 140 · 📋 160 - 22% open · ⏱️ 02.09.2025):

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


## Time Synchronization

Back to top

Show 3 hidden projects...

- ntpd-rs (🥇22 · ⭐ 940 · 📈) - A full-featured implementation of the Network Time Protocol,.. ❗Unlicensed
- statime (🥉16 · ⭐ 260) - 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 (🥇29 · ⭐ 2.6K · 📉) - A snapshot testing library for rust. Apache-2

- [GitHub](https://github.com/mitsuhiko/insta) (👨‍💻 62 · 🔀 130 · 📥 300K · 📦 14K · 📋 320 - 18% open · ⏱️ 10.09.2025):

```
git clone https://github.com/mitsuhiko/insta
```

proptest (🥉27 · ⭐ 1.9K) - Hypothesis-like property testing for Rust. Apache-2

- [GitHub](https://github.com/proptest-rs/proptest) (👨‍💻 84 · 🔀 200 · 📦 45K · 📋 300 - 45% open · ⏱️ 30.09.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.5K) - An interpreter for Rusts mid-level intermediate representation. Apache-2

- [GitHub](https://github.com/rust-lang/miri) (👨‍💻 330 · 🔀 390 · 📋 1.1K - 14% open · ⏱️ 02.10.2025):

```
git clone https://github.com/rust-lang/miri
```

divan (🥈17 · ⭐ 1.2K) - Fast and simple benchmarking for Rust projects. Apache-2

- [GitHub](https://github.com/nvzqz/divan) (👨‍💻 9 · 🔀 35 · 📦 1.3K · 📋 52 - 75% open · ⏱️ 14.04.2025):

```
git clone https://github.com/nvzqz/divan
```

rugix (🥉16 · ⭐ 100) - A suite of open-source tools to build and deploy reliable embedded Linux.. Apache-2

- [GitHub](https://github.com/silitics/rugix) (👨‍💻 6 · 🔀 12 · 📥 400 · 📋 67 - 17% open · ⏱️ 02.10.2025):

```
git clone https://github.com/silitics/rugix
```

cargo-call-stack (🥉12 · ⭐ 640 · 💤) - Whole program static stack analysis. Apache-2

- [GitHub](https://github.com/japaric/cargo-call-stack) (👨‍💻 11 · 🔀 51 · 📦 1 · 📋 60 - 61% open · ⏱️ 28.10.2024):

```
git clone https://github.com/japaric/cargo-call-stack
```

Show 2 hidden projects...

- clippy (🥇28 · ⭐ 12K) - A bunch of lints to catch common mistakes and improve your Rust.. ❗Unlicensed
- duvet (🥉10 · ⭐ 88) - A requirements traceability tool. Apache-2


## Others

Back to top

Show 2 hidden projects...

- snmp2 (🥇9 · ⭐ 40) - Dependency-free basic SNMP v1/v2/v3 client in Rust. Apache-2
- snmp_mp (🥉5 · ⭐ 30 · 💀) - A pure-Rust library for SNMPv3. Apache-2

---

## Books

- [**Comprehensive Rust**](https://github.com/google/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**](https://github.com/rust-fuzz/afl.rs): Guides and tutorials on how to fuzz Rust code.

## Related Resources

- [**Best-of lists**](https://best-of.org): Discover other best-of lists with awesome open-source projects on all kinds of topics.
- [**Rust for Linux**](https://github.com/Rust-for-Linux): Adding support for the Rust language to the Linux kernel.
- [**Awesome Embedded Rust**](https://github.com/rust-embedded/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](https://github.com/fkromer/best-of-embedded-rust/issues/new/choose) and fill in the requested information.
- Modify the [projects.yaml](https://github.com/fkromer/best-of-embedded-rust/blob/main/projects.yaml) with your additions or changes, and submit a pull request. This can also be done directly via the [Github UI](https://github.com/fkromer/best-of-embedded-rust/edit/main/projects.yaml).

If you like to contribute to or share suggestions regarding the project metadata collection or markdown generation, please refer to the [best-of-generator](https://github.com/best-of-lists/best-of-generator) repository. If you like to create your own best-of list, we recommend to follow [this guide](https://github.com/best-of-lists/best-of/blob/main/create-best-of-list.md).

For more information on how to add or update projects, please read the [contribution guidelines](https://github.com/fkromer/best-of-embedded-rust/blob/main/CONTRIBUTING.md). By participating in this project, you agree to abide by its [Code of Conduct](https://github.com/fkromer/best-of-embedded-rust/blob/main/.github/CODE_OF_CONDUCT.md).

## License

[![CC0](https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-sa.svg)](https://creativecommons.org/licenses/by-sa/4.0/)