Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It enables the execution of multiple concurrent tasks to maximize energy efficiency and CPU usage, utilizing an async executor that puts the processor to sleep when idle.
The main features of embassy-rs/embassy are: Embedded Async Executors, Embedded Rust, Cooperative Schedulers, Bootloaders and Updates, Embedded Async Multitasking, Bluetooth Connectivity, USB Class Implementations, Microcontroller Abstraction Layers.
Open-source alternatives to embassy-rs/embassy include: tinygo-org/tinygo — TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to… hybridgroup/gobot — Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT… raspberrypi/pico-sdk — The pico-sdk is a software development kit for creating C and C++ applications on RP2040 and RP2350 hardware… hathach/tinyusb — TinyUSB. espressif/arduino-esp32 — This project is an implementation of the Arduino framework for ESP32 microcontrollers, providing a core that enables… esp8266/arduino — This project is an embedded C++ development kit and hardware abstraction layer that enables the Arduino programming…
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams
The pico-sdk is a software development kit for creating C and C++ applications on RP2040 and RP2350 hardware platforms. It functions as an embedded development kit that provides hardware abstraction layers and drivers to interface with microcontroller peripherals and registers. The project utilizes a CMake build system to manage the compilation of source code into multiple binary formats, including UF2, ELF, and HEX images. This environment coordinates the build and link processes to ensure the resulting firmware is correctly tailored for the target hardware. The toolkit covers embedded hard