Not able to get image from USB3.0 shield plus (B0317) and AR0134 (B0100)

Hi pghanghas,

Can you provide a hardware connection diagram?
I cannot reproduce this problem at the moment, it may be a cable connection problem.

Thanks for the reply. I am attaching pictures for your reference. There is not much to connect here except the ribbon and there seems to be only one way it will fit.

On both Windows and Linux I plug the usb in USB3 port and it shows serial number when I try sample program. It even says “init successful”. After that frame transfer doesn’t work. I tried commenting out the checks for available frame and basically forcefully read the frame hoping that some check is going wrong but that segfaults.

image1

 

Hi,
I had similar issues it was:

  • broken ribbon cable
  • poor USB extension cable
  • USB cable splitter where another device used it for power in parallel to camera

Try to check HW stuff :slight_smile:

Thanks edul,

Tried all the above but nothing worked.
Inspected the ribbon visually doens’t seem be to damanged. Will try to test with a multimeter after arranging a lens. too fine.
Tried another usb3 cable same result.
this is the only device connected to the USB of recent gen Asus ROG laptop. That shouldn’t be an issue.

Hi pghanghas,

Can you try to use the USBTest program on Windows to read the registers?
E.g:
Write 0x55 to register 0x3012
Then read the value from register 0x3012 to confirm whether the camera can be accessed.

AFAIK register write worked as expected. See the video

https://youtu.be/0623ExO2ODU

Hi @pghanghas ,

Sorry for your bad experience,

It seems that the I2C between the USB3.0 shield and the AR0134 is normal. There are a few things you can try:

  1. If you have other Arducam cameras, you can try it.
  2. Try to use the simulated output configuration file of the USB3.0 Shield to confirm whether there is a problem with the USB3.0 Shield,
    https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/tree/master/Config/USB3.0_UC-593%20Rev.C/sim

Use USBTest to open the camera and click the about button in the toolbar, there are some version information to help us debug.

If the simulated output can work normally, then it is very likely that the camera is damaged, you can contact our sales staff for replacement [email protected]

Hi Wong,

Sorry I was away and didn’t have physical access to the device. Just tested today. Unfortunately the SIM also didn’t work. I tried both cfg files from sim folder. I don’t have any other camera from Arducam. This was the first one.

Please see attached screenshots.about image

Hi @pghanghas ,

sorry for the late reply,
It seems that there is a problem with the USB3.0 Shield, can you use the latest USBTest software to view the about information? The latest software contains information about the USB Shield firmware.

No luck with new version either

Hi @pghanghas ,

It seems that the firmware version of the USB Camera Shield is wrong, can you give me your email address? I will send you the relevant update tool.

@wong

[email protected]

Hi @pghanghas ,

I have sent it to your mailbox by email, please check.

@wong
It is not showing up in CyControl, I have check multiple times. I am following the document. The jumper short is proper I checked that also multiple times. I first short the jumpr than plugin USB into computer.

@wong
It shows up in cycontrol if I don’t short bootloader pins. But then it doesn’t allow programming i2ceeprom.

Hi @pghanghas

Sorry, we have missed a part of the operation, and the latest instruction has been sent to your email.

@wong

Finally the camera worked. But it (AR0134) is not behaving like a global shutter camera. I tried to look at documentation and examples about configuration but there is lot of motion blur for an object that is moving at 5km/h.

Hi @pghanghas

Sorry for your bad experience, and I’m glad to hear that it works.

There is one point to note about the global shutter:
The global shutter cannot solve the motion blur!! (The way to solve the motion blur is to reduce the exposure time)
What the global shutter can avoid is the jello effect.

Related references:
https://upload.wikimedia.org/wikipedia/commons/4/49/Rolling_shutter_SMIL.svg
https://en.wikipedia.org/wiki/Rolling_shutter
https://www.premiumbeat.com/blog/know-the-basics-of-global-shutter-vs-rolling-shutter/

@wong

Thanks for all the the help. I will try experimenting with exposure time, I have full control over lighting, I can increase it if it gets dark. I have a few more questions that can help us a lot.

I tried changing the captured resolution. I don’t need full 1.2M image in most cases. But the python program didn’t like it. It will error out with “USB_CAMERA_DATA_LEN_ERROR”

Is B0134 fast enough to capture 5-10km/h object? The objects are small and will be captured at close distances. I cannot afford blur.

Is there any other color global shutter camera in your catalog that can do the job? Monochrome will not work for me.

And finally most of the products don’t mention anything about long term availability. I am worried by the time I am ready for production of product, the camera might disappear from catalog.

Hi @pghanghas

I tried changing the captured resolution. I don’t need full 1.2M image in most cases. But the python program didn’t like it. It will error out with “USB_CAMERA_DATA_LEN_ERROR”
You can't simply modify the width and height values. To modify the resolution, you need to modify many camera registers.
Is B0134 fast enough to capture 5-10km/h object? The objects are small and will be captured at close distances. I cannot afford blur.
This is the configuration file I updated, I added the control function: https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/blob/master/Config/USB3.0_UC-593%20Rev.C/DVP/AR0134/AR0134_RAW_8b_1280x964.cfg You can use this python code to set the exposure value: https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/blob/39c7b468e5207da6b4a5705c08eb3a9801dccbd2/Linux_x86/Python/Streaming_demo/ArduCam_Py_Demo.py#L88

For a moving speed of 5-10km/s, you can set the exposure to 1000us or less, but you need an additional light source.

ArducamSDK.Py_ArduCam_setCtrl(handle, “setExposureTime”, 1000)