Arducam Camera Shield USB 3.0 and MT9V022 Camera External Trigger Mode

Hi, I’m trying to use the MT9V022 camera (global shutter) with the Arducam Camera Shield USB 3.0 UC-425 Rev.C in the EXTERNAL_TRIGGER_MODE but the ArduCam_setMode function returns a USB_BOARD_FW_VERSION_NOT_SUPPORT_ERROR value.

That is calling the function as follows

Uint32 ret_val = ArduCam_setMode(cameraHandle, EXTERNAL_TRIGGER_MODE);

the ret_val returned is USB_BOARD_FW_VERSION_NOT_SUPPORT.

How can fix this ? Is there a way to upgrade the firmware on my ArduCam USB camera shield.

Thanks!

Are you running the External_trigger_demo?

I’m running the External_trigger_demo under RaspberryPi as I’m testing the camera on a Raspberry Pi with Ubuntu Mate 20.04 32-bit armhf OS.

The Streaming_demo under RaspberryPi works fine but I wanted to use the EXTERNAL_TRIGGER_MODE.

If that function is failing, you might be able to set the sensor mode yourself.

For example (assuming the MT9V022 registers are the same as the MT9V034), you can set the sensor mode to “Snap Shot” by setting register (0x07 - Chip Control, and flip bit 4:3 to 3 (Snapshot mode), by default it is 1 (Master mode).

Then send trigger pulses to the trigger pins to the camera itself (not the USB camera shield trigger pin). I don’t think the trigger pin on the USB shield is the same as the one on the actual camera. (see this)

Btw when you were running the External_trigger_demo, did you run it with sudo?

i.e. sudo ./Arducam_Extern_trigger_demo …/…/…/config/…

I tried running the demo with:

  • MT9V034
  • USB2.0 UC-391 Rev.D shield
  • Ubuntu 18.04

and the example code seemed fine.

Thank you for the suggestions. I am running with sudo. Here is the full command that I use.

sudo ./ArduCam_Ext_Trigger_Demo …/…/…/Config/USB3.0_UC-425_Rev.C+UC-547\ Rev.B/MT9V022/MT9V022_MONO_8b_640x480_64fps.cfg

I also tried this on my Ubuntu 18.04 amd64 desktop and see the same error:

sudo ./ArduCam_Ext_Trigger_Demo ../../../Config/USB3.0_UC-425_Rev.C+UC-547\ Rev.B/MT9V022/MT9V022_MONO_8b_640x480_64fps.cfg device num:1 index: 0 Serial:AU3S-1850-0003 Found 1 devices. Serial: AU3S-1850-0003 Usb board firmware version not support single mode.<code></code>

My MT9V022 camera board says it’s UC-460_Rev.A and my ArduCAM USB3.0 shield is UC-425_Rev.C. I’m wondering if this is the problem but I don’t see a corresponding config file for this combination here: https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/tree/master/Config

Ok, so to confirm, you have:

  • MT9V022 camera
  • USB 3.0 UC-425 Rev C camera breakout shield
  • But what is the Adapter board? Is it the UC-547? or Stereo UC-467?
For more info: link

I have the UC-547 Rev B adapter board. This one here: https://www.arducam.com/product/arducam-parallel-camera-adapter-board-usb3-camera-shield/

You might want to double check this: https://www.arducam.com/docs/camera-breakout-board/0-36mp-mt9v034-mt9v022-global-shutter/software-guide/#external-trigger-mode

Explicitly says “add the line REG=0x07, 0x398 to config files above to enable the external trigger function.”, so it seems you have to manually bit-flip the registers yourself.

See the hardware section to wire the trigger pins appropriately as well.

The Arducam code is a bit barebones but I’m sure if you set the right registers it would work.