Na voljo je izdaja projekta TinyUSB 0.19, ki razvija večplatformski USB sklad za vgrajene sisteme. Na voljo so komponente USB sklada za USB gostitelje (USB Host) in za priključene naprave (USB Device). Koda projekta je napisana v jeziku C in je licencirana pod MIT licenco.
Za povečano varnost TinyUSB ne uporablja dinamičnega dodeljevanja pomnilnika. Podpira uporabo v večnitnih aplikacijah. Za varno delovanje v večnitnem okolju se vsi dogodki, povezani s prekinitvami, ne obravnavajo takoj ob prejemu ISR (Interrupt Service Request), temveč se postavijo v vrsto, ki se obravnava in predela v okviru izvajanja aplikacije, ne v okviru obdelovalca prekinitve. Pri dostopu do deljenih virov, kot je FIFO CDC (Communication Device Class), se uporabljajo semaforji in mutexi.
Sklad je abstrakten od operacijskega sistema in se lahko uporablja kot samostojna komponenta, brez vezave na funkcionalnosti operacijskih sistemov. Na voljo so tudi moduli za integracijo TinyUSB z OS FreeRTOS, RT-Thread in Apache Mynewt. Podprte so funkcije za zmanjšanje porabe energije, kot so prehod v način mirovanja in prebuditev ob aktivaciji. Na voljo je začetna implementacija protokola PD 3.0 (Power Delivery) za upravljanje prenosa električne energije prek USB Type-C.

TinyUSB omogoča dodajanje podpore za lastne razrede USB naprav in gostiteljev brez spremembe USB sklada. Med razredi naprav, ki jih že podpira TinyUSB, so:
- UAC2 — Razred zvoka 2.0;
- BTH HCI — Bluetooth gostiteljski vmesnik;
- CDC — Razred komunikacijskih naprav;
- DFU — Posodobitev programske opreme naprave;
- HID — Naprava za človeški vmesnik (tipkovnica, miška, gamepad);
- MSC — Razred masovnega shranjevanja (vključno z napravami z več logičnimi napravami);
- MIDI — Digitalni vmesnik za glasbene instrumente;
- MTP/PTP — Protokol za prenos medijev;
- RNDIS, ECM (Model nadzora Ethernet) in NCM (Model nadzora omrežja) — omrežno delovanje prek USB;
- USBTMC — Razred testiranja in merjenja;
- UVC — Video razred 1.5;
- WebUSB.
Podprti razredi USB gostiteljev:
- HID — Naprava za človeški vmesnik;
- MSC — Razred masovnega shranjevanja;
- CDC-ACM — Razred komunikacijskih naprav;
- FTDI, CP210x, CH34x, PL2303 — posredovanje serijskega priključka prek USB;
- USB Hub.
V novi izdaji je razširjen API za naprave in gostitelje. V implementaciji USB gostitelja je podpora za naprave z več konfiguracijami. Dodana je podpora za mikrokontrolerje in plošče:
- ESP32-H4, ESP32-C5, ESP32-C61;
- STM32U0, STM32WBA, STM32N6;
- AT32F405, AT32F403A, AT32F415, AT32F423;
- CH32V305 in CH32V20x (USB host);
- MCXA156 SDK 2.16 in FRDM-MCXA156.
Izvor: opennet.ru
