CATEGORY
Embedded development 6,261 crates
Data as of 2026-07-25 (crates.io database dump, timestamp 2026-07-25T02:00:36Z). Source: crates.io · db-dump.tar.gz · methodology & corrections.
atsamd21gPeripheral access API for ATSAMD21G microcontrollers (generated using svd2rust)135,897MIT OR Apache-2.0
fdt-parserA crate for parsing FDT135,644MPL-2.0
ockam_transport_websocketWebSocket Transport for the Ockam Routing Protocol.135,232Apache-2.0
imxrt-iomuxcPad configuration interface for NXP i.MX RT processors.
Part of the imxrt-rs project.132,281MIT OR Apache-2.0
defmt-testA test harness for embedded devices131,050MIT OR Apache-2.0
array_mapMap backed array for fixed size keys with O(1) performance130,096MIT OR Apache-2.0
pinned-initLibrary to facilitate safe pinned initialization129,462MIT OR Apache-2.0
vrdA lightweight, no_std-friendly random number generator backed by Xoshiro256++ with optional Mersenne Twister support.128,435MIT OR Apache-2.0
smcccFunctions and constants for the Arm SMC Calling Convention (SMCCC) 1.4 and Arm Power State Coordination Interface (PSCI) 1.1 on…128,165MIT OR Apache-2.0
ostoolA tool for operating system development127,247MIT OR Apache-2.0
ink_lang_irdata structures and algorithms for ink! intermediate representation127,000Apache-2.0
ink_lang_macro[ink!] Rust based eDSL for writing smart contracts for Substrate126,987Apache-2.0
stm32f7Device support crates for STM32F7 devices126,688MIT/Apache-2.0
ink_lang[ink!] Rust based eDSL for writing smart contracts for Substrate126,524Apache-2.0
dfu-libusbImplementation of DFU using libusb and dfu-core126,303MIT OR Apache-2.0
ink_lang_codegendata structures and algorithms for generating ink! IR code126,047Apache-2.0
std-embedded-nalImplementation of the `embedded-nal` traits for large devices that support the standard library125,114MIT OR Apache-2.0
ink_storage_derive[ink!] Derive macros for common ink_storage defined traits.124,606Apache-2.0
printf-compatprintf reimplemented in Rust123,838MIT OR Apache-2.0
aarch64-pagingA library to manipulate AArch64 VMSA page tables.122,211MIT OR Apache-2.0
mimxrt600-fcbFlash Configuration Block for MIMXRT600 devices120,086MIT
imxrt-halHardware abstraction layer for NXP i.MX RT microcontrollers.119,892MIT OR Apache-2.0
nrf52833-halHAL for nRF52833 microcontrollers119,141MIT OR Apache-2.0
stm32f3xx-halPeripheral access API for STM32F3 series microcontrollers118,391MIT OR Apache-2.0
ink_e2e_macro[ink!] Macro for generating end-to-end tests117,722Apache-2.0
ink_e2e[ink!] End-to-end testing framework for smart contracts.117,527Apache-2.0
pastsMinimal and simpler alternative to the futures crate.116,331Apache-2.0 OR BSL-1.0 OR MIT
esp32-halHAL for ESP32 microcontrollers116,315MIT OR Apache-2.0
esp32c3-halHAL for ESP32-C3 microcontrollers116,017MIT OR Apache-2.0
riscv-typesLow level access to RISC-V processors115,792MIT OR Apache-2.0
cargo-espflashCargo subcommand for interacting with Espressif devices115,661MIT OR Apache-2.0
array_map_deriveMap backed array for fixed size keys with O(1) performance115,568MIT OR Apache-2.0
device-driver-generationCode generation for the `device-driver` crate115,519MIT OR Apache-2.0
rust-ocppocpp 1.6, 2.0.1 and 2.1 libraries115,427MIT OR Apache-2.0
device-driver-macrosProc macro implementation for the `device-driver` crate115,240MIT OR Apache-2.0
sync-unsafe-cellA backport of the SyncUnsafeCell standard library type for use in older Rust versions113,890MIT OR Apache-2.0
atomic-maybe-uninitAtomic operations on potentially uninitialized integers.113,112Apache-2.0 OR MIT
cortex-m-rtfmReal Time For the Masses (RTFM): a concurrency framework for building real time systems112,988MIT OR Apache-2.0
endian-type-rsType safe wrappers for types with a defined byte order112,775MIT
fdt-rsA flattened device tree parser for embedded no-std environments110,158MIT
aligned-cmovFast constant-time conditional moves of aligned bytes110,062GPL-3.0
esp-rtosA task scheduler for Espressif devices109,145MIT OR Apache-2.0
std-embedded-timeImplementation of embedded-time Clocks using std::time109,043non-standard
rtic-syncSynchronization primitives for asynchronous contexts107,999MIT OR Apache-2.0
stm32f0Device support crates for STM32F0 devices107,640MIT/Apache-2.0
binary_serde_macrossimple binary serialization and deserialization107,074MIT
binary_serdesimple binary serialization and deserialization106,522MIT
ws2812-timer-delayTimer-based driver for ws2812 leds104,995MIT OR Apache-2.0
ockam_key_exchange_xxThe Ockam Noise XX implementation.104,329Apache-2.0
cortex-m-logLogging facilities for Cortex-M processors103,859Apache-2.0
imxrt-boot-genGenerate data structures for booting iMXRT processors.103,813MIT OR Apache-2.0
gpt_disk_typesGPT (GUID Partition Table) disk data types no_std library103,480MIT OR Apache-2.0
microbit-commonImplementation details for the BBC Micro:bit board support crates101,9850BSD
cortex-m-rtfm-macrosProcedural macros of the cortex-m-rtfm crate101,936MIT OR Apache-2.0
imxrt-dmaDMA driver for i.MX RT processors101,416MIT OR Apache-2.0
tai-timeNanosecond-precision monotonic clock timestamps based on the TAI time standard.100,211MIT OR Apache-2.0
ockam_transport_bleBluetooth Low Energy (BLE) Transport for the Ockam Routing Protocol.100,037Apache-2.0
switch-halHAL and basic implementations for input and output switches (buttons, switches, leds, transistors)99,988MIT OR Apache-2.0
stm32f30xPeripheral access API for STM32F30X microcontrollers99,823MIT OR Apache-2.0
cyw43-pioRP2040 PIO SPI implementation for cyw4398,764MIT OR Apache-2.0
stm32g4Device support crates for STM32G4 devices98,609MIT/Apache-2.0
esp-storageImplementation of embedded-storage traits to access unencrypted ESP32 flash98,550MIT OR Apache-2.0
embedded-batteriesA blocking Hardware Abstraction Layer (HAL) for battery fuel gauges and battery chargers used in embedded systems.98,206MIT
good_memory_allocatorA blazingly fast and memory efficient memory allocator to be used in `no_std` environments.96,883MIT
ockam_apiOckam's request-response API96,532Apache-2.0
tiny-led-matrixA library for direct control of a small monochrome LED display.96,330MIT OR Apache-2.0
riscv-decodeA simple library for decoding RISC-V instructions96,115MIT OR Apache-2.0
ws2812-spiSPI-based driver for ws2812 leds96,003MIT OR Apache-2.0
microbit-v2Board support crate for the BBC Micro:bit V295,6370BSD
edge-nalHosts a bunch of traits which are not yet available in the embedded-nal-async crate95,318MIT OR Apache-2.0
gpt_disk_ioGPT (GUID Partition Table) disk IO no_std library95,098MIT OR Apache-2.0
nrf51-halHAL for nRF51 microcontrollers94,618MIT OR Apache-2.0
rustsbiMinimal RISC-V's SBI implementation library in Rust94,089MulanPSL-2.0 OR MIT
percoreSafe per-CPU core mutable state on no_std platforms through exception masking.93,134MIT OR Apache-2.0
arm-gic-driverA driver for the Arm Generic Interrupt Controller.92,971MIT
esp-radio-rtos-driverTask scheduler interface for esp-radio92,785MIT OR Apache-2.0
cyw43Rust driver for the CYW43439 WiFi chip, used in the Raspberry Pi Pico W.91,854MIT OR Apache-2.0
rtt-logLog facade implementation for the Segger RTT protocol.91,612MIT
arm-ffaArm Firmware Framework for Arm A-profile support library91,599MIT OR Apache-2.0
tinytgaNo-std, low memory footprint TGA image loader90,582MIT OR Apache-2.0
fixed-slice-vec`FixedSliceVec` is a dynamic length Vec with runtime-determined maximum capacity backed by a slice.89,798Apache-2.0
serde-indexedDerivation of Serialize and Deserialize that replaces struct keys with numerical indices.89,655Apache-2.0 OR MIT
ockam_key_exchange_coreThe Ockam Key Exchange trait.89,442Apache-2.0
embedded-batteries-asyncAn asynchronous Hardware Abstraction Layer (HAL) for battery fuel gauges and battery chargers used in embedded systems.89,392MIT
surrealcsThe SurrealCS client code for SurrealDB88,300BUSL-1.1
hd44780-driverA crate to use HD44780 compliant displays with embedded-hal88,238MIT
surrealcs-kernelThe SurrealCS kernel code for SurrealDB88,212BUSL-1.1
lakers-sharedEDHOC crypto library constants crate88,059BSD-3-Clause
fdcanSTM32 FDCAN peripheral driver87,942MIT/Apache-2.0
embedded-textTextBox for embedded-graphics87,770MIT
profontThe ProFont monospace font for use with the embedded-graphics crate.87,650MIT
imxrt-usbdUSB driver for NXP iMX RT processors87,601MIT OR Apache-2.0
agbLibrary for Game Boy Advance Development86,986MPL-2.0
sensirion-i2cCommon functionality for I2C based sensors from Sensirion86,751BSD-3-Clause
arm-psciArm Power State Coordination Interface (PSCI) library86,670MIT OR Apache-2.0
ockam_key_exchange_x3dhThe Ockam X3DH implementation.86,334Apache-2.0
spacepacketsGeneric implementations for various CCSDS and ECSS packet standards86,250Apache-2.0
lakersAn implementation of EDHOC (RFC 9528)85,518BSD-3-Clause
imxrt-rtStartup and runtime support for i.MX RT processors.85,170MIT OR Apache-2.0
drone-coreThe core crate for Drone, an Embedded Operating System.84,360MIT OR Apache-2.0
surrealdb-collectionsSorted vec-backed map and set types for SurrealDB (internal API).84,225non-standard
surrealdb-strandA scalable, distributed, collaborative, document-graph database, for the realtime web84,202non-standard
alt-stm32f30x-halAlternative HAL impl for the STM32F30x family of microcontrollers83,755MIT OR Apache-2.0
ockam_commandEnd-to-end encryption and mutual authentication for distributed applications.83,351Apache-2.0
libafl_targetsCommon code for target instrumentation that can be used combined with LibAFL82,048MIT OR Apache-2.0
registerCommon interface for MMIO and CPU registers81,892MIT/Apache-2.0
rakiRISC-V instruction decoder written in Rust.81,541MIT
libertyos_kernelThe kernel for LibertyOS.81,218Apache-2.0
svdtoolsTool for modifying bugs in CMSIS SVD80,513MIT OR Apache-2.0
rdif-baseDriver Interface base definition.79,945MIT
esp-phyPHY initialization79,384MIT OR Apache-2.0
esp-radioA WiFi, Bluetooth and ESP-NOW driver for use with Espressif chips and bare-metal Rust79,378MIT OR Apache-2.0
rdriveA dyn driver manager.78,973MIT
dwt-systick-monotonicRTIC Monotonic implemenation based on Systick and DWT78,642MIT OR Apache-2.0
edge-dhcpAsync + `no_std` + no-alloc implementation of the DHCP protocol78,106MIT OR Apache-2.0
fdt-rawA low-level, no-std compatible library for parsing Flattened Device Tree (FDT) binary files77,862MIT OR Apache-2.0
stm32-hal2Hardware abstraction layer for the STM32 MCUs77,691MIT
edge-rawAsync + `no_std` + no-alloc implementation of IP and UDP packet creation and parsing77,262MIT OR Apache-2.0
xmrsplayerSafe, no_std SoundTracker music player — plays MOD/XM/S3M/IT/DW with cycle-accurate SID and OPL/AdLib FM synthesis.76,832MIT
atsamd51jPeripheral access API for ATSAMD51J microcontrollers (generated using svd2rust)76,506MIT OR Apache-2.0
brine-ed25519Ed25519 signature verification for Solana SVM programs using curve25519 syscalls76,316MIT
num-alignSome hal for os76,253MIT
libgpiodlibgpiod wrappers76,244Apache-2.0 OR BSD-3-Clause
cmsis-packRust crate for managing CMSIS Packs76,151Apache-2.0
ockam_multiaddrAn implementation of multiformats.io/multiaddr75,871Apache-2.0
embassy-bootA lightweight bootloader supporting firmware updates in a power-fail-safe way, with trial boots and rollbacks.75,656MIT OR Apache-2.0
lsm303agrPlatform-agnostic Rust driver for the LSM303AGR ultra-compact high-performance eCompass module: ultra-low-power 3D accelerometer…75,459MIT OR Apache-2.0
ili9341A platform agnostic driver to interface with the ILI9341 (ald ILI9340C) TFT LCD display75,416MIT OR Apache-2.0
async-opcua-core-namespaceOPC UA generated code for the core namespace75,367MPL-2.0
astarte-device-sdkA library that provides communication and pairing primitives to an Astarte Cluster75,117Apache-2.0
uboot-shellA crate for communicating with u-boot74,957MIT
async-opcua-serverOPC UA server API74,948MPL-2.0
edge-nal-embassyAn implementation of edge-nal based on `embassy-net`74,725MIT OR Apache-2.0
astarte-device-sdk-deriveDerive macros implementation used by Astarte Device SDK74,373Apache-2.0
mbr-nostdA `no-std` crate for parsing and interacting with a Master Boot Record.74,348Apache-2.0
embedded-nal-coapA CoAP server and client implementation built on embedded-nal-async74,217MIT OR Apache-2.0
sbiA pure-Rust library to interact with the RISC-V Supervisor Binary Interface73,962MPL-2.0
rhai-dylibDylib support for Rhai73,774MIT OR Apache-2.0
xmrsRead, edit and serialize SoundTracker music with pleasure — MOD/XM/S3M/IT/DW import plus SID & OPL chip synthesis, no_std.73,102MIT
world_magnetic_modelRust implementation of the NOAA World Magnetic Model (WMM).73,082MIT OR Apache-2.0
mutexAn abstraction over closure-based mutexes72,954MIT OR Apache-2.0
display_utilsLightweight and no_std-compatible string formatting utilities72,703MIT
stm32f0xx-halPeripheral access API for STM32F0 series microcontrollers72,6240BSD
nrf52832-halHAL for nRF52832 microcontrollers72,615MIT OR Apache-2.0
rust-claccRust implementanion of a CL universal accumulator72,133MIT
fdt-editA high-level library for creating, editing, and encoding Flattened Device Tree (FDT) structures72,078MIT OR Apache-2.0
stm32l0Device support crates for STM32L0 devices71,734MIT/Apache-2.0
espmonitorMonitors ESP8266 and ESP32 execution over serial71,627GPL-3.0
arm_pl011ARM Uart pl011 register definitions and basic operations71,627GPL-3.0-or-later OR Apache-2.0 OR MulanPSL-2.0
opcuaOPC UA client and server API71,434MPL-2.0
liboscore-cryptobackendAn implementation of libOSCORE's cryptographic primitives backend based on Rust implementations70,390BSD-3-Clause
liboscore-msgbackendAn implementation of libOSCORE's CoAP messages based on the coap-message crate70,336BSD-3-Clause
probe-runRuns embedded programs just like native ones70,137MIT OR Apache-2.0
liboscoreRust wrapper around the libOSCORE implementation of OSCORE (RFC8613), a security layer for CoAP69,910BSD-3-Clause
bufiostd::io::Write for your potentially uninitialized slice of memory.69,287Apache-2.0 OR MIT
arm-sp805Arm Watchdog Module (SP805) driver68,979MIT OR Apache-2.0
embassy-macrosmacros for creating the entry point and tasks for embassy-executor68,640MIT OR Apache-2.0
fitimageA Rust library for creating U-Boot compatible FIT images68,238MIT OR Apache-2.0
format_no_stdBare metal formatting67,667MIT OR Apache-2.0
ockam_macrosEnd-to-end encryption and mutual authentication for distributed applications.67,643Apache-2.0
arm-generic-timerArm Generic Timer driver66,835MIT OR Apache-2.0
arm-cciArm CoreLink CCI-5x0 Cache Coherent Interconnect driver66,756MIT OR Apache-2.0
apa102-spiDriver for writing to APA102 (DotStar) and SK9822 LEDs over SPI66,557MIT OR Apache-2.0
bacnet-rsBACnet protocol stack implementation in Rust66,344MIT OR Apache-2.0
ockam_transport_udpUDP Transport for the Ockam Routing Protocol.66,300Apache-2.0
ockam_transport_udsUnix Domain Socket (UDS) Transport for the Ockam Routing Protocol66,241Apache-2.0
opt300xPlatform-agnostic Rust driver for the OPT300x ambient light sensors. Compatible with OPT3001, OPT3002, OPT3004, OPT3006 and…66,089MIT OR Apache-2.0
femtopb-deriveDerive macros for `femtopb` traits65,966Apache-2.0
esp32c2-halHAL for ESP32-C2 microcontrollers65,893MIT OR Apache-2.0
postcard2A no_std + serde compatible message library for Rust65,854MIT OR Apache-2.0
coseyData types and serde for public COSE_Keys65,683Apache-2.0 OR MIT
femtopbA no-std, no-alloc set of tools for protobuf encoding and decoding65,522Apache-2.0
rdif-intcDriver Interface of interrupt controller.65,314MIT
femtopb-buildA code generator for `femtopb`65,099Apache-2.0
esp32c6-halHAL for ESP32-C6 microcontrollers64,759MIT OR Apache-2.0
naked-function-macroProc macro for the naked-function crate64,593MIT OR Apache-2.0
embedded-semverCompact representation of semantic versions as an i32, u32 i64 or u6463,772MIT OR Apache-2.0
interchangeRequest/response mechanism for embedded development, using atomics63,609Apache-2.0 OR MIT
arm-sysregsArmv8-A system register helper crate63,584MIT OR Apache-2.0
dht-sensorDriver for the DHT11/DHT22 sensor based on embedded-hal63,369MIT
ads1x1xPlatform-agnostic Rust driver for the ADS1x1x ultra-small, low-power analog-to-digital converters (ADC). Compatible with the…63,100MIT OR Apache-2.0
rtfm-syntaxThe Real Time for The Masses (RTFM) meta language62,836MIT OR Apache-2.0
naked-functionProc macro implementation of #[naked]62,756MIT OR Apache-2.0
aarch64-cpu-extExtended AArch64 CPU utilities and cache management operations62,680MIT OR Apache-2.0
rhai-randRandom number package for Rhai62,152MIT OR Apache-2.0
cargo-embedDeprecated binaries for the probe-rs project.62,140MIT OR Apache-2.0
pwm-pca9685Platform-agnostic Rust driver for the PCA9685 I2C 16-channel, 12-bit PWM/Servo/LED controller.62,003MIT OR Apache-2.0
rust-mqttMQTT client for embedded and non-embedded environments61,204MIT OR Apache-2.0
u8g2-fontsA text renderer for embedded-graphics, based on U8g2.60,752non-standard
bitbang-halImplements embedded-hal traits by bitbanging60,128MIT
sweetA delightful cross-platform test runner59,636MIT OR Apache-2.0
atsamd21ePeripheral access API for ATSAMD21E microcontrollers (generated using svd2rust)59,251MIT OR Apache-2.0
bme280A rust device driver for the Bosch BME280 temperature, humidity, and atmospheric pressure sensor and the Bosch BMP280…58,475MIT OR Apache-2.0
msp430Low level access to MSP430 microcontrollers58,332MIT OR Apache-2.0
esp32-nimbleA wrapper for the ESP32 NimBLE Bluetooth stack.58,322Apache-2.0
panic-persistPersist panic messages in the targets' RAM58,305MIT OR Apache-2.0
cbor-smolStreamlined serde serializer/deserializer for CBOR58,227Apache-2.0 OR MIT
embedded-layoutExtend embedded-graphics with simple layout functions58,218MIT
aht20-asyncA platform agnostic driver to interface with the AHT20 temperature/humidity sensors58,018AGPL-3.0-or-later
teensy4-fcbFlexSPI Configuration Block (FCB) for the Teensy 4.
Part of the teensy4-rs project.57,788MIT OR Apache-2.0