[W55RP20] RUST Embassy Guide
Using the W55RP20 board, we build and run the default TCP loopback example provided by Embassy, an asynchronous embedded framework for Rust.
Dmitri Lyalikov - Embassy
x 1
1. Rust language Current Trend
Rust is gaining a lot of traction lately, especially in system-level programming. Big tech companies are adopting it for its performance and memory safety. Now it’s also spreading into embedded development, where safety, zero-cost abstractions, and fine control over hardware really shine.
2. What is Embassy ?
Embassy is a Rust framework that brings async/await to bare-metal MCU development. It lets you write safe, non-blocking code across various chips—like STM32, RP2040, nRF—without needing an RTOS. This unified and scalable approach is shaping the future of async embedded development.
3. W55RP20 Example Added to Embassy
The image below shows the recent commit history from the official Embassy repository.
In September 2025, a new example titled ethernet_w55rp20_tcp_server.rs was added, followed by several refinement updates such as increasing the SPI frequency, removing unused imports, and improving the example code. These continuous updates indicate that the Embassy ecosystem is actively maintained and consistently evolving.
With the W55RP20 Ethernet example now officially included in the Embassy repo, I decided to explore it further and run my own tests. This addition is a notable milestone, demonstrating that Rust-based async embedded development is beginning to fully embrace Ethernet support on modern MCUs.
Although it’s somewhat tangential, Embassy has supported Wiznet’s Ethernet chips for quite some time.
As shown in the image above, drivers for various Wiznet devices—such as w5100s.rs, w5500.rs, and w6100.rs—are already included, demonstrating that the Embassy network stack has been developed with Wiznet-based hardware in mind from the early stages.
3.How To setup ?
cargo install elf2uf2-rs
4. Get Embassy Example
https://github.com/embassy-rs/embassy
5. How to build?
elf2uf2-rs .\target\thumbv6m-none-eabi\release\ethernet_w55rp20_tcp_server

