# Espressif TinyUSB fork

This is a fork of upstream [TinyUSB]( with integration into ESP-IDF build system.
It is used mostly for rapid bugfixing and for releases independent from the upstream project.
We try to push all bugfixes and features to the upstream.

## How to use

There are two options of using TinyUSB with Espressif's SoCs.

### 1. Use this component together with [Espressif TinyUSB additions](

This is identical approach as in ESP-IDF 4.x releases. You can configure TinyUSB using Kconfig, as usual. Just add ``idf_component.yml`` to your main component with the following content::

## IDF Component Manager Manifest File
  esp_tinyusb: "^1.0.0" # Automatically update minor releases

Or simply run:
``` add-dependency "esp_tinyusb^1.0.0"
### 2. Use TinyUSB only, without the [additions](

Use this option for custom TinyUSB applications.
In this case you will have to provide configuration header file ``tusb_config.h``. More information about TinyUSB configuration can be found [in official TinyUSB documentation](

You will also have to tell TinyUSB where to find the configuration file. This can be achieved by adding following CMake snippet to you main component's ``CMakeLists.txt``:

idf_component_get_property(tusb_lib espressif__tinyusb COMPONENT_LIB)
target_include_directories(${tusb_lib} PRIVATE path_to_your_tusb_config)

Again, you can add this component to your project by adding ``idf_component.yml`` file:

## IDF Component Manager Manifest File
  tinyusb: "~0.15.1" # Automatically update bugfix releases. TinyUSB does not guarantee backward compatibility

Or simply run:
``` add-dependency "tinyusb~0.15.1"

README from the upstream TinyUSB can be found in [hathach/tinyusb/README](

License: MIT

To add this component to your project, run: add-dependency "espressif/tinyusb^0.15.0~5"

or download archive


  • ESP-IDF >=5.0
  • Stats

    • Downloaded in total
      Downloaded in total 82.3k times
    • Downloaded this version
      This version: 1.5k times


    espressif/tinyusb version: 0.15.0~5 |