uploaded 1 week ago
TinyUSB ported to Espressif's SoCs


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.14.2" # Automatically update bugfix releases. TinyUSB does not guarantee backward compatibility

Or simply run: add-dependency "tinyusb~0.14.2"

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.14.3"

or download archive


  • ESP-IDF >=5.0
  • Stats

    • Downloaded in total
      Downloaded in total 24.2k times
    • Downloaded this version
      This version: 1.8k times


    espressif/tinyusb version: 0.14.3 |