Showing results for 
Search instead for 
Did you mean: 

About stm32 usb uvc data transmission

Associate II


Hope you doing all are well.......

Presently am working on Stm32f746ZG NUCLEO board. am working on usb uvc communication between MCU and i need to send image/video data on usb using uvc protocol.

I got some developed code from lepton but it is developed to f4 controllers. i took library files and attached to f7 project. and there is no compilation errors.and camera port also detecting in my system.

I have done CDC_transmit(serial communication) also it is working fine messages are printing on my console.but when i started UVC_transmit function my port is disabling and am getting hard fault handler.

st is developed any libraries for video steaming using UVC class???????

please find the attachment for UVC libraries.

Associate II


Using the ST32429_EVAL1 board with a OV2640 sensor, I am able to send a 480*272 YUV video to VLC on my win10 computer at 5 images per second.

I am not expert in USB, I used work from Gvigelet.

I use USB in HS mode with ULPI;

Call uint8_t USBD_UVC_Transmit(USBD_HandleTypeDef *pdev, uint8_t *pbuff, uint32_t length, uint32_t lTime) every 200ms. pBuff must aligned((4)) .

Hope, it can help

Associate III


it is a shame that CubeMX does not support a video class (uvc) for USB or a combination of several device classes. After one day of searching examples i found a "software pack" for CubeMX:

alambe94/I-CUBE-USBD-Composite: Create STM32 USB Composite devices with ease. (

here a small uvc example I created:

mkoenig334455/-USB_Video_STM32F407VGTX: STM32F407VGTX + USB3310 example / enumerate as webcam and show 2 pictures as videostream ( 


ST, please support this project and promote it, so we all can save lifetime!





I use:

CubeMX 6.10.0

CubeIDE 1.14.0

Processor: STM32F407VGT + PHY USB3310