uploaded 1 month ago
USB Device UVC, Streaming Video to Host


[![Component Registry](](

## USB Device UVC Component

`usb_device_uvc` is a USB `UVC` device driver for ESP32-S2/ESP32-S3, which supports streaming JPEG frames to the USB Host. User can wrapper the Camera or any devices as a UVC standard device through the callback functions.


1. Support video stream through the UVC Stream interface
2. Support both isochronous and bulk mode
2. Support multiple resolutions and frame rates

### Add component to your project

Please use the component manager command `add-dependency` to add the `usb_device_uvc` to your project's dependency, during the `CMake` step the component will be downloaded automatically

``` add-dependency "espressif/usb_device_uvc=*"

### Examples

* [USB WebCamera: Make ESP32-S3-EYE as a USB Camera Device](


# ChangeLog

## v0.1.0 2024-2-20

* Break the bidirectional dependency with tinyusb

## v0.0.2 2023-12-06

* Add documentation :

## v0.0.1 Init version

* Support Isochronous and Bulk transfer
* Support multiple frame resolutions


License: Apache-2.0

To add this component to your project, run: add-dependency "espressif/usb_device_uvc^0.1.0"

or download archive


  • espressif/cmake_utilities *
  • espressif/tinyusb >=0.15.0~2
  • ESP-IDF >=4.4
  • leeebo/tinyusb_src >=0.15.0~6
  • Stats

    • Archive size
      Archive size: 13.33 KB
    • Downloaded in total
      Downloaded in total 33 times
    • Downloaded this version
      This version: 15 times


    espressif/usb_device_uvc version: 0.1.0