awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
hathach avatar

hathach/tinyusb

0
View on GitHub↗
www.tinyusb.org↗

Tinyusb

TinyUSB

Features

  • USB Device Stacks - Adds USB device functionality to microcontrollers so they can act as keyboards, drives, or serial ports.

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI
  • USB Endpoint Transfers - Provides the fundamental USB data transfer mechanism via endpoint read/write operations.
  • USB Class Driver Plugin Interfaces - Provides a fixed callback table for registering custom USB class drivers without modifying core stack code.
  • Embedded USB Host Stacks - Drives USB peripherals like keyboards, mice, and storage devices directly from a microcontroller without a host computer.
  • USB Class Implementations - Implements standard USB device classes such as HID, CDC, MSC, and Audio without dynamic allocation.
  • USB Host Class Implementations - Implements host-side USB class drivers for HID, MSC, CDC-ACM, and serial adapters.
  • Multi-Architecture MCU Stacks - Compiles and runs a single USB stack across a wide range of MCU architectures from different manufacturers.
  • USB Device Communication - Implements low-level USB device communication for host enumeration and class protocol exchanges.
  • Custom USB Class Driver Registrations - Ships a plugin interface for registering custom USB class drivers without modifying core stack code.
  • Standard USB Device Emulations - Emulates standard USB device classes like HID, MSC, and CDC for host enumeration.
  • USB Device Stack Initializations - Provides initialization routines for USB device controllers across supported microcontrollers.
  • USB Host Communications - Provides host-mode USB communication to drive peripherals like keyboards and storage devices.
  • USB Host Emulations - Emulates a USB host controller to drive peripherals like keyboards and mass storage devices.
  • USB Host Stack Initializations - Provides initialization routines for USB host controllers across supported microcontrollers.
  • USB Power Delivery Contract Negotiations - Implements USB Power Delivery 3.0 contract negotiation for power sourcing and sinking.
  • USB Power Delivery Managers - Negotiates and manages power contracts over USB Type-C using the Power Delivery 3.0 protocol on embedded hardware.
  • USB Power Delivery Protocol Engines - Implements USB PD 3.0 message passing and state machine for negotiating power contracts over Type-C connections.
  • USB Power Delivery Stacks - Provides an embedded USB Power Delivery 3.0 stack that negotiates and manages power contracts over USB Type-C.
  • Hardware Abstraction Layers - Wraps MCU-specific USB controller registers behind a hardware abstraction layer for portability across architectures.
  • Microcontroller USB Libraries - Provides a portable USB library that compiles across diverse microcontroller architectures from different manufacturers.
  • Runtime Descriptor Switches - Switches between multiple USB device descriptor sets at runtime to present different device profiles.
  • Runtime USB Configuration Switches - Supports runtime switching between multiple USB device configurations via descriptor changes.
  • Custom Class Driver Registrations - Enables writing and registering custom USB class drivers for device or host mode without modifying core stack code.
  • USB Low-Power State Handlings - Handles USB suspend, resume, and remote wakeup signals for power conservation.
  • RTOS-Agnostic Implementations - Works on bare metal or with FreeRTOS, RT-Thread, or Mynewt without changing the USB code.
  • RTOS-Agnostic Interrupt Handlers - Delegates interrupt handling to a central queue and uses semaphores to work without an OS or with FreeRTOS, RT-Thread, or Mynewt.
  • Centralized Interrupt Queues - Delegates USB interrupt service routines to a central queue processed by the application thread.
  • Compile-Time Buffer Allocations - Pre-allocates all endpoint buffers and control structures at compile time for deterministic memory usage.
  • C Object-Oriented Frameworks - Organises USB protocol handling into device and host stacks using C structs with function pointers for polymorphism.
  • Sistemas embebidos - Embedded USB stack.
  • Controladores de hardware - Cross-platform USB stack for embedded systems.
  • 6,524 estrellas·1,362 forks·C·mit·3 vistas

    Historial de estrellas

    Gráfico del historial de estrellas de hathach/tinyusbGráfico del historial de estrellas de hathach/tinyusb

    Alternativas open-source a Tinyusb

    Proyectos open-source similares, clasificados según cuántas características comparten con Tinyusb.
    • embassy-rs/embassyAvatar de embassy-rs

      embassy-rs/embassy

      8,813Ver en GitHub↗

      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

      Rustasyncdriversembedded
      Ver en GitHub↗8,813
    • libusb/libusbAvatar de libusb

      libusb/libusb

      6,085Ver en GitHub↗

      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

      C
      Ver en GitHub↗6,085
    • raspberrypi/pico-examplesAvatar de raspberrypi

      raspberrypi/pico-examples

      3,835Ver en GitHub↗

      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

      C
      Ver en GitHub↗3,835
    • qmk/qmk_firmwareAvatar de qmk

      qmk/qmk_firmware

      20,478Ver en GitHub↗

      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

      Catmel-avrcc-plus-plus
      Ver en GitHub↗20,478
    Ver las 30 alternativas a Tinyusb→

    Preguntas frecuentes

    ¿Qué hace hathach/tinyusb?

    TinyUSB

    ¿Cuáles son las características principales de hathach/tinyusb?

    Las características principales de hathach/tinyusb son: 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.

    ¿Qué alternativas de código abierto existen para hathach/tinyusb?

    Las alternativas de código abierto para hathach/tinyusb incluyen: 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…