Need configuration file for Arducam UC-593 Rev.D board and exposure control in Python demo

Hey everyone, I’m hitting a wall with my Arducam setup and hoping someone here has been through this before.

What I have:

  • UC-593 Rev.D board
  • ArducamEvkSDK
  • I can successfully capture images using the Python Demo that comes with the SDK

What I CAN’T do:

  • Set exposure
  • Set gain
  • Read the camera ID

The Python Demo just doesn’t seem to have any functions for these. I’ve poked around the code and tried to add them myself but no luck so far. I’m guessing I might be missing the right configuration file too — could that be part of the problem?

I’ve attached a few pics of my setup and the board. Any pointers on where to find the right config file for this board, and more importantly, how to actually control exposure/gain and read the sensor ID from Python?

Thanks for the details and the photos. I can confirm that’s a UC-593 Rev.D board. Just so you’re aware, the UC-593 Rev.D hasn’t been sold as a standalone board since 2023 — it’s only available as part of the full EK kit these days.

The immediate issue is likely a missing or mismatched configuration file. Your board paired with the camera shield needs the right sensor config loaded before the SDK will initialize everything properly.

Try starting with the IMX477 configuration on Channel A with 2-lane MIPI. Use the UC-593 Rev.C config files since those should be compatible:

Load that config and see if you can at least get consistent image capture working first. If you’re still stuck after that, let us know.

Actually, let me throw another possibility into the mix here — your sensor might not be an IMX477 at all. It could be an IMX219 instead, and loading the wrong sensor config will definitely cause headaches.

Try the IMX219 configuration on Channel A:

One thing to note: if you’re using a non-Arducam (generic/official) IMX219 camera module, compatibility with the Camera Shield Board isn’t guaranteed. You’d need to test that yourself — we haven’t validated third-party IMX219 modules with this shield. Give it a shot and let us know what happens.

Thanks for the config file links. I’ve tried both the IMX477 and IMX219 configuration files now, and I can confirm image capture is working — I’m able to grab frames using the Python Demo.

But here’s the thing: that was never really my main issue. My original problem is that I still can’t:

  1. Set exposure values
  2. Set gain values
  3. Read the camera sensor ID

The ArducamEvkSDK Python Demo just doesn’t expose any of these. I’ve dug through the demo code and tried to hack in calls myself but I’m going in circles. There’s no obvious API surface for these controls in the Python wrapper.

Is there documentation for the underlying SDK functions I can call? Or a more complete Python example somewhere? The demo is basically just capture-and-display. I need actual camera control.

Yeah, I hear your frustration. Here’s the honest situation:

The Python Demo that ships with ArducamEvkSDK is intentionally minimal — it covers basic capture but doesn’t wrap the full set of camera control APIs. The exposure, gain, and sensor ID readback functions exist in the underlying SDK but weren’t exposed in that particular Python demo.

Since the UC-593 Rev.D board was sold as a standalone item (and not part of a full supported kit), we’re limited in how much we can dig into custom Python development for this configuration.

Here’s what I’d suggest as a practical path forward: use the GUI application instead. The GUI tool that comes with the SDK does expose exposure and gain controls through its interface, and it handles sensor enumeration/ID reading internally. That should get you unblocked for actually adjusting those parameters.

If you absolutely need programmatic control from Python, you’d be looking at wrapping the C/C++ SDK functions yourself — the lower-level API does support these features, but you’d need to write your own bindings for the specific calls you need. Unfortunately that’s outside what we can support for standalone board purchases.