CATEGORY
Hardware support 4,116 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.
cpufeaturesLightweight runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets,
with no_std support and support for…758,857,380MIT OR Apache-2.0
num_cpusGet the number of CPUs on a machine.537,612,523MIT OR Apache-2.0
portable-atomicPortable atomic types including support for 128-bit atomics, atomic float, etc.365,896,463Apache-2.0 OR MIT
r-efiUEFI Reference Specification Protocol Constants and Definitions245,985,460MIT OR Apache-2.0 OR LGPL-2.1-or-later
num_threadsA minimal library that determines the number of running threads for the current process.211,540,191MIT OR Apache-2.0
wideA crate to help you go wide.61,637,510Zlib OR Apache-2.0 OR MIT
safe_archCrate that exposes `core::arch` safely via `#[cfg()]`.60,831,150Zlib OR Apache-2.0 OR MIT
crc-fastWorld's fastest generic CRC16, CRC32, and CRC64 calculator using SIMD. Supplies a C-compatible shared library for use in other…37,718,069MIT OR Apache-2.0
cmovConditional move CPU intrinsics which are guaranteed on major platforms (ARM32/ARM64, x86/x86_64,
RISC-V) to execute in…36,261,950Apache-2.0 OR MIT
embedded-halA Hardware Abstraction Layer (HAL) for embedded systems28,998,073MIT OR Apache-2.0
serialportA cross-platform low-level serial port library.16,462,743MPL-2.0
bare-metalAbstractions common to bare metal systems14,685,653MIT OR Apache-2.0
multiversionEasy function multiversioning13,302,614MIT OR Apache-2.0
cortex-mLow level access to Cortex-M processors11,819,903MIT OR Apache-2.0
embedded-hal-nbNon-blocking Hardware Abstraction Layer (HAL) for embedded systems using the `nb` crate.10,347,483MIT OR Apache-2.0
crc64fast-nvmeSIMD accelerated CRC-64/NVME checksum calculation9,967,759MIT OR Apache-2.0
target-featuresRust compiler target feature database9,954,263MIT OR Apache-2.0
embedded-canHAL traits for Controller Area Network (CAN) devices.9,793,096MIT OR Apache-2.0
libmediumLibrary to interface with lm_sensors9,450,029MIT
perf-event-open-sysUnsafe, direct bindings for Linux's perf_event_open system call, with associated
types and constants.8,817,564MIT OR Apache-2.0
riscvLow level access to RISC-V processors8,667,298MIT OR Apache-2.0
embedded-storageA Storage Abstraction Layer for Embedded Systems8,192,841MIT OR Apache-2.0
serial-coreRust abstractions for serial ports.8,099,436MIT
serialRust library for accessing serial ports.7,918,529MIT
serial-unixSerial port implementation for Unix.7,844,211MIT
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
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
cudarcSafe and minimal CUDA bindings6,291,735MIT OR Apache-2.0
serial2Cross platform serial ports6,189,284BSD-2-Clause OR Apache-2.0
mio-serialA serial port implementation for mio6,027,361MIT
tokio-serialA serial port implementation for tokio5,919,675MIT
linux-embedded-halImplementation of the `embedded-hal` traits for Linux devices5,719,664MIT OR Apache-2.0
perf-eventA Rust interface to Linux performance monitoring5,712,231MIT OR Apache-2.0
embedded-hal-asyncAn asynchronous Hardware Abstraction Layer (HAL) for embedded systems5,674,153MIT OR Apache-2.0
embedded-hal-mockA collection of mocked devices that implement the embedded-hal traits5,467,411MIT OR Apache-2.0
nvml-wrapper-sysGenerated bindings to the NVIDIA Management Library.4,886,218MIT OR Apache-2.0
nvml-wrapperA safe and ergonomic Rust wrapper for the NVIDIA Management Library4,867,631MIT OR Apache-2.0
eeprom24xPlatform-agnostic Rust driver for the 24x series serial EEPROMs.4,499,185MIT OR Apache-2.0
gpiocdev-embedded-halembedded-hal wrappers around gpiocdev Requests4,182,691Apache-2.0 OR MIT
serial-windowsSerial port implementation for Windows.4,123,266MIT
aws-nitro-enclaves-nsm-apiThis library provides the API for the Nitro Secure Module used in AWS Nitro Enclaves.4,019,052Apache-2.0
system_shutdownRust library for shut down, reboot or log out operations.3,773,931MIT/Apache-2.0
r-efi-allocUEFI Memory Allocator Integration3,161,772MIT OR Apache-2.0 OR LGPL-2.1-or-later
bluerBlueR: official Rust interface to the Linux Bluetooth protocol stack (BlueZ)2,751,172BSD-2-Clause
packed_simd_2Portable Packed SIMD vectors2,586,345MIT OR Apache-2.0
riscv-pacLow level access to RISC-V processors2,541,781MIT OR Apache-2.0
iced-x86iced-x86 is a blazing fast and correct x86/x64 disassembler, assembler and instruction decoder written in Rust2,515,443MIT
fearless_simdSafer and easier SIMD2,419,024Apache-2.0 OR MIT
embedded-storage-asyncA Storage Abstraction Layer for Embedded Systems2,356,617MIT OR Apache-2.0
authenticatorLibrary for interacting with CTAP1/2 security keys for Web Authentication. Used by Firefox.2,164,736MPL-2.0
enigoCross-platform (Linux, Windows, macOS & BSD) library to simulate keyboard and mouse events2,046,159MIT
cryptoki-sysFFI wrapper around the PKCS #11 API1,903,331Apache-2.0
simsimdPortable mixed-precision BLAS-like vector math library for x86 and ARM1,866,876Apache-2.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
triple_accelRust edit distance routines accelerated using SIMD. Supports fast Hamming, Levenshtein, restricted Damerau-Levenshtein, etc.…1,825,332MIT
embassy-usb-driverDriver trait for `embassy-usb`, an async USB device stack for embedded devices.1,797,713MIT OR Apache-2.0
cryptokiRust-native wrapper around the PKCS #11 API1,794,378Apache-2.0
rp-binary-infoCode and types for creating Picotool compatible Binary Info metadata1,716,984MIT OR Apache-2.0
sevLibrary for AMD SEV1,627,902Apache-2.0
smbios-libSMBIOS Library1,609,458MIT
rp235x-halA Rust Embedded-HAL impl for the RP235x microcontroller family1,600,563MIT OR Apache-2.0
atomigGeneric, convenient and lock-free `std` atomics via `Atomic<T>`. Can be used
with many primitive types (including floats) and…1,462,582MIT/Apache-2.0
pcscBindings to the PC/SC API for smart card communication1,375,576MIT
pcsc-sysLow-level bindings to the PC/SC C API1,345,619MIT
btleplugA Cross-Platform Rust Bluetooth Low Energy (BLE) GATT
library.1,331,265MIT/Apache-2.0/BSD-3-Clause
embedded-hal-busBus/Device connection mechanisms for embedded-hal, a Hardware Abstraction Layer (HAL) for embedded systems1,296,586MIT 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
yubihsmPure Rust client for YubiHSM2 devices with support for HTTP and
USB-based access to the device. Supports most HSM…1,205,384Apache-2.0 OR MIT
bluez-asyncAn async wrapper around the D-Bus interface of BlueZ (the Linux Bluetooth daemon), supporting GATT client (central) functionality.1,203,749MIT OR Apache-2.0
esp-backtraceBare-metal backtrace support for Espressif devices1,115,798MIT OR Apache-2.0
esp32s3Peripheral access crate for the ESP32-S31,106,821MIT OR Apache-2.0
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
nusbCross-platform low-level access to USB devices in pure Rust1,018,029Apache-2.0 OR MIT
stm32h7xx-halHardware Abstraction Layer implementation for STM32H7 series microcontrollers1,009,4590BSD
xtensa-lx-rtMinimal startup/runtime for Xtensa LX CPUs978,086MIT OR Apache-2.0
packed_simdPortable Packed SIMD vectors972,242MIT OR Apache-2.0
likely_stablelikely and unlikely compiler hints in stable rust961,500MIT OR Apache-2.0
libftdi1-sysFFI bindings for libftdi1951,688MIT
embassy-usbAsync USB device stack for embedded devices in Rust.945,430MIT OR Apache-2.0
acpiA pure-Rust library for interacting with ACPI925,554MIT/Apache-2.0
embassy-usb-synopsys-otg`embassy-usb-driver` implementation for Synopsys OTG USB controllers918,149MIT OR Apache-2.0
esp32c3Peripheral access crate for the ESP32-C3911,039MIT OR Apache-2.0
esp32s2Peripheral access crate for the ESP32-S2899,255MIT 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
pci-idsRust wrappers for the PCI ID Repository832,367MIT
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
aarch64-cpuLow level access to processors using the AArch64 execution state785,778MIT/Apache-2.0
stm32f4xx-halPeripheral access API for STM32F4 series microcontrollers783,7110BSD
esp32c6Peripheral access crate for the ESP32-C6783,241MIT OR Apache-2.0
fugit-timerA Count Down Timer abstaction that uses fugit time primitives775,778MIT OR Apache-2.0
embedded-nal-asyncAn Async Network Abstraction Layer (NAL) for Embedded Systems769,875MIT OR Apache-2.0
smart-ledsA crate to use smart-leds device drivers759,158MIT OR Apache-2.0
esp32c2Peripheral access crate for the ESP32-C2756,843MIT OR Apache-2.0
esp-idf-halA Hardware abstraction layer for Espressif's ESP family of microcontrollers based on the ESP-IDF framework.756,371MIT OR Apache-2.0
rp2040-halA Rust Embedded-HAL impl for the rp2040 microcontroller741,315MIT OR Apache-2.0
pkcs11Rust PKCS#11 Library732,719Apache-2.0
ftdi-mpsseRust helpers for the MPSSE on FTDI chips.728,057MIT
esp32h2Peripheral access crate for the ESP32-H2703,516MIT OR Apache-2.0
atsamd-halHAL and Peripheral access API for ATSAMD11, ATSAMD21, ATSAMD51, ATSAME51, ATSAME53 and ATSAME54 microcontrollers668,020MIT OR Apache-2.0
sbi-specDefinitions and constants in the RISC-V Supervisor Binary Interface (RISC-V SBI)655,562MulanPSL-2.0 OR MIT
bitintrPortable Bit Manipulation Intrinsics.642,958MIT
rdevListen and send keyboard and mouse events on Windows, Linux and MacOS.627,034MIT
sbi-rtRuntime library for supervisors to call RISC-V Supervisor Binary Interface (RISC-V SBI)626,199MulanPSL-2.0 OR MIT
esp-idf-svcImplementation of the embedded-svc traits for ESP-IDF (Espressif's IoT Development Framework)614,640MIT OR Apache-2.0
bt-hciBluetooth HCI data types611,548MIT OR Apache-2.0
embassy-nrfEmbassy Hardware Abstraction Layer (HAL) for nRF series microcontrollers602,434MIT OR Apache-2.0
qemu-exitExit QEMU with user-defined code591,570MIT OR Apache-2.0
embassy-stm32Embassy Hardware Abstraction Layer (HAL) for ST STM32 series microcontrollers589,506MIT OR Apache-2.0
probe-rsA collection of on chip debugging tools to communicate with microchips.575,551MIT OR Apache-2.0
ftdiA Rust wrapper over libftdi1 library for FTDI devices574,547MIT
embedded-display-controllerTraits for display controllers566,713MIT/Apache-2.0
probe-rs-targetTarget description schema for probe-rs.527,404MIT OR Apache-2.0
sgx-isaConstants and structures related to the Intel SGX ISA extension.
These definitions correspond to those found in the Intel…494,657MPL-2.0
primordialLow-level CPU primitives470,241Apache-2.0
yubikeyPure Rust cross-platform host-side driver for YubiKey devices from Yubico with
support for hardware-backed public-key decryption…433,210BSD-2-Clause
accelerometerGeneric, embedded-friendly accelerometer support, including
traits and types for taking readings from 2 or 3-axis
accelerometers…417,444Apache-2.0 OR MIT
esp-wifi-sysBindings to Espressif's WiFi and Bluetooth low-level drivers406,974MIT OR Apache-2.0
stm32-device-signatureDevice electronic signature 'driver' for STM32 microcontrollers393,511MIT OR Apache-2.0
rtccReal-time clock / calendar (RTC / RTCC) traits.390,684MIT OR Apache-2.0
atsame54pPeripheral access API for ATSAME54P microcontrollers (generated using svd2rust)388,515MIT OR Apache-2.0
esp-rom-sysROM code support388,399MIT OR Apache-2.0
core_detectA `no_std` version of the `std::is_x86_feature_detected!` macro.387,920MIT/Apache-2.0
bluetooth-hciImplementation of the Bluetooth HCI377,081MIT/Apache-2.0
atsame54_xproBoard Support crate for the SAM E54 Xplained Pro Evaluation Kit372,608MIT OR Apache-2.0
esp-bootloader-esp-idfFunctionality related to the esp-idf bootloader369,080MIT OR Apache-2.0
mips-mcuLow level access to MIPS MCU cores368,308MIT OR Apache-2.0
ft5336A platform agnostic driver for the FT5336 touch screen driver used on the STM32F746 Discovery board, built using the embedded-hal366,837MIT OR Apache-2.0
bluenrgInterface to ST Micro BlueNRG Bluetooth radios362,421MIT/Apache-2.0
hwlocality-sysLow-level bindings for the hwloc hardware locality library355,753MIT
embassy-rpEmbassy Hardware Abstraction Layer (HAL) for the Raspberry Pi RP2040 or RP235x microcontroller352,586MIT OR Apache-2.0
esp-hal-embassyEmbassy support for esp-hal340,882MIT OR Apache-2.0
smbus-pecMinimal portable implementation of SMBus Packet Error Code calculation algorithm.339,626MIT OR Apache-2.0
btuuidBluetooth UUID values334,814MIT OR Apache-2.0
hwlocalityIdiomatic Rust bindings for the hwloc hardware locality library329,132MIT
virtio-driversVirtIO guest drivers.322,520MIT
amlLibrary for parsing AML321,230MIT/Apache-2.0
rsdpZero-allocation library for locating and parsing the RSDP, the first ACPI table320,955MIT/Apache-2.0
cortex-aLow level access to Cortex-A processors301,225MIT/Apache-2.0
nrf-hal-commonImplementation details of the nRF HAL crates. Don't use this directly, use one of the specific HAL crates instead (`nrfXYZ-hal`).275,364MIT OR Apache-2.0
wdk-allocalloc support for binaries compiled with the Windows Development Kit (WDK)273,093MIT OR Apache-2.0
gt911An embedded touchscreen driver for GT911271,616Apache-2.0
avr-deviceRegister access crate for AVR microcontrollers269,269MIT OR Apache-2.0
port-expanderAbstraction for I2C port-expanders268,042MIT OR Apache-2.0
pci_typesLibrary with types for handling PCI devices265,960MIT/Apache-2.0
wdk-panicDefault panic handler implementations for programs built with WDK265,223MIT OR Apache-2.0
notedLibrary for creating ELF notes264,610Apache-2.0
simdeezSIMD library to abstract over different instruction sets and widths263,278Apache-2.0/MIT
libftd2xxRust safe wrapper around the libftd2xx-ffi crate.250,276MIT
edge-executorAsync executor suitable for embedded environments.249,220MIT OR Apache-2.0
trouble-hostAn async Rust BLE host235,197Apache-2.0 OR MIT
industrial-ioLinux Industrial I/O (IIO) Support234,564MIT
libiio-sysNative, unsafe, bindings to the Linux libiio library. Used by industrial-io.234,486MIT
sgxLibrary for Intel SGX232,343Apache-2.0
svd2rustGenerate Rust register maps (`struct`s) from SVD files231,180MIT OR Apache-2.0
trouble-host-macrosAn async Rust BLE host - Derive macros crate230,722Apache-2.0 OR MIT
perf-event-open-sys2Unsafe, direct bindings for Linux's perf_event_open system call, with associated
types and constants.219,949MIT OR Apache-2.0
stm32f1xx-halHAL for the STM32F1xx family of microcontrollers218,106MIT OR Apache-2.0
usize_castCompile time checked cast from and to `usize`/`isize`213,720MIT OR Apache-2.0
perf-event-dataTypes and traits for parsing records emitted by perf_event_open211,071MIT OR Apache-2.0
nrf-softdeviceRust interface to nRF SoftDevice207,362MIT OR Apache-2.0
device-registerA `no_std` library to describe the registers permissions of a device to ease driver development.206,977MIT OR Apache-2.0
nrf-softdevice-macroMacros for rust interface to nRF SoftDevice206,440MIT OR Apache-2.0
device-register-macroInternal macro lib for the `device-register` crate205,223MIT OR Apache-2.0
device-register-asyncA `no_std` library to describe the registers permissions of a device to ease async driver development.205,017MIT OR Apache-2.0
nrf-softdevice-s140Low-level bindings for the Nordic nRF SoftDevice S140204,518non-standard
arm-gicA driver for the Arm Generic Interrupt Controller version 2, 3 or 4.202,589MIT OR Apache-2.0
cache-sizeA library for finding your L1/L2/L3 cache sizes185,200BSD-3-Clause
usb-idsRust wrappers for the USB ID Repository176,935MIT
esp-wifiA WiFi, Bluetooth and ESP-NOW driver for use with Espressif chips and bare-metal Rust172,275MIT OR Apache-2.0
nrf-usbdUSB driver for nRF microcontrollers168,213MIT OR Apache-2.0
esp32s3-halHAL for ESP32-S3 microcontrollers161,363MIT OR Apache-2.0
s390_pv_cores390-tools IBM Secure Execution core utilities156,954MIT
stdintC99 stdint/stdio types for easier interop156,714BSD-2-Clause
s390_pvs390-tools IBM Secure Execution utilities156,577MIT
esp32s2-halHAL for ESP32-S2 microcontrollers155,999MIT OR Apache-2.0
device-driverA toolkit to write better device drivers, faster155,702MIT OR Apache-2.0
uwuifyfastest text uwuifier in the west154,146MIT
sensorsA Rust-friendly interface to lm-sensors151,216MirOS
keycodeA Rust crate for translating keycodes based on Chrome's mapping of keys.150,366MIT
archmageSafely invoke your intrinsic power, using the tokens granted to you by the CPU. Cast primitive magics faster than any mage alive.150,113MIT OR Apache-2.0
sgxs-loadersPlatform-specific loaders for SGX enclaves.
The following loaders are supported:
* SGX device (Linux)
* Enclave API (Windows)
*…142,347MPL-2.0
enclave-runnerHigh-level abstractions for secure enclaves, for any Fortanix EDP target140,109MPL-2.0
arm-pl011-uartArm PrimeCell UART (PL011) driver138,391MIT OR Apache-2.0
nrf52840-halHAL for nRF52840 microcontrollers136,952MIT OR Apache-2.0
atsamd21gPeripheral access API for ATSAMD21G microcontrollers (generated using svd2rust)135,897MIT OR Apache-2.0
safe_unaligned_simdSafe SIMD wrappers for unaligned load and store operations.134,898MIT OR Apache-2.0
rust_castLibrary that allows you to communicate with Google Cast enabled devices (e.g. Chromecast).133,094MIT
page_table_entryPage table entry definition for various hardware architectures129,386GPL-3.0-or-later OR Apache-2.0 OR MulanPSL-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