Available the project is tinyusb 0.19 , developing cross -plates of cross -plates USB glass for built-in systems. The components of the USB-shust USB (USB HOST) and for connected devices (USB Device) are provided. The project code is written in the language of SI and is distributed under the license mit.
to increase safety in TinyUSB, operations of dynamic memory allocation are not used. The use in multi -flow applications is supported. For safe multi -flow work, all events associated with the occurrence of interruptions are not immediately processed upon receipt of ISR (Interrupt Service Request), but placed in a queue that is disassembled and processed in the context of the application, and not the interrupt handler. When accessing jointly used resources, such as the FIFO CDC (Communication Device Class), semaphores and mightxes are used.
stack is abstracted from the operating system and can be used as a self -contained system A component that is not tied to the functionality of operating systems. At the same time, modules for tinyUSB integration with OS freertos , rt-thread apache mynewt . The possibilities of reducing energy consumption are supported, such as the transition to sleeping mode and awakening with the appearance of activity. There is the initial implementation of the PD 3.0 protocol (Power Delivery) to control electricity transmission through USB Type-C.

tinyusb allows you to add support for your own classes USB devices and hosts without modifying a USB-style. Among the devices that are already supported in TinyUSB classes:
- uac2 – Audio Class 2.0;
- BTH HCI – Bluetooth Host Controller Interface;
- Communication Device Class;
- dfu – device firmware update;
- hid – Human Interface Device (keyboard, mouse, gamepad);
- MSC – Mass Storage Class (including drives with several logical devices);
- MIDI – Musical Instrument Digital Interface;
- mtp/ptp – Media Transfer Protocol;
- rndis, ECM (Ethernet Control Model) and NCM and NCM) and NCM) (Network Control Model) – network interaction through USB;
- usbtmc – Test and Measurement class;
- uvc – Video class 1.5;
- webusb.
supported Classes of USB -hosts:
- hid – Human Interface Device;
- MSC – Mass Storage Class;
- CDC -acm – Communication Device Class;
- Ftdi, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, FTDI, CP210X, CH34X, PL2303 – a sequential port over the USB;
- usb hub.
The API for devices and hosts has been expanded in the new issue. In the implementation of the USB-host, support for devices with several configurations has appeared. Added support of microcontrollers and board:
- ESP32-H4, ESP32-C5, ESP32-C61;
- STM32U0, STM32WBA, STM32N6;
- AT32F405, AT32F403A, AT32F403A, AT32F403A, AT32F403A, AT32F403A, AT32F403A, AT32F403A, AT32F403A, AT32F403A AT32F415, AT32F423;
- CH32V305 and CH32V20X (USB HOST);
- MCXA156 SDK 2.16 and FRDM-MCXA156.