Has anyone successfully connected a USB camera directly to the USB-C port while powering the Uno Q via the 5V pin? I also tried two different cameras using a USB adapter with an external power supply, but the camera isn’t detected. I flashed the latest image before testing the camera, so I can’t tell if the issue is with the new firmware. The lsusb command has no outputs and the v4l2-ctl --list-devicescommand shows the following output with/without the camera connected. Qualcomm Venus video encoder (platform:qcom-venus): /dev/video0 /dev/video1
I think there is a P-MOSFET that can switch power to the connected device over the USB-C (in USB HOST mode) when power is provided to the UNO-Q via the 5V or VIN pin.
5V Rail (5V_SYS)
5V_SYS is the board's system 5 V bus. It feeds the two step-down converters, to 3.8 V and 3.3 V via the 3.8 V stage, and provides the path for USB VBUS back-drive when the board works as a host/OTG. A P-channel MOSFET switches that back-drive path. Its enable is gated, so VBUS is not driven unless rails are valid. On headers, it appears as VBUS_USBC, and it is a 5 V bus.
I tested it and the camera gets power but no logs in dmesg or lsusb. By the way I am using a dongle with PD passthrough and it does not work either. https://aliexpress.com/item/1005009797874527.html
I guess USB Host mode switching is not working for some reason.
I have recently done this, I wanted to check out the image classification example.
I ran Photo Booth which recognised my Logitech HD webcam C270. With this I was able to take shots of objects. These then could be draged out of Photo Booth to where ever I wanted them. In my case it was onto the desktop. Then I opened up Preview and cropped the images before saving them.
So how does your suggestion to copy images from a computer to the UNO Q solve the problem? This thread explicitly states that the USB camera is not being detected.
Can you please share the image version you are using?
You can retrieve the numbers with the following command:
cat /etc/buildinfo
Using the latest image, which can be installed with the arduino-flasher-cli tool, the board starts automatically in host mode when powered via VIN with no device connected to the USB-C port.
Please consider that the correct command to retrieve the USB mode is
cat /sys/kernel/debug/usb/4e00000.usb/mode
because /sys/class/typec/port0/data_role always shows the same output.
Good question! I only tested with VIN (12V), but it should work the same way with the 5V pin.
The root cause is the same: when there's no USB-C cable connected at boot, the DWC3 controller defaults to "device" mode - regardless of power source (VIN or 5V pin).
The fix forces host mode via debugfs, so it should work with any power method.
If you try it with 5V pin, let me know if it works!
The 5V pin is not intended to be a power input for the Uno Q: it is only a power output. The Uno Q can be powered only from Vin (7V-24V) or via USB-C Power Delivery. When you power the Uno Q via Vin and then connect a USB-C hub:
You will need to power the USB-C hub independently.
It must be a PD-enabled hub, powered by a PD power adapter.