1 unstable release

0.2.0 Mar 3, 2024

#8 in #sunset

Used in sunset-async

0BSD license



Embassy requires Rust nightly, often with a specific version. rust-toolchain.toml records a known-good version.


demos/ has some examples. These are separate crates since they have fairly distinct dependencies.


Running on a Raspberry Pi Pico W.

Requires a capacitor soldered between a GPIO pin and gnd, 0.1 to 1 nF is suitable, this example uses GPIO Pin 10. This is used for random number generation - it is somewhat experimental and should have more analysis of the RNG quality before use in real applications.


Running on the host system, useful for development and debugging. The network stack is smoltcp with a tap device. Based on Embassy's examples/std/src/tuntap.rs, it needs local network setup something like this, where a local dhcp server is running on tap0. Alternatively tap0 can be bridged to another network which has dhcp available.

sudo ip tuntap add name tap0 mode tap user $USER
sudo ip link set tap0 up

sudo ip addr add dev tap0
# or
sudo brctl addif br0 tap0


~125K SLoC