OV7670 camera trouble (Arduino_OV767X Library)

Hi everyone,

I'm having a bit of trouble using my Arduino Nano 33 BLE with an OV7670 module I recently bought. I'm trying to use the official Arduino library for interfacing with the camera <Arduino_OV767X.h> but I'm not getting the signal I am expecting.

Firstly, the required wiring is confusing, I looked at the official GitHub page for this library at: Arduino_OV767X/CameraCapture.ino at master · arduino-libraries/Arduino_OV767X · GitHub

I also found a tutorial by Arduino to interface with this camera:

They both have different ways which they recommend wiring the cameras while using the same library.

I ended up using the following GitHub wiring scheme because it correlates with the actual library's documentation and examples.

I am running a sketch to check if the initial test pattern is working correctly:

Camera_Test_Patterns.ino (1.3 KB)

The following is my output compared to what the tutorial says I should be getting.

As you can see, the output is completely wrong, which also lines up with the actual images I take which look like jigsaw pieces that are in the wrong order.

Please let me know if I made any obvious mistakes, as I've been struggling with this for a while.

Check the wiring of HREF and VSYNC.

My HREF (Labelled HS on the camera module) on my OV7670 is directly connected to Digital Pin 8 (D8) on my Arduino.

My VSYNC (labelled VS on the camera module) on my OV7670 is directly connected to Analog Pin A1 on my Arduino.

It's worth noting that the camera RST pin is not connected, although I've also connected it to the 3.3V line with no difference. the PWDN pin is also not connected, connecting it to ground also has no effect.

Does the code You didn't post match this?

Hi again,

So the image pattern code is this one:

Camera_Test_Patterns.ino (1.3 KB)

The original send RawBytesData (from the library example files) is this one:

CameraCaptureRawBytes.ino (1.3 KB)

The only difference between the two is that I uncommented the line: Camera.testPattern();

As such, they both list the same pinout at the top of the code. This pinout is included in the examples from the <Arduino_OV767X.h> library. This is why the tutorial confuses me, it goes against what the library pinout is.

Thank you again for helping me through with this problem.

Please help Yourself by reading the first topic telling how to get the best out of this forum, especially how to post code.
My equipment used now doesn't handle. INO files....