embassy VS crates.io

Compare embassy vs crates.io and see what are their differences.

embassy

Modern embedded framework, using Rust and async. (by embassy-rs)
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers
Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.
www.nutrient.io
featured
embassy crates.io
82 669
6,194 3,094
6.0% 1.7%
9.9 10.0
5 days ago about 7 hours ago
Rust Rust
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

embassy

Posts with mentions or reviews of embassy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-01-27.
  • Rust async framework for embedded systems
    1 project | news.ycombinator.com | 7 Feb 2025
  • Pebble smartwatch firmware released as open-source
    8 projects | news.ycombinator.com | 27 Jan 2025
    TL;DR: No. Maybe? Depends.

    It's probably reasonable to make a distinction between "Real Time" desktop/server OS (on CPUs) vs "Real Time" embedded hardware OS (on MCUs).

    (Even aside from any hard-/soft- real time distinction.)

    On the embedded side, in addition to FreeRTOS (upon which Pebble OS is built), I'm aware of others with reasonably high profile such as:

    * Zephyr (Linux Foundation, C): https://en.wikipedia.org/wiki/Zephyr_(operating_system)

    * NuttX (Apache Software Foundation, C & C++): https://en.wikipedia.org/wiki/NuttX

    In addition, there's also some "up & coming" Rust language projects which fall somewhere along the "framework" to "OS" spectrum (in part, via https://arewertosyet.com):

    * Tock: https://github.com/tock/tock

    * Embassy: https://github.com/embassy-rs/embassy

    * Hubris: https://hubris.oxide.computer

    On the desktop side, I seem to recall in the past, OS such as BeOS & QNX have been presented as a possible future for real time desktop OS that hasn't arrived.

    As someone else already mentioned, PREEMPT_RT being merged for Linux is a recent development somewhat in this space which could have impact on both desktop & "embedded" situations but suitability varies dependent on, say, whether you're wanting to use it for audio production versus controlling some 10 tonne robot operating next to humans.

    Hope this at least goes some way to answering your question. :)

  • Embassy: Replacing RTOS with a Rust async scheduler
    1 project | news.ycombinator.com | 19 Dec 2024
  • Apple is Killing Swift – A great language strangled by governance
    3 projects | news.ycombinator.com | 28 Oct 2024
    The other comment implied it but I think it's worth pointing out that:

    > embedded applications that can't have asynchronous execution

    Is most definitely not the case.

    They can't have the same type of async runtime that would be optimal for a web server or the likes (and I'm not sure all desktop applications and web servers are going to always benefit from the same runtime in the same way), but that's a point in favour of Rust's model imho

    If you're interested this is an embedded async runtime that's expected to run in no-std and no-alloc environments

    https://embassy.dev/

  • Impl Snake For Micro:bit - Embedded async Rust on BBC Micro:bit with Embassy
    6 projects | dev.to | 28 Oct 2024
    In this article, I will guide you through creating a Snake game in embedded Rust on the BBC Micro:bit using the asynchronous framework Embassy.
  • A review after using Rust on embedded in production for over a year
    7 projects | news.ycombinator.com | 14 Oct 2024
    Rust solved this by autogenning code from mfgr published device xml descriptors. Eg https://embassy.dev/

    Better than any C(++) embedded hal I've used

  • Building a GATT Server on Pi Pico W
    1 project | news.ycombinator.com | 16 Aug 2024
  • Embassy-rs/embassy: Modern embedded framework, using Rust and async
    1 project | news.ycombinator.com | 5 Jul 2024
  • Embedded Swift [video]
    3 projects | news.ycombinator.com | 15 Jun 2024
  • I like the RP2040
    24 projects | news.ycombinator.com | 11 Jun 2024
    If I get your question right, you still need some host software (like a rust compiler)! It's not exactly micropython experience.

    The bare minimum would be one of the examples [1] compiled with a Rust compiler and then transformed into a .uf2 file with elf2uf2 [2]. You can then just drag and drop the .uf2 file into the "mass storage device" presented by the bootloader. To get the bootloader to mount, you press a button on a Raspberry Pico (or short two outputs if you're using bare RP2040) while plugging it in.

    You'll probably want a debug probe [3] driven by probe-rs [4] at some point, it's just much more convenient to flash and debug with it.

    [1]: https://github.com/embassy-rs/embassy/tree/main/examples/rp/...

    [2]: https://github.com/JoNil/elf2uf2-rs

    [3]: https://www.raspberrypi.com/documentation/microcontrollers/d...

    [4]: https://probe.rs/

crates.io

Posts with mentions or reviews of crates.io. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-12-31.
  • Comente o porquê, não o quê
    1 project | dev.to | 18 Jan 2025
  • Static search trees: 40x faster than binary search
    15 projects | news.ycombinator.com | 31 Dec 2024
    I often hear this and am confused; not only are things like ['object soup'](https://jacko.io/object_soup.html) possible and straightforward (putting things in collections and referring to them by indices), I never concretely hear why a graph or doubly-linked list becomes uniquely difficult to implement in Rust (and would genuinely be curious to learn why you feel this way). If you needed such data structures anyway, they're either in the standard library or in the many libraries ('crates' in Rust-lingo) available on [Rust's package registry](https://crates.io/)---using dependencies in Rust is very straightforward & easy.
  • What is Rust, and What is for it?
    4 projects | dev.to | 18 Dec 2024
    Rust Package Registry (crates.io)
  • My First Publish to crates.io (and cross compilation)
    4 projects | dev.to | 28 Nov 2024
    crates.io is the central repository/registry for Rust crates. It's a crucial part of the Rust ecosystem.
  • Redis is trying to take over the all of the OSS Redis libraries
    5 projects | news.ycombinator.com | 25 Nov 2024
    Oh dear.

    I see Redis Inc. have decided to go full Nagios.

    Never go full Nagios.

    Though admittedly Nagios' attempt to pull similar assholery wrt CPAN did end up being a source of some amusement to me: http://p3rl.org/Nagios::Plugin

    I hope the http://crates.io team react similarly.

  • Introducing Spin 3.0
    11 projects | dev.to | 12 Nov 2024
    Spin 3.0 introduces a workflow for this type of development in the hopes of making it seamless to do things like write a library for some compute intensive task in Rust and use that as a dependency in a JavaScript application. Or perhaps you’re not a Rust developer and don’t feel like learning it overnight? No problem. Fetch a component someone else already built from an OCI registry. Component dependencies can be stored, discovered, and fetched from OCI registries giving you the npm/NuGet/crates.io style experience but for Wasm. Now, I think this particular feature is wild and could go on about it for at least a thesis, but there are even more Spin 3.0 topics to discuss so feel free to dig deeper in the component dependencies documentation here and in the demo later on.
  • Tech Transfer from Old Languages to GO and Rust
    1 project | dev.to | 8 Jun 2024
    Rust: crates.io
  • Create a Custom GitHub Action in Rust
    3 projects | dev.to | 28 Apr 2024
    Rust has a rich ecosystem of frameworks and libraries that let you read, parse, and manipulate text files, interact with cloud services and databases, and perform any other job that your project's development workflow may require. And because of its strong typing and tight memory management, you are much less likely to write programs that behave unexpectedly in production.
  • Rust Keyword Extraction: Creating the YAKE! algorithm from scratch
    2 projects | dev.to | 27 Apr 2024
    All the code discussed in this article can be accessed through this repository. For integration with existing projects consider using keyword_extraction crate available on crates.io.
  • Migrating a JavaScript frontend to Leptos, a Rust framework
    4 projects | dev.to | 26 Mar 2024
    So, be sure to double-check your critical libraries and be sure their alternatives exist in the Rust ecosystem. There’s a good chance the crates you need are available in Rust's crates.io repository.

What are some alternatives?

When comparing embassy and crates.io you can also consider the following projects:

rtic - Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers

Cargo - The Rust package manager

tock - A secure embedded operating system for microcontrollers

docs.rs - crates.io documentation generator

nrf-hal - A Rust HAL for the nRF family of devices

rfcs - RFCs for changes to Rust

smoltcp - a smol tcp/ip stack

trunk - Build, bundle & ship your Rust WASM application to the web.

rusty-clock - An alarm clock with environment stats in pure bare metal embedded rust

plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀

async-std - Async version of the Rust standard library

cargo-crev - A cryptographically verifiable code review system for the cargo (Rust) package manager.

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers
Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.
www.nutrient.io
featured