Functional advice: add UVC in P0 and P1

The STM32F7/H7 has two USB ports, one is FS with PHY, which is now used for programming; the other is HS, although there is no HS PHY, but there is also a built-in FS PHY.

P0 and P1 pins are HS USB pins, so, we can use the P0 and P1 pins to implement another USB device, such as a UVC camera.

We can implement a USB_UVC python module to handle the UVC protocol.

If this is done, we can think of OpenMV as a normal USB camera. We can view it on the PC/Raspberry Pi, or call it in matlab, or in Python. OpenMV4 H7 has global shutter sensor, a global shutter UVC camera is also attractive!


Hmm, yeah, this could likely be done with the current USB port. The issue is a lack of hardware support on the ST chip for more than two endpoints. That said, we could make a new python method that turns the camera into a UVC device and drops the flash device on the board to free up an endpoint.

If folks want that feature we’ll do it. It’s quite possible. I’ve seen ST code for doing this type of stuff lying around too.

Actually, the STM32H7 has more endpoint than the F7. This may be possible without dropping any features.

Sounds good.

What I originally meant was to design an expansion board that pulls out the USB ports of the P0 and P1 pins.

But if H7 can directly use the current USB port to achieve UVC, it is also very good.