-
Where did you get the camera module(s)?
Amazon -
Model number of the product(s)?
SKU B0067 -
What hardware/platform were you working on?
XIAO ESP32-C3 -
Instructions you have followed. (link/manual/etc.)
OV2640 Datasheet to check registers -
Problems you were having?
I’m running an ArduCAM Mini 2MP Plus (OV2640) on a XIAO ESP32-C3 with the ArduCAM Arduino library,OV2640_MINI_2MP_PLUSselected inmemorysaver.h, SPI at 8 MHz, standard init (set_format(JPEG)→InitCAM()→OV2640_set_JPEG_size(OV2640_1600x1200)). Capture works fine and I get clean 1600×1200 JPEGs. DSP-bank writes clearly work too:OV2640_set_JPEG_size()changes the output size on every run. What I cannot get to work is anything in the sensor bank. I’m trying to set manual exposure —COM8(0x13) = 0xC0 to drop AEC/AGC, then AEC[15:0] split across0x45[5:0],0x10, and0x04[1:0]per the manual-exposure blog post — and the image does not change at all. -
The dmesg log from your hardware?
-
Troubleshooting attempts you’ve made?
To check whether the writes are landing at all rather than being compensated, I ran two independent controls on a static scene, with a repeat baseline frame at the end to prove nothing moved (max frame-to-frame difference across the whole run was 2.09/255). Setting HFLIP+VFLIP viaREG04= 0xE8 produces no rotation — comparing against the baseline, the un-rotated difference is 1.80 and the 180°-rotated difference is 51.4, so it is definitively not flipping. Enabling the colour bar viaCOM7(0x12) bit 1 produces a normal image, no bars. I’ve tried each of these through individualwrSensorReg8_8()calls, throughwrSensorRegs8_8()tables, and through rawWiretransactions to 0x30 (which ACK every time), plusSS_CTRL(0xF8) pass-through and anMC_BIST(0xF9) one-shot MCU reset beforehand.rdSensorReg8_8()returns 0xFF for everything I read, so I have no firmware-side confirmation and have been using the image as the only ground truth. My question: is the sensor register bank writable at runtime on this module through the ArduCAM path, and if so is there a required sequence I’m missing (bank-select settling time,R_BYPASSbracketing, re-applying the JPEG config afterward)? And is my bank select at 0xFF actually taking — is there a known issue where sensor-bank addressing silently falls through to the DSP bank? -
What help do you need?
Simply, how can I control the shutter speed of the camera? Thanks!