# TinyUSB

An open-source, cross-platform USB host and device stack for embedded systems, built for memory safety and real-time performance across more than fifty microcontroller families.

TinyUSB is an open-source cross-platform USB Host and Device stack for embedded systems. It is designed for memory safety, using no dynamic allocation, and for thread safety, deferring all interrupts to non-ISR task functions, while emphasizing portability, a small footprint, and real-time performance.

It supports over fifty MCU families and works bare metal or with FreeRTOS, RT-Thread, and Mynewt, with built-in support for classes including CDC, HID, MSC, and Audio, plus host mode. The project is organized into board support files, low-level MCU drivers, third-party sources such as FreeRTOS and FatFs, and the core TinyUSB stack itself, alongside unit tests, fuzzing, and hardware tests.

Website: https://www.tinyusb.org
