This is your work, valued
kbremap. Custom keyboard layouts for windows.
★ 46embedded-can. An embedded Controller Area Network (CAN) abstraction layer
★ 15tbl. tiny bencode library
★ 9psx-usb. USB adapter for Playstation DualShock controllers or BlueRetro.
★ 8winmsg-executor. Per-thread async rust executor for windows
★ 6pcan-basic-rs. PCAN-Basic Rust Interface
★ 6data-collector. Configurable Modbus client which sends the collected data to InfluxDB
★ 2usb-pd-lib-embassy. Attempt to implement USB PD Sink with embassy
★ 2stm32f1xx-hal. A Rust embedded-hal HAL impl for the STM32F1 family based on japarics stm32f103xx-hal
★ 1leasehund. 🐶 Embedded DHCP Server Library
★ 19puncover. Analyses C/C++ build output for code size, static variables, and stack usage
★ 582mixed-precision-dsp. Header-only mixed-precision DSP library for C++20
★ 2chenal. Performant channel implementations
★ 4BLE-Analyzer-pro-linux-capture. I reverse engineered the BLE Analyzer pro USB and created a linux capturing tool.
★ 74zeptos. A tiny runtime for async Rust on Cortex-M microcontrollers.
★ 2QCBOR. Comprehensive, powerful, commercial-quality CBOR encoder/ decoder that is still suited for small devices.
★ 236Mouser. A lightweight, open-source, fully local alternative to Logitech Options+ for remapping Logitech HID++ mice.
★ 5kblerp. BLERP: BLE Re-Pairing Attacks and Defenses
★ 21zmx. Session attach/detach for the terminal
★ 2kgameboy. DMG-01 Emulator in Rust
★ 55rp2350-gameboy-cartridge-firmware. Firmware for the Croco Cartridge V2
★ 38gbinterceptor. Capture or stream Game Boy gameplay footage via USB without modifying the Game Boy.
★ 537robust-pid. Production-grade PID controller for safety-critical systems
★ 6yap. A friendly serial terminal application.
★ 131hass-FindMy. Custom Home Assistant integration for Apple's FindMy network.
★ 224FindMy. Query Apple's Find My network
★ 713realtime-embedded-conferences. Tracking conferences in Real-time Embedded Systems, Design Automation, Cyber-Physical Systems and Robotics!
★ 134idsp. Rust DSP algorithms. Often integer math. no-std.
★ 69nacfahi. Rust
★ 3Sniffle. A sniffer for Bluetooth 5 and 4.x LE
★ 1.1kbumble. Python
★ 536libcyphal. Portable reference implementation of the Cyphal protocol stack in C++ for embedded systems and Linux.
★ 325UTL. Collection of self-contained header-only libraries for C++17
★ 337corrosion. Marrying Rust and CMake - Easy Rust and C/C++ Integration!
★ 1.5kpacketry. A fast, intuitive USB 2.0 protocol analysis application for use with Cynthion.
★ 278usbpd. USB power-delivery crate
★ 27psx-sdk-rs. Rust SDK targeting the original Playstation
★ 114ble-peripheral-rust. A cross-platform Rust crate for building Bluetooth Low Energy peripherals
★ 61rp2040-gameboy-cartridge-firmware. Firmware for the Croco Cartridge
★ 137beyond-ble-tools. Tools for Working with the CC13XX and CC26XX RF Core
★ 83FoA. Ferris-on-Air: An experimental IEEE 802.11 (WLAN) stack for rust on the ESP32.
★ 266wsl2windows-runner. A cargo target runner for use on Windows to build in WSL2 and run the output .exe in Windows.
★ 18windows-certs-2-wsl. PowerShell
★ 157wae. An async executor based on the Win32 thread pool API
★ 13exhubris. Making Hubris available to external applications.
★ 55intentrace. intentrace is strace with intent, it goes all the way for you instead of half the way. intentrace is currently in beta
★ 654rmk. Rust keyboard firmware library with layers, macros, real-time keymap editing, wireless(BLE) and split support
★ 1.7ksogen. 🪅 Windows & Linux userspace emulator
★ 3.4kRustBird. Early Bird APC Injection in Rust
★ 65nrf-sdc. Rust bindings for the nRF SoftDevice Controller
★ 57suntastic. An ultra low-power management board for IoT devices
★ 12bt-hci. Rust types for the Bluetooth HCI (Host Controller Interface) specification, and traits for implementing the Controller part of the interface.
★ 51trouble. A Rust BLE Host stack
★ 437rusty. Structured Text Parser and LLVM Frontend
★ 352clmulk. Compile a carryless product by constant into a xorshift seqeuence
★ 2nexosim. High-performance asynchronous computation framework for system simulation
★ 293esphome-yeelight-ceiling-light. ESPHome custom firmware for ESP32 based Yeelight Ceiling Lights
★ 220kanal. The fast sync and async channel that Rust deserves
★ 1.7kasync-task. Task abstraction for building executors
★ 597windows-executor. windows message loop driven rust async executor
★ 5offset-allocator. A port of Sebastian Aaltonen's `OffsetAllocator` to Rust
★ 433picoserve. An async no_std HTTP server suitable for bare-metal environments, heavily inspired by axum
★ 389fitterbap. Common utilities useful for embedded systems that are often not included in an RTOS or the standard C library.
★ 27sequential-storage. A crate for storing data in flash memory with minimal need for erasing pages
★ 182aerugo. Safety-critical applications oriented Real-Time Operating System written in Rust
★ 297dfu-buddy. Cross-platform GUI utility for device firmware updates (DFU) via USB.
★ 75assign-resources. Rust macro to split up fields of a Peripherals struct into new structs
★ 57coz. Coz: Causal Profiling
★ 4.5kPeanut-GB. A very fast and portable Game Boy (DMG) emulator single header library written in C99.
★ 511rellume. Lift machine code to performant LLVM IR
★ 511Azayaka. A cycle-accurate Game Boy and Game Boy Color Emulator, with rewind feature.
★ 42gameroy. A Game Boy emulator, disassembler and debugger, written in Rust
★ 309hacs-e3dc. Homeassistant E3DC Integration
★ 120stm32-uart-boot. Rust crate and tool for interacting with STM32 bootloader
★ 14nusb. A new pure-Rust library for cross-platform low-level access to USB devices.
★ 507Nesiac. Embedded memory usage analyser
★ 32fak. F.A. Keyboard Firmware
★ 223yazi. 💥 Blazing fast terminal file manager written in Rust, based on async I/O.
★ 41kScylla. Ergonomic mechanical keyboard
★ 367LOGITacker. Enumerate and test Logitech wireless input devices for vulnerabilities with a nRF52840 radio dongle.
★ 741yapicoprobe. Yet Another Picoprobe
★ 213hookmap. Registers hotkeys and simulates keyboard and mouse input.
★ 16bilge. Use bitsized types as if they were a feature of rust.
★ 198wii-ext-rs. Wiimote Extension Controller (nunchuk, classic controller) driver for Rust embedded-hal traits
★ 10static-alloc. Data structures like Rust `alloc` which reuse user allocated memory
★ 63canopen. Rust
★ 2sol2. Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:
★ 5.1krusty-probe-firmware. Rust
★ 73Pico-PIO-USB. USB host/device implementation using PIO of raspberry pi pico (RP2040/RP2350).
★ 1.7kekv. Key-value store for embedded systems, for raw NOR flash, using an LSM-Tree.
★ 120tcobs. 🗜 Compression with elimination of zeroes ⓿, optimized for data with a bit more 00 and FF bytes, as messages often carry 16, 32 or 64 bit numbers with small values.
★ 31statig. Hierarchical state machines for designing event-driven systems
★ 794BlueRetro. Multiplayer Bluetooth controllers adapter for retro video game consoles & computers
★ 1.8kAnyAny. C++17 library for comfortable and efficient dynamic polymorphism
★ 505FTXUI. :computer: C++ Functional Terminal User Interface. :heart:
★ 11kmycelium. 🍄 an alleged 'operating system'
★ 757capsicain. Powerful low-level keyboard remapping tool for Windows
★ 452edfsm. Rust
★ 37stm32-emulator. Rust
★ 433kanata. Improve keyboard comfort and usability with advanced customization
★ 7.7kcan2040. Software CAN bus implementation for rp2040 micro-controllers
★ 857usb-sniffer-lite. A simple USB sniffer based on Raspberry Pi RP2040
★ 693smartknob. Haptic input knob with software-defined endstops and virtual detents
★ 22krp2040-doom. Fully-featured Doom port for the Raspberry Pi RP2040 microcontroller
★ 923ucity. The open-source city building game for Game Boy Color.
★ 474DBGC. A Game Boy cartridge using the Raspberry Pi RP2040 with RTC and MBC support.
★ 56coca. Allocation-free data structures that make do with the memory they're given
★ 146littlefs. A little fail-safe filesystem designed for microcontrollers
★ 6.9knb-executor. Single-future, #![no_std] executor based on event bitmasks
★ 23lilos. A wee async RTOS for Cortex-M
★ 831hubris. A lightweight, memory-protected, message-passing kernel for deeply embedded systems.
★ 3.6kReNeo. Neo-Tastaturlayouts für Windows
★ 60kbdasm. Assembler/disassembler of Windows keyboard layouts in flat assembler
★ 95native-windows-gui. A light windows GUI toolkit for rust
★ 2.1kfdcan. FDCAN peripheral driver for STM32 chips
★ 15tray-item-rs. Multi-platform Tray Indicator
★ 328smoltcp. a smol tcp/ip stack
★ 4.6kpns. run commands in a podman pod or container namespace
★ 5onetun. User space WireGuard port-forward in Rust
★ 1krlsf. Constant-time dynamic memory allocator in Rust
★ 124EMS-ESP32. ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps
★ 986cargo-rtic-scope. Non-intrusive ITM tracing/replay toolset for RTIC programs with nanosecond timestamp accuracy.
★ 18mqttrs. Async Mqtt encoder and decoder for rust.
★ 150tracksb. A DIY, IMU-based skateboard activity tracker
★ 30airtag-re. Airtag RE (**NO FIRMWARE** IN REPO)
★ 235nrfdfu-rs. An implementation of the nRF bootloader protocol
★ 24ahrs. Attitude and Heading Reference Systems in Python
★ 718eskf-rs. Navigation filter based on an Error State Kalman Filter
★ 29zmk. ZMK Firmware Repository
★ 4.2kprepona. A graph crate with simplicity in mind
★ 89bluetooth-hci. Bluetooth HCI implementation for embedded Rust
★ 54py-bluetooth-utils. Python module containing bluetooth utility functions, in particular for easy BLE scanning and advertising
★ 72ATC_MiThermometer. Custom firmware for the Xiaomi Thermometers and Telink Flasher
★ 4.2kescher. Self-referencial structs using the async/await transformation
★ 44btleplug. Rust Cross-Platform Host-Side Bluetooth LE Access Library
★ 1.2ktimely-dataflow. A modular implementation of timely dataflow in Rust
★ 3.6krkyv. Zero-copy deserialization framework for Rust
★ 4.3krustdhipv2. A prototype implementation of the Host Identity Protocol v2 for bare-metal systems, written in pure-rust.
★ 44drogue-device. A distribution of tools and examples for building embedded IoT applications in Rust
★ 204CMSIS-DAP_for_STLINK-V3MINI. High-Speed CMSIS-DAP for STLINK-V3MINI ARM Debugger STM32F723IEK6
★ 209stm32wb-hal. [WIP] embedded-hal for the STM32WB family of microcontrollers
★ 20direct-executor. Rust
★ 10jitboy. A Game Boy emulator with dynamic recompilation (JIT)
★ 319hs-probe-firmware. A CMSIS-DAP implementation in pure Rust.
★ 85canadensis. A Rust implementation of Cyphal
★ 60tranquility. Design for a ergo split keyboard case
★ 42hs-probe.
★ 145ffp. iCE40 FPGA, SPI flash, and CMSIS-DAP SWD programmer
★ 73nrf-softdevice. Rust
★ 334min-sized-rust-windows. :crab: 464b rust binary on windows
★ 243typing_model. HTML
★ 20white_keyboard_layout. An optimized personal keyboard layout and the tools to create your own
★ 103bxcan. bxCAN peripheral driver for STM32 chips
★ 39radio-hal. Embedded rust radio abstraction crate
★ 74mini-slcan. Serial Line CAN (SLCAN) protocol codec
★ 3stm32ral. Register access layer in Rust for all STM32 microcontrollers
★ 34embassy. Modern embedded framework, using Rust and async.
★ 9.6kprobe-run. Run embedded programs just like native ones
★ 646libcanard. A compact implementation of the Cyphal/CAN protocol in C for high-integrity real-time embedded systems
★ 438defmt. Efficient, deferred formatting for logging on embedded systems
★ 1.2krust-psp. Rust on PSP. Panic and allocation support. Access PSP system libraries.
★ 815blinq. A Blinking Queue
★ 19embedded-time. Time(ing) library (Instant/Duration/Clock/Timer/Period/Frequency) for bare-metal embedded systems
★ 93bbqueue. A SPSC, lockless, no_std, thread safe, queue, based on BipBuffers
★ 503lora-rs. LoRa and LoRaWAN crates for End Devices
★ 463libuavesp. UAVCAN library for Espressif microcontrollers. (Arduino SDK)
★ 17sqlite32grafana. Publish sqlite3 tables to grafana/simple-json-datasource for visualization and exploration
★ 5WireViz. Easily document cables and wiring harnesses.
★ 5.2kplatform_specific_components. Low-level components and hardware drivers for various Cyphal-related projects
★ 79cobs.rs. Consistent Overhead Byte Stuffing
★ 5navidrome. 🎧 Your Personal Streaming Service
★ 23kDieBieMS. Electric skateboard oriented battery management system.
★ 370lpc8xx-hal. Hardware Abstraction Layer (HAL) for NXP LPC800 series of microcontrollers, written in the Rust programming language
★ 35atat. no_std crate for parsing AT commands
★ 142splinter. A series of patches (one per branch) on top of the Ninja project's codebase. Updated periodically.
★ 6probe-rs. A debugging toolset and library for debugging embedded ARM and RISC-V targets on a separate host
★ 2.9khidviz. A tool for in-depth analysis of USB HID devices communication
★ 604modbus-core. A pure no-std Rust modbus library
★ 62Kalman-and-Bayesian-Filters-in-Python. Kalman Filter book using Jupyter Notebook. Focuses on building intuition and experience, not formal proofs. Includes Kalman filters,extended Kalman filters, unscented Kalman filters, particle filters, and more. All exercises include solutions.
★ 19kcharge-controller-firmware. Firmware for Libre Solar MPPT/PWM charge controllers
★ 184tokio-modbus. A tokio-based modbus library
★ 556sip_call. SIP client for ESP32 to initiate a phone call from a door bell
★ 306c-multithreaded-client-server. A C implementation of multithreaded client-server.
★ 39thelounge. 💬 Modern, responsive, cross-platform, self-hosted web IRC client
★ 6.3ksealed-rust. Bringing Rust to the Safety Critical Domain
★ 218toml11. TOML for Modern C++
★ 1.3kcyphal.rs. Please use Canadensis by Sam Crow instead
★ 47specification. The Cyphal specification documents are maintained here.
★ 44smlang-rs. A State Machine Language DSL procedual macro for Rust
★ 243nrf-hal. A Rust HAL for the nRF family of devices
★ 602qpc. QP/C Real-Time Event Framework/RTOS implements event-driven Active Object (Actor) model combined with Hierarchical State Machines. Specifically designed for embedded systems (e.g., ARM Cortex-M MCUs).
★ 1.3krtic. Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers
★ 2.4kbleeding-edge-toolchain. All-in-one script to build bleeding-edge-toolchain for ARM microcontrollers
★ 81rubble. (going to be a) BLE stack for embedded Rust
★ 403etl. Embedded Template Library
★ 3.1kembedded-hal. A Hardware Abstraction Layer (HAL) for embedded systems
★ 2.6kheapless. Heapless, `static` friendly data structures
★ 2kcortex-m. Low level access to Cortex-M processors
★ 992sml. C++14 State Machine library
★ 1.4k