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 framework includes a comprehensive set of embedded components, featuring a hardware abstraction layer for peripherals like GPIO, SPI, I2C, and UART, alongside a TCP/IP network stack and a USB device stack. It also provides a Bluetooth Low Energy host stack for wireless communication and a bootloader framework t
libusb is a cross-platform user-space library that provides a consistent C API for discovering, configuring, and communicating with USB devices from applications. It abstracts operating-system-specific USB driver details behind a single interface that works on Linux, macOS, Windows, and other platforms, enabling developers to write portable USB code without platform-specific knowledge. The library supports both synchronous and asynchronous I/O models for USB transfers. Synchronous operations block the calling thread until a transfer completes, offering a straightforward sequential programming
This project is a reference library of firmware examples and a development framework for creating embedded C applications on the RP2040 microcontroller. It provides a collection of hardware peripheral drivers and foundational patterns for managing system resources in resource-constrained environments. The library features reference implementations for programmable I/O state machines, allowing for the creation of custom hardware-level protocols. It also provides a multicore embedded framework to distribute computational workloads across multiple processor cores using symmetric processing. The
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
TinyUSB
Les fonctionnalités principales de hathach/tinyusb sont : USB Device Stacks, USB Endpoint Transfers, USB Class Driver Plugin Interfaces, Embedded USB Host Stacks, USB Class Implementations, USB Host Class Implementations, Multi-Architecture MCU Stacks, USB Device Communication.
Les alternatives open-source à hathach/tinyusb incluent : embassy-rs/embassy — Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It… libusb/libusb — libusb is a cross-platform user-space library that provides a consistent C API for discovering, configuring, and… raspberrypi/pico-examples — This project is a reference library of firmware examples and a development framework for creating embedded C… qmk/qmk_firmware — This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM… earlephilhower/arduino-pico — This project provides a development framework that enables programming Raspberry Pi Pico microcontrollers using the… opentabletdriver/opentabletdriver — OpenTabletDriver is a user-mode graphics tablet driver and USB HID input manager that translates raw USB input from…