Udgaven af TinyUSB-projektet 0.19, der udvikler en platformuafhængig USB-stack til indlejrede systemer, er tilgængelig. Der leveres komponenter til USB-stakken for USB-værter (USB Host) og for tilsluttede enheder (USB Device). Projektkoden er skrevet i C og distribueres under MIT-licensen.
For at øge sikkerheden anvendes der ikke dynamisk hukommelsestildeling i TinyUSB. Det understøttes i multitrådede applikationer. For sikker multitrådet drift behandles alle hændelser relateret til afbrydelser ikke straks ved indgangen af ISR (Interrupt Service Request), men placeres i en queue, der behandles i konteksten af applikationens udførelse og ikke i afbryderbehandleren. Ved adgang til delte ressourcer, såsom FIFO CDC (Communication Device Class), anvendes semaforer og mutekser.
Stakken er abstraheret fra operativsystemet og kan bruges som en selvstændig komponent, uden relation til funktionaliteten i operativsystemerne. Der er moduler til integrering af TinyUSB med OS FreeRTOS, RT-Thread og Apache Mynewt. Mulighederne for energibesparelse understøttes, såsom overgang til dvaletilstand og opvågning ved aktivitet. Der er en grundlæggende implementering af PD 3.0 protokollen (Power Delivery) til at styre energioverførsel via USB Type-C.

TinyUSB giver mulighed for at tilføje understøttelse af egne klasser af USB-enheder og værter uden at ændre USB-stakken. Blandt de klasser af enheder, der allerede understøttes i TinyUSB, er:
- UAC2 — Audio Class 2.0;
- BTH HCI — Bluetooth Host Controller Interface;
- CDC — Communication Device Class;
- DFU — Device Firmware Update;
- HID — Human Interface Device (tastatur, mus, gamepad);
- MSC — Mass Storage Class (inklusive enheder med flere logiske enheder);
- MIDI — Musical Instrument Digital Interface;
- MTP/PTP — Media Transfer Protocol;
- RNDIS, ECM (Ethernet Control Model) og NCM (Network Control Model) — netværksinteraktion via USB;
- USBTMC — Test and Measurement Class;
- UVC — Video class 1.5;
- WebUSB.
Understøttede klasser af USB-værter:
- HID — Human Interface Device;
- MSC — Mass Storage Class;
- CDC-ACM — Communication Device Class;
- FTDI, CP210x, CH34x, PL2303 — seriel port over USB;
- USB Hub.
I den nye udgave er API'en til enheder og værter udvidet. USB-værtens implementering har fået understøttelse af enheder med flere konfigurationer. Understøttelse af mikrocontrollere og boards er blevet tilføjet:
- ESP32-H4, ESP32-C5, ESP32-C61;
- STM32U0, STM32WBA, STM32N6;
- AT32F405, AT32F403A, AT32F415, AT32F423;
- CH32V305 og CH32V20x (USB-vært);
- MCXA156 SDK 2.16 og FRDM-MCXA156.
Kilde: opennet.ru
