πŸ“ˆ GH Trending Explorer 🎲 Surprise me

← all repos

hathach / tinyusb

git clone https://github.com/hathach/tinyusb.git 0.21.0 Β· 3mo ago πŸ”₯ on GitHub Trending today

An open source cross-platform USB stack for embedded system

β€”
stars, 24h
β€”
stars, 7 days
+121
stars, 30 days Β· #1,923
7.2k
β˜… total
1.6k
forks Β· 398 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageC
LicenseMIT
Created2012-11-26 (13y ago)
Last pushtoday
Watchers139
OwnerUser

Seen on GitHub Trending

  • 2026-10-20 β€” #11 monthly in c Β· +121 β˜…

GitHub topics

Links

README excerpt
TinyUSB
=======
|Sponsor| |License| |Build Status| |CircleCI Status| |Documentation Status| |Static Analysis| |Fuzzing Status| |Membrowse| |CodeRabbit| |Greptile|
Overview
--------
.. figure:: docs/assets/logo.svg
 :alt: TinyUSB
 :align: left
.. raw:: html
TinyUSB is an open-source cross-platform USB Host/Device stack for embedded systems. It’s designed for memory safety
(no dynamic allocation) and thread safety (all interrupts deferred to non-ISR task functions). The stack emphasizes portability,
small footprint, and real-time performance across 50+ MCU families.
Sponsors
--------
TinyUSB's continued development is made possible by its sponsors. If TinyUSB helps your products or projects, consider funding its development on `GitHub Sponsors`_.
Platinum
^^^^^^^^
`Adafruit`_ has backed TinyUSB since day one as its founding and sole Platinum sponsor. Buying their products directly funds the project's development.
.. figure:: docs/assets/adafruit_logo.svg
 :alt: Adafruit Logo
 :align: left
 :target: https://www.adafruit.com
.. raw:: html
Sponsors (QWORD)
^^^^^^^^^^^^^^^^
.. QWORD-SPONSORS-START
*No QWORD sponsors yet β€” be the first!*
.. QWORD-SPONSORS-END
Backers (DWORD)
^^^^^^^^^^^^^^^
.. DWORD-BACKERS-START
*No backers yet β€” be the first!*
.. DWORD-BACKERS-END
Supporters (Word)
^^^^^^^^^^^^^^^^^
.. WORD-SUPPORTERS-START
cee\*\*\*\*
.. WORD-SUPPORTERS-END
Thanks (Byte)
^^^^^^^^^^^^^
.. BYTE-THANKS-START
`@8086net `__, `@GCRev `__
.. BYTE-THANKS-END
.. _GitHub Sponsors: https://github.com/sponsors/hathach
.. _Adafruit: https://www.adafruit.com
Key Features
------------
* **Thread-safe:** USB interrupts deferred to task context
* **Memory-safe:** No dynamic allocation, all buffers static
* **Portable:** Supports 50+ MCU families
* **Comprehensive:** Includes CDC, HID, MSC, Audio, and Host support
* **RTOS-friendly:** Works with bare metal, FreeRTOS, RT-Thread, and Mynewt
.. figure:: docs/assets/stack.svg
 :width: 500px
 :align: left
 :alt: stackup
.. raw:: html
::
 .
 β”œβ”€β”€ docs # Documentation
 β”œβ”€β”€ examples # Examples with make and cmake build system
 β”œβ”€β”€ hw
 β”‚ β”œβ”€β”€ bsp # Supported boards source files
 β”‚ └── mcu # Low level mcu core & peripheral drivers
 β”œβ”€β”€ lib # Sources from 3rd party such as FreeRTOS, FatFs ...
 β”œβ”€β”€ src # All sources files for TinyUSB stack itself.
 β”œβ”€β”€ test # Tests: unit test, fuzzing, hardware test
 └── tools # Files used internally
Getting started
---------------
See the `online documentation `_ for information about using TinyUSB and how it is implemented.
Check out `Getting Started`_ guide for adding TinyUSB to your project or building the examples. If you are new to TinyUSB, we recommend starting with the ``cdc_msc`` example. There is a handful of `Supported Boards`_ that should work out of the box.
We use `GitHub Discussions `_ as our forum. It is a great place to ask questions and advice from the community or to discuss your TinyUSB-based projects.
For bugs and feature requests, please `raise an issue `_ and follow the templ