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.
zerocopyZerocopy makes zero-cost memory manipulation effortless. We write "unsafe" so you don't have to.750,061,393BSD-2-Clause OR Apache-2.0 OR MIT
icu_properties_dataData for the icu_properties crate452,308,258Unicode-3.0
icu_propertiesDefinitions for Unicode properties449,243,417Unicode-3.0
icu_providerTrait and struct definitions for the ICU data provider447,348,388Unicode-3.0
icu_collectionsCollection of API for use in ICU libraries.444,920,390Unicode-3.0
icu_normalizer_dataData for the icu_normalizer crate443,882,577Unicode-3.0
icu_normalizerAPI for normalizing text into Unicode Normalization Forms440,265,907Unicode-3.0
portable-atomicPortable atomic types including support for 128-bit atomics, atomic float, etc.365,896,463Apache-2.0 OR MIT
zerotrieA data structure that efficiently maps strings to integers293,294,097Unicode-3.0
potential_utfUnvalidated string and character types290,662,419Unicode-3.0
icu_locale_coreAPI for managing Unicode Language and Locale Identifiers288,676,482Unicode-3.0
r-efiUEFI Reference Specification Protocol Constants and Definitions245,985,460MIT OR Apache-2.0 OR LGPL-2.1-or-later
bitvecAddresses memory by bits, for packed collections and bitfields241,629,048MIT
oorandomA tiny, robust PRNG implementation.217,171,318MIT
ciborium-ioSimplified Read/Write traits for no_std usage200,170,108Apache-2.0
ciboriumserde implementation of CBOR using ciborium-basic200,087,255Apache-2.0
ciborium-llLow-level CBOR codec primitives200,049,657Apache-2.0
ctorGlobal, no_std-compatible constructors for all platforms that run before main (like C/C++ __attribute__((constructor)))162,228,606Apache-2.0 OR MIT
embedded-ioEmbedded IO traits89,499,395MIT OR Apache-2.0
portable-atomic-utilSynchronization primitives built with portable-atomic.80,359,251Apache-2.0 OR MIT
critical-sectionCross-platform critical section71,842,952MIT OR Apache-2.0
postcardA no_std + serde compatible message library for Rust46,689,176MIT OR Apache-2.0
dtorGlobal, no_std-compatible destructors for all platforms that run after main (like C/C++ __attribute__((destructor)))37,031,487Apache-2.0 OR MIT
nbMinimal non-blocking I/O layer36,301,286MIT OR Apache-2.0
embedded-halA Hardware Abstraction Layer (HAL) for embedded systems28,998,073MIT OR Apache-2.0
no-std-netRust's std::net... without the 'std'.28,589,166MIT
alignedA newtype with alignment of at least `A` bytes26,388,198MIT OR Apache-2.0
atomic-polyfillAtomic polyfills, for targets where they're not available.22,518,173MIT OR Apache-2.0
ctyType aliases to C types like c_int for use with bindgen20,267,738MIT OR Apache-2.0
defmtA highly efficient logging framework that targets resource-constrained devices, like microcontrollers19,762,594MIT OR Apache-2.0
minicovCode coverage and profile-guided optimization support for no_std and embedded programs15,146,801Apache-2.0/MIT
bare-metalAbstractions common to bare metal systems14,685,653MIT OR Apache-2.0
icu_locale_dataData for the icu_locale crate13,891,595Unicode-3.0
icu_localeAPI for Unicode Language and Locale Identifiers canonicalization13,866,720Unicode-3.0
fixedFixed-point numbers.12,878,074MIT/Apache-2.0
managedAn interface for logically owning objects, whether or not heap allocation is available.12,114,7610BSD
cortex-mLow level access to Cortex-M processors11,819,903MIT OR Apache-2.0
icu_segmenterUnicode line breaking and text segmentation algorithms for text boundaries analysis11,019,317Unicode-3.0
icu_segmenter_dataData for the icu_segmenter crate10,433,812Unicode-3.0
embedded-hal-nbNon-blocking Hardware Abstraction Layer (HAL) for embedded systems using the `nb` crate.10,347,483MIT OR Apache-2.0
icu_calendarDate APIs for Gregorian and non-Gregorian calendars10,037,081Unicode-3.0
numtoaConvert numbers into stack-allocated byte arrays9,922,463MIT OR Apache-2.0
embedded-canHAL traits for Controller Area Network (CAN) devices.9,793,096MIT OR Apache-2.0
icu_calendar_dataData for the icu_calendar crate9,671,753Unicode-3.0
fixed_decimalAn API for representing numbers in a human-readable form9,512,959Unicode-3.0
icu_decimalAPI for formatting basic decimal numbers in a locale-sensitive way9,386,499Unicode-3.0
elfA pure-rust library for parsing ELF files9,345,761MIT/Apache-2.0
icu_decimal_dataData for the icu_decimal crate8,987,537Unicode-3.0
rhaiEmbedded scripting for Rust8,925,793MIT OR Apache-2.0
riscvLow level access to RISC-V processors8,667,298MIT OR Apache-2.0
rhai_codegenProcedural macros support package for Rhai, a scripting language and engine for Rust8,582,657MIT OR Apache-2.0
embedded-storageA Storage Abstraction Layer for Embedded Systems8,192,841MIT OR Apache-2.0
cortex-m-rtMinimal runtime / startup for Cortex-M microcontrollers7,901,309MIT OR Apache-2.0
icu_pluralsUnicode Plural Rules categorizer for numeric input7,701,555Unicode-3.0
cortex-m-rt-macrosAttributes re-exported in `cortex-m-rt`7,471,599MIT OR Apache-2.0
gpiocdev-uapiA low level library to access GPIO lines on Linux using the GPIO character device7,471,477Apache-2.0 OR MIT
gpiocdevAccess GPIO lines on Linux using the GPIO character device7,471,301Apache-2.0 OR MIT
icu_plurals_dataData for the icu_plurals crate7,297,661Unicode-3.0
naive-timerA minimal naive timer for embedded (no_std) platforms.7,000,164MIT
smoltcpA TCP/IP stack designed for bare-metal, real-time systems without a heap.6,995,8020BSD
icu_datetimeHuman-readable formatting of dates, times, and time zones in hundreds of locales6,891,974Unicode-3.0
pidA PID controller.6,760,235MIT OR Apache-2.0
gpio-cdevLinux GPIO Character Device Support (/dev/gpiochipN)6,753,034MIT OR Apache-2.0
i2cdevProvides API for safe access to Linux i2c device interface.6,641,983MIT/Apache-2.0
icu_datetime_dataData for the icu_datetime crate6,479,390Unicode-3.0
linux-embedded-halImplementation of the `embedded-hal` traits for Linux devices5,719,664MIT OR Apache-2.0
embedded-hal-asyncAn asynchronous Hardware Abstraction Layer (HAL) for embedded systems5,674,153MIT OR Apache-2.0
icu_collator_dataData for the icu_collator crate5,474,820Unicode-3.0
embedded-hal-mockA collection of mocked devices that implement the embedded-hal traits5,467,411MIT OR Apache-2.0
embassy-syncno-std, no-alloc synchronization primitives with async support5,392,677MIT OR Apache-2.0
icu_provider_adaptersAdapters for composing and manipulating data providers.5,374,510Unicode-3.0
can-dbcA parser for the DBC format. The DBC format is used to exchange CAN network data.5,284,321MIT OR Apache-2.0
wee_allocwee_alloc: The Wasm-Enabled, Elfin Allocator5,258,753MPL-2.0
icu_listECMA-402 ListFormatter5,191,395Unicode-3.0
fugitTime library for embedded targets with ease-of-use and performance first.5,105,796MIT OR Apache-2.0
embedded-io-asyncAsync embedded IO traits4,707,933MIT OR Apache-2.0
oidRust-native library for building, parsing, and formating Object Identifiers (OIDs)4,691,978MIT OR Apache-2.0
aligned-arrayA newtype with alignment of at least `A` bytes4,638,151MIT OR Apache-2.0
gdbstubAn implementation of the GDB Remote Serial Protocol in Rust4,564,005MIT OR Apache-2.0
eeprom24xPlatform-agnostic Rust driver for the 24x series serial EEPROMs.4,499,185MIT OR Apache-2.0
embassy-futuresno-std, no-alloc utilities for working with futures4,344,193MIT OR Apache-2.0
ixdtfParser for Internet eXtended DateTime Format4,249,098Unicode-3.0
gpiocdev-embedded-halembedded-hal wrappers around gpiocdev Requests4,182,691Apache-2.0 OR MIT
riscv-macrosProcedural macros re-exported in `riscv`3,919,887MIT OR Apache-2.0
embedded-dmaTraits to aid in the creation of sound DMA abstractions3,770,077MIT OR Apache-2.0
link-sectionLink-time initialized slices for Rust, with full support for Linux, macOS, Windows, WASM and many more platforms.3,680,426Apache-2.0 OR MIT
icu_list_dataData for the icu_list crate3,654,676Unicode-3.0
icu_casemapUnicode case mapping and folding algorithms3,481,296Unicode-3.0
icu_casemap_dataData for the icu_casemap crate3,353,402Unicode-3.0
embassy-timeInstant and Duration for embedded no-std systems, with async timer support3,324,649MIT OR Apache-2.0
ufmt-write`μfmt`'s `uWrite` trait3,211,077MIT OR Apache-2.0
r-efi-allocUEFI Memory Allocator Integration3,161,772MIT OR Apache-2.0 OR LGPL-2.1-or-later
embassy-time-driverDriver trait for embassy-time3,093,190MIT OR Apache-2.0
micromathEmbedded-friendly math library featuring fast floating point approximations
(with small code size) for common arithmetic…3,065,797Apache-2.0 OR MIT
postcard-deriveA no_std + serde compatible message library for Rust - Derive Crate3,022,171MIT OR Apache-2.0
riscv-rt-macrosAttributes re-exported in `riscv-rt`2,948,996MIT OR Apache-2.0
icu_provider_blobICU4X data provider that reads from blobs in memory2,922,475Unicode-3.0
cortex-m-semihostingSemihosting for ARM Cortex-M processors2,903,858MIT OR Apache-2.0
gdbstub_archImplementations of `gdbstub::arch::Arch` for various architectures.2,716,946MIT OR Apache-2.0
resbUtilities for reading and writing ICU resource bundle files2,711,608Unicode-3.0
zoneinfo64Working with ICU zoneinfo64.res timezone data bundles2,707,648Unicode-3.0
defmt-rttTransmit defmt log messages over the RTT (Real-Time Transfer) protocol2,658,368MIT OR Apache-2.0
riscv-pacLow level access to RISC-V processors2,541,781MIT OR Apache-2.0
embassy-executorasync/await executor designed for embedded usage2,523,506MIT OR Apache-2.0
panic-probePanic handler that exits `probe-run` with an error code2,489,006MIT OR Apache-2.0
arbitrary-intModern and lightweight implementation of u2, u3, u4, ..., u127.2,484,824MIT
embedded-timeFully defined, inter-operable, ergonomic, and fast human-time units (both duration and rate types) with hardware timer…2,447,547MIT OR Apache-2.0
embassy-executor-macrosmacros for creating the entry point and tasks for embassy-executor2,430,050MIT OR Apache-2.0
embassy-embedded-halCollection of utilities to use `embedded-hal` and `embedded-storage` traits with Embassy.2,426,820MIT OR Apache-2.0
icu_timeProcessing of dates, times, and time zones with a focus on i18n and interop2,368,227Unicode-3.0
embedded-storage-asyncA Storage Abstraction Layer for Embedded Systems2,356,617MIT OR Apache-2.0
embedded-graphicsEmbedded graphics library for small hardware displays2,353,298MIT OR Apache-2.0
r0Initialization code ('crt0') written in Rust2,329,272MIT OR Apache-2.0
embassy-hal-internalInternal implementation details for Embassy HALs. DO NOT USE DIRECTLY.2,307,357MIT OR Apache-2.0
uefi-macrosProcedural macros for the `uefi` crate.2,136,279MIT OR Apache-2.0
uefiThis crate makes it easy to develop Rust software that leverages safe,
convenient, and performant abstractions for UEFI…2,134,017MIT OR Apache-2.0
embedded-graphics-coreCore traits and functionality for embedded-graphics2,128,634MIT OR Apache-2.0
riscv-rtMinimal runtime / startup for RISC-V CPU's2,117,934MIT OR Apache-2.0
icu_experimentalICU4X pre-release components under active development; all code in this crate is unstable.2,112,558Unicode-3.0
icu_time_dataData for the icu_time crate2,092,690Unicode-3.0
icu_experimental_dataData for the icu_experimental crate2,024,858Unicode-3.0
icuICU4X: International Components for Unicode, written in Rust1,893,450Unicode-3.0
uart_16550Simple yet highly configurable low-level driver for 16550 UART devices,
typically known and used as serial ports or COM ports.…1,837,768MIT OR Apache-2.0
embassy-usb-driverDriver trait for `embassy-usb`, an async USB device stack for embedded devices.1,797,713MIT OR Apache-2.0
riscv-targetRISC-V target string manipulation utilities1,737,412ISC
rp-binary-infoCode and types for creating Picotool compatible Binary Info metadata1,716,984MIT OR Apache-2.0
rlsfReal-time dynamic memory allocator based on the TLSF algorithm1,691,190MIT/Apache-2.0
embassy-time-queue-utilsTimer queue driver trait for embassy-time1,653,719MIT OR Apache-2.0
uefi-rawRaw UEFI types and bindings for protocols, boot, and runtime services. This can
serve as base for an UEFI firmware implementation…1,650,910MIT OR Apache-2.0
amplify_numAmplifying numeric types: big-sized and bit-sized integers1,604,657Apache-2.0
rp235x-halA Rust Embedded-HAL impl for the RP235x microcontroller family1,600,563MIT OR Apache-2.0
uguidGUID (Globally Unique Identifier) no_std library1,592,885MIT OR Apache-2.0
tock-registersMemory-Mapped I/O and register interface developed for Tock.1,586,592MIT/Apache-2.0
stm32h7Device support crates for STM32H7 devices1,559,728MIT/Apache-2.0
ufmt-macros`μfmt` macros1,539,823MIT OR Apache-2.0
ufmtA (6-40x) smaller, (2-9x) faster and panic-free alternative to `core::fmt`1,537,684MIT OR Apache-2.0
bitfieldsMacro for for generating bitfields from structs and enum bitflags for defining packed binary schemas in low-level systems (e.g.…1,510,578MIT
embassy-net-driverDriver trait for the `embassy-net` async TCP/IP network stack.1,503,751MIT OR Apache-2.0
alloc-traitsTraits to replace or supplement the alloc module in no_std1,481,354MIT
bitfields-implMacro for generating flexible bitfields. Useful for low-level code (embedded or emulators).1,472,840MIT
unsizeA stable alternative to CoerceUnsize1,460,265MIT OR Apache-2.0 OR Zlib
without-allocReplacements for `Box`, `Rc`, `Vec`, .. without `alloc`1,429,269MIT
delogDeferred logging, an implementation and extension of Rust's standard logging facade.1,340,750Apache-2.0 OR MIT
rtic-coreCore abstractions of the Real-Time Interrupt-driven Concurrency framework1,322,130MIT OR Apache-2.0
embedded-hal-busBus/Device connection mechanisms for embedded-hal, a Hardware Abstraction Layer (HAL) for embedded systems1,296,586MIT OR Apache-2.0
riscv-semihostingSemihosting for RISCV processors1,269,513MIT OR Apache-2.0
embuildA build support library for embedded Rust1,245,130MIT OR Apache-2.0
semihostingSemihosting for AArch64, Arm, RISC-V, LoongArch, MIPS32, MIPS64, and Xtensa.1,241,182Apache-2.0 OR MIT
esp-printlnProvides `print!` and `println!` implementations for various Espressif devices1,206,765MIT OR Apache-2.0
vex-sdkFFI bindings to VEXos system APIs.1,190,615MIT
burn-tensorTensor library with user-friendly APIs and automatic differentiation support1,165,298MIT OR Apache-2.0
surrealdbA scalable, distributed, collaborative, document-graph database, for the realtime web1,162,727non-standard
usbd-hid-macrosInternal crate: contains procedural macros for HID descriptors. Use the `usbd-hid` crate instead, these macros are re-exported…1,150,141MIT OR Apache-2.0
talcA fast and flexible allocator for no_std and WebAssembly1,145,591MIT
burnFlexible and Comprehensive Deep Learning Framework in Rust1,137,988MIT OR Apache-2.0
burn-coreFlexible and Comprehensive Deep Learning Framework in Rust1,137,916MIT OR Apache-2.0
usbd-hid-descriptorsLow-level, wire-format enums/bitfields used in HID descriptors1,128,311MIT OR Apache-2.0
esp-backtraceBare-metal backtrace support for Espressif devices1,115,798MIT OR Apache-2.0
surrealdb-coreA scalable, distributed, collaborative, document-graph database, for the realtime web1,107,677non-standard
esp32s3Peripheral access crate for the ESP32-S31,106,821MIT OR Apache-2.0
burn-ndarrayNdarray backend for the Burn framework1,106,232MIT OR Apache-2.0
fdtA pure-Rust `#![no_std]` crate for parsing Flattened Devicetrees1,094,387MPL-2.0
microfftEmbedded-friendly Fast Fourier Transforms1,089,163MIT
xtensa-lxLow-level access to Xtensa LX processors and peripherals1,076,918MIT OR Apache-2.0
rppalInterface for the Raspberry Pi's GPIO, I2C, PWM, SPI and UART peripherals.1,061,333MIT
embedded-nalA Network Abstraction Layer (NAL) for Embedded Systems1,041,736MIT OR Apache-2.0
stm32-fmcHardware Abstraction Layer for STM32 Memory Controllers (FMC/FSMC)1,041,378MIT/Apache-2.0
bbqueueA SPSC, lockless, no_std, thread safe, queue, based on BipBuffers1,034,702MIT OR Apache-2.0
sdio-hostSD host protocol library1,011,302MIT OR Apache-2.0
stm32h7xx-halHardware Abstraction Layer implementation for STM32H7 series microcontrollers1,009,4590BSD
embassy-executor-timer-queueTimer queue item and interface between embassy-executor and timer queues999,232MIT OR Apache-2.0
embassy-net-driver-channelHigh-level channel-based driver for the `embassy-net` async TCP/IP network stack.987,347MIT OR Apache-2.0
panic-semihostingReport panic messages to the host stderr using semihosting980,327MIT OR Apache-2.0
xtensa-lx-rtMinimal startup/runtime for Xtensa LX CPUs978,086MIT OR Apache-2.0
stm32f4Device support crates for STM32F4 devices975,194MIT/Apache-2.0
authenticodeLibrary for working with Authenticode (no-std)974,970MIT OR Apache-2.0
xtensa-lx-rt-proc-macrosAttributes re-exported in `xtensa-lx-rt`948,327MIT OR Apache-2.0
embassy-usbAsync USB device stack for embedded devices in Rust.945,430MIT OR Apache-2.0
esp-idf-partA library for parsing and generating ESP-IDF partition tables935,327MIT OR Apache-2.0
static-allocA bump allocator on static memory for the alloc-traits crate935,231MIT OR Apache-2.0 OR Zlib
embassy-usb-synopsys-otg`embassy-usb-driver` implementation for Synopsys OTG USB controllers918,149MIT OR Apache-2.0
rtic-syntaxThe Real-Time Interrupt-driven Concurrency (RTIC) meta language911,771MIT OR Apache-2.0
esp32c3Peripheral access crate for the ESP32-C3911,039MIT OR Apache-2.0
espflashA command-line tool for interacting with Espressif devices908,169MIT OR Apache-2.0
cortex-m-rticReal-Time Interrupt-driven Concurrency (RTIC): a concurrency framework for building real-time systems901,103MIT OR Apache-2.0
esp32s2Peripheral access crate for the ESP32-S2899,255MIT OR Apache-2.0
cortex-m-rtic-macrosProcedural macros of the cortex-m-rtic crate898,002MIT OR Apache-2.0
esp32Peripheral access crate for the ESP32863,132MIT OR Apache-2.0
smart-leds-traitA trait for implementing effects, modifiers and drivers for programmable leds848,200MIT OR Apache-2.0
esp-riscv-rtMinimal runtime / startup for RISC-V CPUs from Espressif837,614MIT OR Apache-2.0
esp-idf-sysBindings for ESP-IDF (Espressif's IoT Development Framework)835,476MIT OR Apache-2.0
jep106A pollable collection of all JEP106 manufacturer codes.833,394MIT OR Apache-2.0
embedded-svcA set of traits for services higher level than embedded-hal and typically found in embedded microcontrollers with WiFi or BLE…831,494MIT OR Apache-2.0
esp-halBare-metal HAL for Espressif devices824,838MIT OR Apache-2.0
smlangA no-std state machine language DSL814,013MIT OR Apache-2.0
smlang-macrosProcedual macros for the smlang crate812,511MIT OR Apache-2.0
can-dbc-pestA Pest-based parser for the DBC format. The DBC format is used to exchange CAN network data.804,282MIT OR Apache-2.0
aarch64-cpuLow level access to processors using the AArch64 execution state785,778MIT/Apache-2.0
esp-allocA heap allocator for Espressif devices785,479MIT OR Apache-2.0
stm32f4xx-halPeripheral access API for STM32F4 series microcontrollers783,7110BSD