Underwater USB cam

Hello everyone! I am building my own ROV but first i would like to train making underwater enclosures making and underwater camera that measures depth. For that, i am using the BlueRobotics pressure sensor and a USB camera.

I plugged the camera to a USB hub and the sensor to an esp32, which is also plugged to the USB hub, and planned to convert the USB hub signal to a CAT6 to then convert into fiber optics. Most of the parts work individually (i am using a USBFHD06H cam), but the main problem is that i cannot convert the camera feed to ethernet with my adaptor. I am using a CJS1037A chip to convert and deconvert from USB to CAT.

If anyone has some recomendation for the adaptor or any hint in the entire project please let me know!

Hi @gfmaximo
Welcome to the forums!

Unfortunately, converting a USB connection to Cat6/fiber optics isn’t likely to be possible… the chip you shared is interesting, but is likely very limited in the bandwidth / maximum tether length it can support. It seems that it is intended for devices like keyboards and printers, and the USB low-light camera can easily make 10-12 Mbit of bandwidth. Additionally, using it for the USB to Serial connection to your esp32 simultaneously could be causing issues? The data sheet seems to indicate some tuning of resistors may be required to get the differential signaling working correctly…

Your best bet is to use a small, single board computer like a Raspberry Pi to stream the connected USB camera video over your Cat6 / fiber optics via standard TCP/IP ethernet - just like the BlueROV2 does (although it does so with the Fathom-X to only need a single twisted pair in your tether. If you install BlueOS on this Pi, you won’t need to develop any software to get things working! This will also let you connect a compatible depth sensor via I2C to the Pi.

Best of luck!

Thank you very much for the quick answer!

That was actually my first idea, but unfortunatelly the size of the raspberry doesnt fit inside the camera. I tried with the pi zero 2 w but it was too slow (i didnt use blueOS as i didnt know BlueRobotics at the time, but i think it is also not supported). The camera is going to be fixed to a divers helmet, so any electronics has to be small, or at least thin.

The conversion to fiber optics is working great, but the converter only accepts CAT cables. I think i will look for another USB to CAT chip and keep trying.

Hi @gfmaximo -
Your solution may take the form of a different camera, like an IP camera that already communicates via TCP/IP! Generally extending USB camera signals is quite a difficult and fraught problem…

A Pi zero should definitely have enough power to stream the video - it doesn’t need to re-encode the stream, just pass it along! A LLM AI asked about methods to do this with gstreamer should be able to help (" Create a gstreamer pipeline to stream /dev/video2 H264 stream at 1080p/ 30fps from USB to VLC media player, without any re-encoding to maximize performance. ")